Re: [PATCH 1/2] iov: introduce ITER_BVEC_FLAG_FIXED

From: Matthew Wilcox
Date: Wed Dec 09 2020 - 13:26:10 EST


On Wed, Dec 09, 2020 at 05:55:53PM +0000, Christoph Hellwig wrote:
> On Wed, Dec 09, 2020 at 01:37:05PM +0000, Pavel Begunkov wrote:
> > 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.
>
> What about: "For bvec based iters the bvec must not be freed until the
> I/O has completed. For asynchronous I/O that means it must be freed
> no earlier than from ->ki_complete."

Perhaps for the second sentence "If the I/O is completed asynchronously,
the bvec must not be freed before ->ki_complete() has been called"?