qemu-e2k/block
Stefan Hajnoczi be6a166fde block/io_uring: clarify that short reads can happen
Jens Axboe has confirmed that short reads are rare but can happen:
https://lore.kernel.org/io-uring/YsU%2FCGkl9ZXUI+Tj@stefanha-x1.localdomain/T/#m729963dc577d709b709c191922e98ec79d7eef54

The luring_resubmit_short_read() comment claimed they were only due to a
specific io_uring bug that was fixed in Linux commit 9d93a3f5a0c
("io_uring: punt short reads to async context"), which is wrong.
Dominique Martinet found that a btrfs bug also causes short reads. There
may be more kernel code paths that result in short reads.

Let's consider short reads fair game.

Cc: Dominique Martinet <dominique.martinet@atmark-techno.com>
Based-on: <20220630010137.2518851-1-dominique.martinet@atmark-techno.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Message-id: 20220706080341.1206476-1-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2022-07-07 09:04:15 +01:00
..
export vduse-blk: Add name option 2022-06-24 17:07:06 +02:00
monitor block: improve block_dirty_bitmap_merge(): don't allocate extra bitmap 2022-06-24 17:07:06 +02:00
accounting.c
aio_task.c
amend.c
backup.c block: simplify handling of try to merge different sized bitmaps 2022-06-24 17:07:06 +02:00
blkdebug.c
blklogwrites.c
blkreplay.c
blkverify.c
block-backend.c block: Support passing NULL ops to blk_set_dev_ops() 2022-06-24 17:07:06 +02:00
block-copy.c block/block-copy: block_copy(): add timeout_ns parameter 2022-06-29 10:56:12 +03:00
block-gen.h
bochs.c
cloop.c
commit.c
copy-before-write.c block/copy-before-write: implement cbw-timeout option 2022-06-29 10:56:12 +03:00
copy-before-write.h
copy-on-read.c
copy-on-read.h Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
coroutines.h Clean up header guards that don't match their file name 2022-05-11 16:49:06 +02:00
create.c
crypto.c
crypto.h
curl.c
dirty-bitmap.c block: simplify handling of try to merge different sized bitmaps 2022-06-24 17:07:06 +02:00
dmg-bz2.c
dmg-lzfse.c
dmg.c
dmg.h
file-posix.c block: move fcntl_setfl() 2022-05-03 15:17:53 +04:00
file-win32.c
filter-compress.c
gluster.c block/gluster: correctly set max_pdiscard 2022-06-24 17:07:06 +02:00
io.c block: drop unused bdrv_co_drain() API 2022-06-24 17:07:06 +02:00
io_uring.c block/io_uring: clarify that short reads can happen 2022-07-07 09:04:15 +01:00
iscsi-opts.c
iscsi.c
linux-aio.c linux-aio: explain why max batch is checked in laio_io_unplug() 2022-06-15 16:43:42 +01:00
meson.build
mirror.c block: use 'unsigned' for in_flight field on driver state 2022-06-29 10:57:02 +03:00
nbd.c block: use 'unsigned' for in_flight field on driver state 2022-06-29 10:57:02 +03:00
nfs.c
null.c
nvme.c
parallels-ext.c
parallels.c
parallels.h
preallocate.c
progress_meter.c
qapi-sysemu.c block: add 'force' parameter to 'blockdev-change-medium' command 2022-04-25 12:02:36 +02:00
qapi.c
qcow.c
qcow2-bitmap.c
qcow2-cache.c
qcow2-cluster.c
qcow2-refcount.c qcow2: Add errp to rebuild_refcount_structure() 2022-04-20 12:09:17 +02:00
qcow2-snapshot.c
qcow2-threads.c
qcow2.c qcow2: Do not reopen data_file in invalidate_cache 2022-05-04 15:55:23 +02:00
qcow2.h
qed-check.c
qed-cluster.c
qed-l2-cache.c
qed-table.c
qed.c
qed.h
quorum.c
raw-format.c
rbd.c block/rbd: report a better error when namespace does not exist 2022-06-24 17:07:06 +02:00
replication.c
reqlist.c
snapshot-access.c
snapshot.c
ssh.c
stream.c
throttle-groups.c
throttle.c
trace-events nbd: trace long NBD operations 2022-06-29 10:57:02 +03:00
trace.h
vdi.c
vhdx-endian.c
vhdx-log.c
vhdx.c
vhdx.h
vmdk.c block/vmdk: Fix reopening bs->file 2022-05-04 15:55:23 +02:00
vpc.c
vvfat.c
win32-aio.c
write-threshold.c