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."