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

From: Jeff Garzik
Date: Thu Jul 09 2009 - 13:21:44 EST


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 :/

Jeff




--
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/