diff options
-rw-r--r-- | fs/buffer.c | 5 | ||||
-rw-r--r-- | include/linux/buffer_head.h | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/fs/buffer.c b/fs/buffer.c index b4dcb34c9635..a15575c0b9ee 100644 --- a/fs/buffer.c +++ b/fs/buffer.c | |||
@@ -2988,6 +2988,11 @@ int submit_bh(int rw, struct buffer_head * bh) | |||
2988 | /* Take care of bh's that straddle the end of the device */ | 2988 | /* Take care of bh's that straddle the end of the device */ |
2989 | guard_bh_eod(rw, bio, bh); | 2989 | guard_bh_eod(rw, bio, bh); |
2990 | 2990 | ||
2991 | if (buffer_meta(bh)) | ||
2992 | rw |= REQ_META; | ||
2993 | if (buffer_prio(bh)) | ||
2994 | rw |= REQ_PRIO; | ||
2995 | |||
2991 | bio_get(bio); | 2996 | bio_get(bio); |
2992 | submit_bio(rw, bio); | 2997 | submit_bio(rw, bio); |
2993 | 2998 | ||
diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h index 5afc4f94d110..33c0f8103fe4 100644 --- a/include/linux/buffer_head.h +++ b/include/linux/buffer_head.h | |||
@@ -34,6 +34,8 @@ enum bh_state_bits { | |||
34 | BH_Write_EIO, /* I/O error on write */ | 34 | BH_Write_EIO, /* I/O error on write */ |
35 | BH_Unwritten, /* Buffer is allocated on disk but not written */ | 35 | BH_Unwritten, /* Buffer is allocated on disk but not written */ |
36 | BH_Quiet, /* Buffer Error Prinks to be quiet */ | 36 | BH_Quiet, /* Buffer Error Prinks to be quiet */ |
37 | BH_Meta, /* Buffer contains metadata */ | ||
38 | BH_Prio, /* Buffer should be submitted with REQ_PRIO */ | ||
37 | 39 | ||
38 | BH_PrivateStart,/* not a state bit, but the first bit available | 40 | BH_PrivateStart,/* not a state bit, but the first bit available |
39 | * for private allocation by other entities | 41 | * for private allocation by other entities |
@@ -124,6 +126,8 @@ BUFFER_FNS(Delay, delay) | |||
124 | BUFFER_FNS(Boundary, boundary) | 126 | BUFFER_FNS(Boundary, boundary) |
125 | BUFFER_FNS(Write_EIO, write_io_error) | 127 | BUFFER_FNS(Write_EIO, write_io_error) |
126 | BUFFER_FNS(Unwritten, unwritten) | 128 | BUFFER_FNS(Unwritten, unwritten) |
129 | BUFFER_FNS(Meta, meta) | ||
130 | BUFFER_FNS(Prio, prio) | ||
127 | 131 | ||
128 | #define bh_offset(bh) ((unsigned long)(bh)->b_data & ~PAGE_MASK) | 132 | #define bh_offset(bh) ((unsigned long)(bh)->b_data & ~PAGE_MASK) |
129 | 133 | ||