 have
to know about.  So this logic needs to be in common code, preferably
triggered by a fs flag.  Note that this isn't about holes - it is about
allocating blocks.  For most file systems filling holes or extending
past i_size is what requires allocating blocks.  But for a out of place
write file systems like btrfs, or zoned xfs we always need to allocate
blocks for now.  But I have work that I need to finish off that allows
for non-blocking block allocation in zoned XFS, at which point you
don't need this.  I think some of this might be true for network file
systems already.
See above.
It actually isn't :( I need to move it to be a bit more dynamic on a
per-file basis.
Yes, that's why you want a flag to indicate that a file, or maybe file
operations instance can do non-blocking fill of blocks.  But that's
for the future, for now I just want your logic lifted to common code
and shared with io_uring so that we don't have weird hardcoded
assumptions about file system behavior inside the loop driver.
It's really about all IOCB_NOWAIT users, io_uring being the prime one,
and the one that we can actually easily write tests for.[PATCH V4 6/6] loop: add hint for handling aio via IOCB_NOWAITChristoph Hellwig <hch@infradead.org> undefinedMing Lei <ming.lei@redhat.com> undefined undefined undefined undefined undefined undefined undefined undefined]