summaryrefslogtreecommitdiff
path: root/fs/io-wq.c
diff options
context:
space:
mode:
authorMing Lei <ming.lei@redhat.com>2021-08-21 18:07:51 +0300
committerJens Axboe <axboe@kernel.dk>2021-08-31 20:45:30 +0300
commit7db304375e11741e5940f9bc549155035bfb4dc1 (patch)
tree825d4a7a4c170901a07bb8715c5b875ab32547c5 /fs/io-wq.c
parent7b3188e7ed54102a5dcc73d07727f41fb528f7c8 (diff)
downloadlinux-7db304375e11741e5940f9bc549155035bfb4dc1.tar.xz
io_uring: retry in case of short read on block device
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@gmail.com> Signed-off-by: Ming Lei <ming.lei@redhat.com> Reviewed-by: Pavel Begunkov <asml.silence@gmail.com> Link: https://lore.kernel.org/r/20210821150751.1290434-1-ming.lei@redhat.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'fs/io-wq.c')
0 files changed, 0 insertions, 0 deletions