Re: [PATCH 1/2] iov: introduce ITER_BVEC_FLAG_FIXED
From: Christoph Hellwig <hch@infradead.org>
Date: 2020-12-09 08:37:44
Also in:
io-uring, linux-fsdevel, lkml
From: Christoph Hellwig <hch@infradead.org>
Date: 2020-12-09 08:37:44
Also in:
io-uring, linux-fsdevel, lkml
Ok, seems like the patches made it to the lists, while oyu only send the cover letter to my address which is very strange.
diff --git a/include/linux/uio.h b/include/linux/uio.h index 72d88566694e..af626eb970cf 100644 --- a/include/linux/uio.h +++ b/include/linux/uio.h@@ -18,6 +18,8 @@ struct kvec { }; enum iter_type { + ITER_BVEC_FLAG_FIXED = 2, + /* iter types */ ITER_IOVEC = 4, ITER_KVEC = 8,
This is making the iter type even more of a mess than it already is. I think we at least need placeholders for 0/1 here and an explicit flags namespace, preferably after the types. Then again I'd much prefer if we didn't even add the flag or at best just add it for a short-term transition and move everyone over to the new scheme. Otherwise the amount of different interfaces and supporting code keeps exploding.
@@ -29,8 +31,9 @@ enum iter_type { struct iov_iter { /* * Bit 0 is the read/write bit, set if we're writing. - * Bit 1 is the BVEC_FLAG_NO_REF bit, set if type is a bvec and - * the caller isn't expecting to drop a page reference when done. + * Bit 1 is the BVEC_FLAG_FIXED bit, set if type is a bvec and the + * caller ensures that page references and memory baking bvec won't + * go away until callees finish with them. */ unsigned int type;
I think the comment needs to move to the enum.