Tejun Heo<tj@xxxxxxxxxx> writes:
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 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 READA and SWRITE.
This patch updates 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.
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.
Would someone be so kind as to remind me how this problem manifests
itself? I know I read this recently, but my memory and googling skills
are both failing me. :(