Short reads are possible with cache=writeback (see Patch 3 for details). Handle this by resubmitting requests until the read is completed.
Patch 1 adds trace events useful for debugging io_uring. Patch 2 fixes EINTR. This lays the groundwork for resubmitting requests in Patch 3. Aarushi: Feel free to squash this into your patch series if you are happy with the code, I don't mind if the authorship information is lost. After applying these patches I can successfully boot a Fedora 30 guest qcow2 file with cache=writeback. Based-on: <20190610134905.22294-1-mehta.aar...@gmail.com> Stefan Hajnoczi (3): block/io_uring: add submission and completion trace events block/io_uring: fix EINTR request resubmission block/io_uring: resubmit short buffered reads block/io_uring.c | 136 ++++++++++++++++++++++++++++++++++----------- block/trace-events | 6 +- 2 files changed, 108 insertions(+), 34 deletions(-) -- 2.21.0