]> git.proxmox.com Git - pve-qemu.git/blob - debian/patches/bitmap-mirror/0004-mirror-switch-to-bdrv_dirty_bitmap_merge_internal.patch
c645c3f339444b5d18ba7c19191efed59386ad86
[pve-qemu.git] / debian / patches / bitmap-mirror / 0004-mirror-switch-to-bdrv_dirty_bitmap_merge_internal.patch
1 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
3 Date: Mon, 6 Apr 2020 12:17:06 +0200
4 Subject: [PATCH] mirror: switch to bdrv_dirty_bitmap_merge_internal
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 since sync_bitmap is busy at the point of merging, and we checked access
10 beforehand.
11
12 Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
13 ---
14 block/mirror.c | 11 ++++-------
15 1 file changed, 4 insertions(+), 7 deletions(-)
16
17 diff --git a/block/mirror.c b/block/mirror.c
18 index 3e37967365..c6f759e279 100644
19 --- a/block/mirror.c
20 +++ b/block/mirror.c
21 @@ -768,8 +768,8 @@ static int mirror_exit_common(Job *job)
22 job->ret == 0 && ret == 0)) {
23 /* Success; synchronize copy back to sync. */
24 bdrv_clear_dirty_bitmap(s->sync_bitmap, NULL);
25 - bdrv_merge_dirty_bitmap(s->sync_bitmap, s->dirty_bitmap,
26 - NULL, &error_abort);
27 + bdrv_dirty_bitmap_merge_internal(s->sync_bitmap, s->dirty_bitmap,
28 + NULL, true);
29 }
30 }
31 bdrv_release_dirty_bitmap(s->dirty_bitmap);
32 @@ -1816,11 +1816,8 @@ static BlockJob *mirror_start_job(
33 }
34
35 if (s->sync_mode == MIRROR_SYNC_MODE_BITMAP) {
36 - bdrv_merge_dirty_bitmap(s->dirty_bitmap, s->sync_bitmap,
37 - NULL, &local_err);
38 - if (local_err) {
39 - goto fail;
40 - }
41 + bdrv_dirty_bitmap_merge_internal(s->dirty_bitmap, s->sync_bitmap,
42 + NULL, true);
43 }
44
45 ret = block_job_add_bdrv(&s->common, "source", bs, 0,