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
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
crypto.h
curl.c
dirty-bitmap.c
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.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
qapi.c block: Guard against NULL bs->drv 2017-11-17 18:21:31 +01:00
qcow.c
qcow2-bitmap.c
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
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
trace-events
vdi.c
vhdx-endian.c
vhdx-log.c
vhdx.c
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