On 6/30/23 10:00?AM, David Howells wrote:
Jens Axboe [off-list ref] wrote:
quoted
One concern here is that we're using IOCB_WRITE here to tell if
sb_start_write() has been done or not, and hence whether
kiocb_end_write() needs to be called. You know set it earlier, which
means if we get a failure if we need to setup async data, then we know
have IOCB_WRITE set at that point even though we did not call
sb_start_write().
Hmmm... It's set earlier in a number of places anyway -
__cachefiles_write() for example.
Not sure how that's relevant, that's a private kiocb and not related to
the private one that io_uring uses?
Btw, can you please put some comments on the IOCB_* constants? I have
to guess at what they mean and how they're meant to be used. Or
better still, get Christoph to write Documentation/core-api/iocb.rst
describing the API? ;-)
The ones I have added do have comments, mostly, though it's not a lot of
commentary for sure... Which ones are confusing and need better
comments? Would be happy to do that. I do think the comments belong in
there rather than have a separate doc for the kiocb. Though one thing
that's confusing is the ki_private ownership. You'd think it belongs to
the owner of the kiocb, but nope, it has random uses in iomap and ocfs2
at least.
--
Jens Axboe