summaryrefslogtreecommitdiff
path: root/block/backup.c
diff options
context:
space:
mode:
authorFam Zheng <famz@redhat.com>2015-12-01 17:36:28 +0800
committerStefan Hajnoczi <stefanha@redhat.com>2015-12-03 11:08:07 +0800
commit61408b250eaa6157e49fbdcfe21f2f53e50b9277 (patch)
tree78f39e253a091ed8e5303f0c13fa89a0f231c60c /block/backup.c
parentd21e8776f6578be155714ae95c7d6c1bb03e8e34 (diff)
downloadqemu-61408b250eaa6157e49fbdcfe21f2f53e50b9277.tar.gz
block: Don't wait serialising for non-COR read requests
The assertion problem was noticed in 06c3916b35a, but it wasn't completely fixed, because even though the req is not marked as serialising, it still gets serialised by wait_serialising_requests against other serialising requests, which could lead to the same assertion failure. Fix it by even more explicitly skipping the serialising for this specific case. Signed-off-by: Fam Zheng <famz@redhat.com> Message-id: 1448962590-2842-2-git-send-email-famz@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'block/backup.c')
-rw-r--r--block/backup.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/block/backup.c b/block/backup.c
index 3b39119256..705bb77661 100644
--- a/block/backup.c
+++ b/block/backup.c
@@ -132,7 +132,7 @@ static int coroutine_fn backup_do_cow(BlockDriverState *bs,
qemu_iovec_init_external(&bounce_qiov, &iov, 1);
if (is_write_notifier) {
- ret = bdrv_co_no_copy_on_readv(bs,
+ ret = bdrv_co_readv_no_serialising(bs,
start * BACKUP_SECTORS_PER_CLUSTER,
n, &bounce_qiov);
} else {