qemu-irix/block
Kevin Wolf 2b0c34cf61 block: Call .drain_begin only once in bdrv_drain_all_begin()
bdrv_drain_all_begin() used to call the .bdrv_co_drain_begin() driver
callback inside its polling loop. This means that how many times it got
called for each node depended on long it had to poll the event loop.

This is obviously not right and results in nodes that stay drained even
after bdrv_drain_all_end(), which calls .bdrv_co_drain_begin() once per
node.

Fix bdrv_drain_all_begin() to call the callback only once, too.

Cc: qemu-stable@nongnu.org
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit 2da9b7d456)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2018-01-09 10:49:13 -06:00
..
Makefile.objs
accounting.c
backup.c blockjob: remove clock argument from block_job_sleep_ns 2017-11-29 15:11:02 +01:00
blkdebug.c block: Align block status requests 2017-10-26 14:45:57 +02:00
blkreplay.c
blkverify.c
block-backend.c block: Don't request I/O permission with BDRV_O_NO_IO 2017-11-21 14:48:22 +01:00
bochs.c block: Deprecate bdrv_set_read_only() and users 2017-11-17 13:35:59 +01:00
cloop.c block: Deprecate bdrv_set_read_only() and users 2017-11-17 13:35:59 +01:00
commit.c blockjob: remove clock argument from block_job_sleep_ns 2017-11-29 15:11:02 +01:00
crypto.c block: support passthrough of BDRV_REQ_FUA in crypto driver 2017-10-06 16:30:47 +02:00
crypto.h
curl.c
dirty-bitmap.c dirty-bitmap: Convert internal hbitmap size/granularity 2017-10-06 16:28:58 +02:00
dmg-bz2.c
dmg.c block: Deprecate bdrv_set_read_only() and users 2017-11-17 13:35:59 +01:00
dmg.h
file-posix.c
file-win32.c
gluster.c
io.c block: Call .drain_begin only once in bdrv_drain_all_begin() 2018-01-09 10:49:13 -06:00
iscsi-opts.c
iscsi.c block/iscsi: dont leave allocmap in an invalid state on UNMAP failure 2018-01-08 07:40:25 -06:00
linux-aio.c
mirror.c blockjob: remove clock argument from block_job_sleep_ns 2017-11-29 15:11:02 +01:00
nbd-client.c nbd: Don't crash when server reports NBD_CMD_READ failure 2017-11-17 08:02:45 -06:00
nbd-client.h nbd: Minimal structured read for client 2017-10-30 21:48:41 +01:00
nbd.c block/nbd: fix segmentation fault when .desc is not null-terminated 2018-01-09 10:41:11 -06:00
nfs.c block/nfs: fix nfs_client_open for filesize greater than 1TB 2017-11-29 15:28:15 +01:00
null.c
parallels.c block/parallels: add migration blocker 2017-11-14 18:06:26 +01:00
qapi.c block: Guard against NULL bs->drv 2017-11-17 18:21:31 +01:00
qcow.c block: convert qcrypto_block_encrypt|decrypt to take bytes offset 2017-10-06 16:30:47 +02:00
qcow2-bitmap.c qcow2: Switch store_bitmap_data() to byte-based iteration 2017-10-06 16:28:58 +02:00
qcow2-cache.c qcow2: Fix overly broad madvise() 2017-11-17 18:21:31 +01:00
qcow2-cluster.c qcow2: Unaligned zero cluster in handle_alloc() 2017-11-17 18:21:30 +01:00
qcow2-refcount.c qcow2: Add bounds check to get_refblock_offset() 2017-11-17 18:21:31 +01:00
qcow2-snapshot.c
qcow2.c qcow2: check_errors are fatal 2017-11-17 18:21:30 +01:00
qcow2.h qcow2: Add bounds check to get_refblock_offset() 2017-11-17 18:21:31 +01:00
qed-check.c
qed-cluster.c
qed-l2-cache.c
qed-table.c
qed.c block: rename bdrv_co_drain to bdrv_co_drain_begin 2017-10-13 12:38:41 +01:00
qed.h
quorum.c
raw-format.c
rbd.c block: Deprecate bdrv_set_read_only() and users 2017-11-17 13:35:59 +01:00
replication.c block: Guard against NULL bs->drv 2017-11-17 18:21:31 +01:00
sheepdog.c
snapshot.c block: Error out on load_vm with active dirty bitmaps 2017-11-21 14:48:23 +01:00
ssh.c
stream.c blockjob: remove clock argument from block_job_sleep_ns 2017-11-29 15:11:02 +01:00
throttle-groups.c throttle-groups: forget timer and schedule next TGM on detach 2017-11-16 14:12:57 +00:00
throttle.c block/throttle.c: add bdrv_co_drain_begin/end callbacks 2017-10-13 12:38:41 +01:00
trace-events block: Make bdrv_round_to_clusters() signature more useful 2017-10-26 14:45:57 +02:00
vdi.c
vhdx-endian.c
vhdx-log.c
vhdx.c block/vhdx.c: Don't blindly update the header 2017-11-14 18:06:25 +01:00
vhdx.h
vmdk.c
vpc.c
vvfat.c block: Guard against NULL bs->drv 2017-11-17 18:21:31 +01:00
vxhs.c
win32-aio.c
write-threshold.c