]> git.karo-electronics.de Git - karo-tx-linux.git/commit
bio, fs: update RWA_MASK, READA and SWRITE to match the corresponding BIO_RW_* bits
authorTejun Heo <tj@kernel.org>
Tue, 3 Aug 2010 11:14:33 +0000 (13:14 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 13 Aug 2010 20:19:38 +0000 (13:19 -0700)
commit146985cf78cb265f4bb9047c06ec825a6d5786c8
tree8c8fb7dc628dc42a966f515018cdc680316bdd73
parent160ce4e7efd0dc93e52bac453f6cddd485190b92
bio, fs: update RWA_MASK, READA and SWRITE to match the corresponding BIO_RW_* bits

commit aca27ba9618276dd2f777bcd5a1419589ccf1ca8 upstream.

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>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
include/linux/fs.h