On 23.03.26 17:28, Kevin Wolf wrote:
> Am 18.03.2026 um 16:32 hat Hanna Czenczek geschrieben:
>> Hi,
>>
>> Short reads and writes can happen. One way to reproduce them is via
>> FUSE export, if you force it to limit the request length in the
>> read/write path (patch in the commit messages of patches 2 and 3), but
>> specifically short writes apparently can also happen with NFS.
>>
>> For the file-posix block driver, aio=threads already takes care of them.
>> aio=native does not, at all, and aio=io_uring only handles short reads,
>> but not writes. This series has both aio=native and aio=io_uring handle
>> both short reads and writes. zone-append is not touched, as I don’t
>> believe resubmitting the tail (if a short append can even happen) is
>> safe.
> Originally, I think you had intended to loop in coroutine code. Now it
> looks like you decided to resubmit already on the lower level directly
> when processing completions. Obviously, both approaches work, but I'm
> curious what are the reasons that made you pick this approach after all.
io-uring did it this way, so I thought for a series for the freeze
period, it would be safest to just copy what it does.
Hanna