From: Tejun Heo <tj@kernel.org>
To: Jens Axboe <axboe@kernel.dk>
Cc: stable@kernel.org, Vladislav Bolkhovitin <vst@vlnb.net>,
Bryan Mesich <bryan.mesich@ndsu.edu>,
scst-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org,
linux-raid@vger.kernel.org, dm-devel@redhat.com,
Neil Brown <neilb@suse.de>
Subject: [PATCH 1/2 block#for-2.6.36] bio, fs: update RWA_MASK, READA and SWRITE to match the corresponding BIO_RW_* bits
Date: Tue, 03 Aug 2010 11:53:38 +0200 [thread overview]
Message-ID: <4C57E722.5060809@kernel.org> (raw)
In-Reply-To: <4C5724E8.9010204@kernel.dk>
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: Jens Axobe <axboe@kernel.dk>
Cc: stable@kernel.org
---
Here's the regenerated version also w/ the missing RWA_MASK conversion
Neil spotted.
Thanks.
include/linux/fs.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Index: work/include/linux/fs.h
===================================================================
--- work.orig/include/linux/fs.h
+++ work/include/linux/fs.h
@@ -145,12 +145,12 @@ struct inodes_stat_t {
*
*/
#define RW_MASK 1
-#define RWA_MASK 2
+#define RWA_MASK 16
#define READ 0
#define WRITE 1
-#define READA 2 /* readahead - don't block if no resources */
-#define SWRITE 3 /* for ll_rw_block() - wait for buffer lock */
+#define READA 16 /* readahead - don't block if no resources */
+#define SWRITE 17 /* for ll_rw_block(), wait for buffer lock */
#define READ_SYNC (READ | REQ_SYNC | REQ_UNPLUG)
#define READ_META (READ | REQ_META)
next prev parent reply other threads:[~2010-08-03 9:53 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20100628010346.GA2376@atlantis.cc.ndsu.nodak.edu>
[not found] ` <4C28EFD6.2070203@vlnb.net>
[not found] ` <20100714190325.GA25148@atlantis.cc.ndsu.nodak.edu>
[not found] ` <4C3EF3AD.5070509@vlnb.net>
[not found] ` <20100723191844.GB31152@atlantis.cc.ndsu.nodak.edu>
[not found] ` <4C4D7DF5.9060909@vlnb.net>
[not found] ` <20100727220110.GF31152@atlantis.cc.ndsu.nodak.edu>
2010-07-28 18:16 ` RAID/block regression starting from 2.6.32, bisected Vladislav Bolkhovitin
2010-07-30 10:29 ` Tejun Heo
2010-08-02 0:42 ` Neil Brown
2010-08-02 14:12 ` [PATCH 1/2 block#for-linus] bio, fs: update READA and SWRITE to match the corresponding BIO_RW_* bits Tejun Heo
2010-08-02 14:13 ` [PATCH 2/2 block#for-linus] bio, fs: separate out bio_types.h and define READ/WRITE constants in terms of BIO_RW_* flags Tejun Heo
2010-08-02 14:15 ` [PATCH RESEND " Tejun Heo
2010-08-02 14:18 ` Tejun Heo
2010-08-02 14:15 ` [PATCH RESEND 1/2 block#for-linus] bio, fs: update READA and SWRITE to match the corresponding BIO_RW_* bits Tejun Heo
2010-08-02 21:52 ` Neil Brown
2010-08-03 9:27 ` Tejun Heo
2010-08-05 18:45 ` Jeff Moyer
2010-08-05 18:57 ` Vladislav Bolkhovitin
2010-08-05 19:30 ` Jeff Moyer
2010-08-06 4:04 ` Tao Ma
2010-08-06 6:29 ` Tejun Heo
2010-08-19 8:38 ` [dm-devel] " Christoph Hellwig
2010-08-02 14:17 ` Tejun Heo
2010-08-02 20:04 ` Jens Axboe
2010-08-03 9:53 ` Tejun Heo [this message]
2010-08-03 11:15 ` [PATCH 1/2 block#for-2.6.36] bio, fs: update RWA_MASK, " Jens Axboe
2010-08-03 11:21 ` Jens Axboe
2010-08-03 11:21 ` Jens Axboe
2010-08-03 15:52 ` Tejun Heo
2010-08-03 16:02 ` [PATCH] coda: rename REQ_* to CODA_REQ_* Tejun Heo
2010-08-03 16:11 ` Jan Harkes
2010-08-03 17:31 ` Jens Axboe
2010-08-03 9:54 ` [PATCH 2/2 block#for-2.6.36] bio, fs: separate out bio_types.h and define READ/WRITE constants in terms of BIO_RW_* flags Tejun Heo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C57E722.5060809@kernel.org \
--to=tj@kernel.org \
--cc=axboe@kernel.dk \
--cc=bryan.mesich@ndsu.edu \
--cc=dm-devel@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=neilb@suse.de \
--cc=scst-devel@lists.sourceforge.net \
--cc=stable@kernel.org \
--cc=vst@vlnb.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.