On 09/12/2020 13:07, Al Viro wrote: > On Wed, Dec 09, 2020 at 08:36:45AM +0000, Christoph Hellwig wrote: >> >> 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. > > Yes. The only problem I see is how to describe the rules - "bdev-backed > iterators need the bvec array to stay allocated until IO completes"? > And one way or another, that needs to be documented - D/f/porting with > "mandatory" for priority. Yeah, I had troubles to put comments around, and it's still open. For current cases it can be bound to kiocb, e.g. "if an bvec iter passed "together" with kiocb then the vector should stay intact up to ->ki_complete()". But that "together" is rather full of holes. -- Pavel Begunkov