aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2010-08-03 07:14:33 -0400
committerJens Axboe <jaxboe@fusionio.com>2010-08-07 12:53:07 -0400
commitaca27ba9618276dd2f777bcd5a1419589ccf1ca8 (patch)
tree9ef27a70973a96a30c17d31ac0be643ce531cb66 /include
parentedca4a380584a65a16839bdee33ec82244f0f88e (diff)
bio, fs: update RWA_MASK, READA and SWRITE to match the corresponding BIO_RW_* bits
Commit a82afdf (block: use the same failfast bits for bio and request) moved BIO_RW_* bits around such that they match up with REQ_* bits. Unfortunately, fs.h hard coded RW_MASK, RWA_MASK, READ, WRITE, READA and SWRITE as 0, 1, 2 and 3, and expected them to match with BIO_RW_* bits. READ/WRITE didn't change but BIO_RW_AHEAD was moved to bit 4 instead of bit 1, breaking RWA_MASK, READA and SWRITE. This patch updates RWA_MASK, READA and SWRITE such that they match the BIO_RW_* bits again. A follow up patch will update the definitions to directly use BIO_RW_* bits so that this kind of breakage won't happen again. Neil also spotted missing RWA_MASK conversion. Stable: The offending commit a82afdf was released with v2.6.32, so this patch should be applied to all kernels since then but it must _NOT_ be applied to kernels earlier than that. Signed-off-by: Tejun Heo <tj@kernel.org> Reported-and-bisected-by: Vladislav Bolkhovitin <vst@vlnb.net> Root-caused-by: Neil Brown <neilb@suse.de> Cc: stable@kernel.org Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/fs.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index c5c92943c767..55dad7bca25b 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -145,12 +145,12 @@ struct inodes_stat_t {
145 * 145 *
146 */ 146 */
147#define RW_MASK 1 147#define RW_MASK 1
148#define RWA_MASK 2 148#define RWA_MASK 16
149 149
150#define READ 0 150#define READ 0
151#define WRITE 1 151#define WRITE 1
152#define READA 2 /* readahead - don't block if no resources */ 152#define READA 16 /* readahead - don't block if no resources */
153#define SWRITE 3 /* for ll_rw_block() - wait for buffer lock */ 153#define SWRITE 17 /* for ll_rw_block(), wait for buffer lock */
154 154
155#define READ_SYNC (READ | REQ_SYNC | REQ_UNPLUG) 155#define READ_SYNC (READ | REQ_SYNC | REQ_UNPLUG)
156#define READ_META (READ | REQ_META) 156#define READ_META (READ | REQ_META)