d333327a1b
With the transaction patches, patch 0026-PVE-Backup-modify-job-api.patch is no longer necessary, so drop it and rebase all following patches on top. Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
127 lines
5.3 KiB
Diff
127 lines
5.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
|
Date: Mon, 6 Jul 2020 20:05:16 +0200
|
|
Subject: [PATCH] PVE backup: rename incremental to use-dirty-bitmap
|
|
|
|
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
|
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
|
|
---
|
|
pve-backup.c | 22 +++++++++++-----------
|
|
qapi/block-core.json | 6 +++---
|
|
2 files changed, 14 insertions(+), 14 deletions(-)
|
|
|
|
diff --git a/pve-backup.c b/pve-backup.c
|
|
index d50f03a050..7bf54b4c5d 100644
|
|
--- a/pve-backup.c
|
|
+++ b/pve-backup.c
|
|
@@ -557,8 +557,8 @@ typedef struct QmpBackupTask {
|
|
const char *fingerprint;
|
|
bool has_fingerprint;
|
|
int64_t backup_time;
|
|
- bool has_incremental;
|
|
- bool incremental;
|
|
+ bool has_use_dirty_bitmap;
|
|
+ bool use_dirty_bitmap;
|
|
bool has_format;
|
|
BackupFormat format;
|
|
bool has_config_file;
|
|
@@ -688,7 +688,7 @@ static void coroutine_fn pvebackup_co_prepare(void *opaque)
|
|
int dump_cb_block_size = PROXMOX_BACKUP_DEFAULT_CHUNK_SIZE; // Hardcoded (4M)
|
|
firewall_name = "fw.conf";
|
|
|
|
- bool incremental = task->has_incremental && task->incremental;
|
|
+ bool use_dirty_bitmap = task->has_use_dirty_bitmap && task->use_dirty_bitmap;
|
|
|
|
char *pbs_err = NULL;
|
|
pbs = proxmox_backup_new(
|
|
@@ -722,9 +722,9 @@ static void coroutine_fn pvebackup_co_prepare(void *opaque)
|
|
const char *devname = bdrv_get_device_name(di->bs);
|
|
|
|
BdrvDirtyBitmap *bitmap = bdrv_find_dirty_bitmap(di->bs, PBS_BITMAP_NAME);
|
|
+ bool expect_only_dirty = false;
|
|
|
|
- bool use_incremental = false;
|
|
- if (incremental) {
|
|
+ if (use_dirty_bitmap) {
|
|
if (bitmap == NULL) {
|
|
bitmap = bdrv_create_dirty_bitmap(di->bs, dump_cb_block_size, PBS_BITMAP_NAME, task->errp);
|
|
if (!bitmap) {
|
|
@@ -734,7 +734,7 @@ static void coroutine_fn pvebackup_co_prepare(void *opaque)
|
|
bdrv_set_dirty_bitmap(bitmap, 0, di->size);
|
|
dirty += di->size;
|
|
} else {
|
|
- use_incremental = true;
|
|
+ expect_only_dirty = true;
|
|
dirty += bdrv_get_dirty_count(bitmap);
|
|
}
|
|
di->bitmap = bitmap;
|
|
@@ -743,7 +743,7 @@ static void coroutine_fn pvebackup_co_prepare(void *opaque)
|
|
bdrv_release_dirty_bitmap(bitmap);
|
|
}
|
|
|
|
- int dev_id = proxmox_backup_co_register_image(pbs, devname, di->size, use_incremental, task->errp);
|
|
+ int dev_id = proxmox_backup_co_register_image(pbs, devname, di->size, expect_only_dirty, task->errp);
|
|
if (dev_id < 0) {
|
|
goto err;
|
|
}
|
|
@@ -861,7 +861,7 @@ static void coroutine_fn pvebackup_co_prepare(void *opaque)
|
|
backup_state.stat.dirty = dirty;
|
|
backup_state.stat.transferred = 0;
|
|
backup_state.stat.zero_bytes = 0;
|
|
- backup_state.stat.reused = dirty >= total ? 0 : total - dirty;
|
|
+ backup_state.stat.reused = format == BACKUP_FORMAT_PBS && dirty >= total ? 0 : total - dirty;
|
|
|
|
qemu_mutex_unlock(&backup_state.stat.lock);
|
|
|
|
@@ -930,7 +930,7 @@ UuidInfo *qmp_backup(
|
|
bool has_fingerprint, const char *fingerprint,
|
|
bool has_backup_id, const char *backup_id,
|
|
bool has_backup_time, int64_t backup_time,
|
|
- bool has_incremental, bool incremental,
|
|
+ bool has_use_dirty_bitmap, bool use_dirty_bitmap,
|
|
bool has_format, BackupFormat format,
|
|
bool has_config_file, const char *config_file,
|
|
bool has_firewall_file, const char *firewall_file,
|
|
@@ -949,8 +949,8 @@ UuidInfo *qmp_backup(
|
|
.backup_id = backup_id,
|
|
.has_backup_time = has_backup_time,
|
|
.backup_time = backup_time,
|
|
- .has_incremental = has_incremental,
|
|
- .incremental = incremental,
|
|
+ .has_use_dirty_bitmap = has_use_dirty_bitmap,
|
|
+ .use_dirty_bitmap = use_dirty_bitmap,
|
|
.has_format = has_format,
|
|
.format = format,
|
|
.has_config_file = has_config_file,
|
|
diff --git a/qapi/block-core.json b/qapi/block-core.json
|
|
index 6cad1e0e38..e00e577c6c 100644
|
|
--- a/qapi/block-core.json
|
|
+++ b/qapi/block-core.json
|
|
@@ -767,7 +767,7 @@
|
|
#
|
|
# @total: total amount of bytes involved in the backup process
|
|
#
|
|
-# @dirty: with incremental mode, this is the amount of bytes involved
|
|
+# @dirty: with incremental mode (PBS) this is the amount of bytes involved
|
|
# in the backup process which are marked dirty.
|
|
#
|
|
# @transferred: amount of bytes already backed up.
|
|
@@ -830,7 +830,7 @@
|
|
#
|
|
# @backup-time: backup timestamp (Unix epoch, required for format 'pbs')
|
|
#
|
|
-# @incremental: sync incremental changes since last job (optional for format 'pbs')
|
|
+# @use-dirty-bitmap: use dirty bitmap to detect incremental changes since last job (optional for format 'pbs')
|
|
#
|
|
# Returns: the uuid of the backup job
|
|
#
|
|
@@ -842,7 +842,7 @@
|
|
'*fingerprint': 'str',
|
|
'*backup-id': 'str',
|
|
'*backup-time': 'int',
|
|
- '*incremental': 'bool',
|
|
+ '*use-dirty-bitmap': 'bool',
|
|
'*format': 'BackupFormat',
|
|
'*config-file': 'str',
|
|
'*firewall-file': 'str',
|