On Sat, Aug 21, 2021 at 11:07:51PM +0800, Ming Lei wrote: > In case of buffered reading from block device, when short read happens, > we should retry to read more, otherwise the IO will be completed > partially, for example, the following fio expects to read 2MB, but it > can only read 1M or less bytes: > > fio --name=onessd --filename=/dev/nvme0n1 --filesize=2M \ > --rw=randread --bs=2M --direct=0 --overwrite=0 --numjobs=1 \ > --iodepth=1 --time_based=0 --runtime=2 --ioengine=io_uring \ > --registerfiles --fixedbufs --gtod_reduce=1 --group_reporting > > Fix the issue by allowing short read retry for block device, which sets > FMODE_BUF_RASYNC really. > > Fixes: 9a173346bd9e ("io_uring: fix short read retries for non-reg files") > Cc: Pavel Begunkov <asml.silence@xxxxxxxxx> > Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> Hello Jens and Pavel, Any comments on this fix? Thanks, Ming