On 8/21/21 9:07 AM, 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. Applied, thanks Ming. -- Jens Axboe