On 09/12/2020 18:24, Matthew Wilcox wrote:
On Wed, Dec 09, 2020 at 05:55:53PM +0000, Christoph Hellwig wrote:
quoted
On Wed, Dec 09, 2020 at 01:37:05PM +0000, Pavel Begunkov wrote:
quoted
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"?
Sounds good, I'll use it. Thanks!
--
Pavel Begunkov