]> git.proxmox.com Git - pve-qemu.git/blob - debian/patches/pve/0042-PVE-use-proxmox_backup_check_incremental.patch
Fix dirty-bitmap PBS backup with multiple drives
[pve-qemu.git] / debian / patches / pve / 0042-PVE-use-proxmox_backup_check_incremental.patch
1 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2 From: Stefan Reiter <s.reiter@proxmox.com>
3 Date: Mon, 6 Jul 2020 14:40:14 +0200
4 Subject: [PATCH] PVE: use proxmox_backup_check_incremental
5
6 Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
7 Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
8 ---
9 pve-backup.c | 12 ++++++++----
10 1 file changed, 8 insertions(+), 4 deletions(-)
11
12 diff --git a/pve-backup.c b/pve-backup.c
13 index c108f6a745..aa62a1da16 100644
14 --- a/pve-backup.c
15 +++ b/pve-backup.c
16 @@ -734,12 +734,16 @@ static void coroutine_fn pvebackup_co_prepare(void *opaque)
17 if (!bitmap) {
18 goto err;
19 }
20 - /* mark entire bitmap as dirty to make full backup first */
21 - bdrv_set_dirty_bitmap(bitmap, 0, di->size);
22 - dirty += di->size;
23 } else {
24 - expect_only_dirty = true;
25 + expect_only_dirty = proxmox_backup_check_incremental(pbs, devname, di->size) != 0;
26 + }
27 +
28 + if (expect_only_dirty) {
29 dirty += bdrv_get_dirty_count(bitmap);
30 + } else {
31 + /* mark entire bitmap as dirty to make full backup */
32 + bdrv_set_dirty_bitmap(bitmap, 0, di->size);
33 + dirty += di->size;
34 }
35 di->bitmap = bitmap;
36 } else {