On Wed, Aug 22, 2012 at 11:00:38PM +0300, Adrian Bunk wrote:
On Wed, Aug 22, 2012 at 12:22:41PM -0700, Kent Overstreet wrote:
quoted
On Wed, Aug 22, 2012 at 08:43:52PM +0300, Adrian Bunk wrote:
quoted
On Wed, Aug 22, 2012 at 10:04:05AM -0700, Kent Overstreet wrote:
quoted
...
--- a/include/linux/blk_types.h
+++ b/include/linux/blk_types.h
@@ -117,6 +117,7 @@ struct bio {
* BIO_POOL_IDX()
*/
#define BIO_RESET_BITS 12
+#define BIO_OWNS_VEC 12 /* bio_free() should free bvec */...
This doesn't look right.
Well, the first 12 bits are reset, so bit 12 will get preserved... I
guess it's unusual to have a duplicated enum value like that but
BIO_RESET_BITS is just a marker, not a real bit.
Wouldn't a BIO_RESET_MASK be better than BIO_RESET_BITS?
Ehh... Might be good to have BIO_RESET_MASK too, but we really want
BIO_RESET_BITS with the flags as that makes it explicit which flags get
cleared and which don't. At first I was going to add BIO_RESET_MASK too,
but it just seemed to get ugly and verbose and didn't fit nicely
anywhere, so I'm dithering and not doing anything with it for now.