From: Jens Axboe on
On 2010-08-03 11:53, Tejun Heo wrote:
> 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(a)kernel.org>
> Reported-and-bisected-by: Vladislav Bolkhovitin <vst(a)vlnb.net>
> Root-caused-by: Neil Brown <neilb(a)suse.de>
> Cc: Jens Axobe <axboe(a)kernel.dk>
^^^^^

(Too) common typo :-)

Anyway, applied to for-2.6.36, thanks a lot.

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Jens Axboe on
On 2010-08-03 13:15, Jens Axboe wrote:
> On 2010-08-03 11:53, Tejun Heo wrote:
>> 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(a)kernel.org>
>> Reported-and-bisected-by: Vladislav Bolkhovitin <vst(a)vlnb.net>
>> Root-caused-by: Neil Brown <neilb(a)suse.de>
>> Cc: Jens Axobe <axboe(a)kernel.dk>
> ^^^^^
>
> (Too) common typo :-)
>
> Anyway, applied to for-2.6.36, thanks a lot.

Irk, we have an issue:

In file included from fs/coda/psdev.c:48:
include/linux/coda_psdev.h:91:1: warning: "REQ_WRITE" redefined
In file included from include/linux/fs.h:11,
from include/linux/proc_fs.h:5,
from fs/coda/psdev.c:31:
include/linux/blk_types.h:154:1: warning: this is the location of the previous definition

And from include/linux/coda_psdev.h:

#define REQ_ASYNC 0x1
#define REQ_READ 0x2
#define REQ_WRITE 0x4
#define REQ_ABORT 0x8

which unfortunately seem to not be under __KERNEL__ protection, but
there are things like wait_queue_head_t structs there as well so should
be safe to change.

--
Jens Axboe


Confidentiality Notice: This e-mail message, its contents and any attachments to it are confidential to the intended recipient, and may contain information that is privileged and/or exempt from disclosure under applicable law. If you are not the intended recipient, please immediately notify the sender and destroy the original e-mail message and any attachments (and any copies that may have been made) from your system or otherwise. Any unauthorized use, copying, disclosure or distribution of this information is strictly prohibited.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Tejun Heo on
(cc'ing CODA people)
Hello,

On 08/03/2010 01:21 PM, Jens Axboe wrote:
>>> Signed-off-by: Tejun Heo <tj(a)kernel.org>
>>> Reported-and-bisected-by: Vladislav Bolkhovitin <vst(a)vlnb.net>
>>> Root-caused-by: Neil Brown <neilb(a)suse.de>
>>> Cc: Jens Axobe <axboe(a)kernel.dk>
>> ^^^^^
>>
>> (Too) common typo :-)
>>
>> Anyway, applied to for-2.6.36, thanks a lot.

Oops, I'm sorry. Heh, it reminds me of misspelling Linus's last name
as Tolvards in a number of patches. :-)

> Irk, we have an issue:
>
> In file included from fs/coda/psdev.c:48:
> include/linux/coda_psdev.h:91:1: warning: "REQ_WRITE" redefined
> In file included from include/linux/fs.h:11,
> from include/linux/proc_fs.h:5,
> from fs/coda/psdev.c:31:
> include/linux/blk_types.h:154:1: warning: this is the location of the previous definition
>
> And from include/linux/coda_psdev.h:
>
> #define REQ_ASYNC 0x1
> #define REQ_READ 0x2
> #define REQ_WRITE 0x4
> #define REQ_ABORT 0x8
>
> which unfortunately seem to not be under __KERNEL__ protection, but
> there are things like wait_queue_head_t structs there as well so should
> be safe to change.

Yeah, I hate it when symbols in non-core code doesn't have proper
prefix. Prefixing CODA_ in front of those macros should do it. Jan
Harkes, would that work for CODA?

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/