Re: [PATCH 2/4] block: use the same failfast bits for bio andrequest

From: Jens Axboe
Date: Thu Jul 09 2009 - 13:39:18 EST


On Thu, Jul 09 2009, Jeff Garzik wrote:
> Christoph Hellwig wrote:
>> On Thu, Jul 09, 2009 at 09:45:24AM +0900, Tejun Heo wrote:
>>> What's more disturbing to me is the different between RQ and BIO
>>> flags. __REQ_* are bit positions, REQ_* are masks while BIO_* are bit
>>> positions. Sadly it seems it's already too late to change that. I
>>> personally an not a big fan of simple accessors or flags defined as
>>> bit positions. They seem to obscure things without much benefit.
>>
>> flags as bit positions generally only make sense if you use
>> test/set/clear_bit, otherwise they just confuse things. And the
>> accessors are pretty annoying, especially in the block layer. Trying to
>> find the places where a BIO flag has an actual effect is pretty painful
>> due to the mix of the different flags and the accessors.
>
> Indeed -- the accessors mean in practice that you always have at least
> _two_ things to grep for, just to catch all accesses. Block layer is
> pretty bad about that style of usage :/

Yeah, I'm not too fond of it either, it does add to the confusion. I'll
sanitize it.

--
Jens Axboe

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