]> git.proxmox.com Git - pve-qemu.git/blob - debian/patches/pve/0043-PVE-fixup-pbs-backup-add-compress-and-encrypt-option.patch
PBS patches: block driver, adapat encrypt/compress param, add query-proxmox-support...
[pve-qemu.git] / debian / patches / pve / 0043-PVE-fixup-pbs-backup-add-compress-and-encrypt-option.patch
1 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2 From: Dietmar Maurer <dietmar@proxmox.com>
3 Date: Thu, 9 Jul 2020 12:53:08 +0200
4 Subject: [PATCH] PVE: fixup pbs backup, add compress and encrypt options
5
6 ---
7 block/monitor/block-hmp-cmds.c | 4 +++-
8 pve-backup.c | 13 ++++++++++++-
9 qapi/block-core.json | 6 ++++++
10 3 files changed, 21 insertions(+), 2 deletions(-)
11
12 diff --git a/block/monitor/block-hmp-cmds.c b/block/monitor/block-hmp-cmds.c
13 index fdc85a5c0e..43aa87487b 100644
14 --- a/block/monitor/block-hmp-cmds.c
15 +++ b/block/monitor/block-hmp-cmds.c
16 @@ -1038,7 +1038,9 @@ void hmp_backup(Monitor *mon, const QDict *qdict)
17 false, NULL, // PBS fingerprint
18 false, NULL, // PBS backup-id
19 false, 0, // PBS backup-time
20 - false, false, // PBS incremental
21 + false, false, // PBS use-dirty-bitmap
22 + false, false, // PBS compress
23 + false, false, // PBS encrypt
24 true, dir ? BACKUP_FORMAT_DIR : BACKUP_FORMAT_VMA,
25 false, NULL, false, NULL, !!devlist,
26 devlist, qdict_haskey(qdict, "speed"), speed, &error);
27 diff --git a/pve-backup.c b/pve-backup.c
28 index 46191bb328..3323b195a4 100644
29 --- a/pve-backup.c
30 +++ b/pve-backup.c
31 @@ -567,6 +567,10 @@ typedef struct QmpBackupTask {
32 const char *firewall_file;
33 bool has_devlist;
34 const char *devlist;
35 + bool has_compress;
36 + bool compress;
37 + bool has_encrypt;
38 + bool encrypt;
39 bool has_speed;
40 int64_t speed;
41 Error **errp;
42 @@ -694,6 +698,7 @@ static void coroutine_fn pvebackup_co_prepare(void *opaque)
43
44 bool use_dirty_bitmap = task->has_use_dirty_bitmap && task->use_dirty_bitmap;
45
46 +
47 char *pbs_err = NULL;
48 pbs = proxmox_backup_new(
49 task->backup_file,
50 @@ -703,8 +708,10 @@ static void coroutine_fn pvebackup_co_prepare(void *opaque)
51 task->has_password ? task->password : NULL,
52 task->has_keyfile ? task->keyfile : NULL,
53 task->has_key_password ? task->key_password : NULL,
54 + task->has_compress ? task->compress : true,
55 + task->has_encrypt ? task->encrypt : task->has_keyfile,
56 task->has_fingerprint ? task->fingerprint : NULL,
57 - &pbs_err);
58 + &pbs_err);
59
60 if (!pbs) {
61 error_set(task->errp, ERROR_CLASS_GENERIC_ERROR,
62 @@ -943,6 +950,8 @@ UuidInfo *qmp_backup(
63 bool has_backup_id, const char *backup_id,
64 bool has_backup_time, int64_t backup_time,
65 bool has_use_dirty_bitmap, bool use_dirty_bitmap,
66 + bool has_compress, bool compress,
67 + bool has_encrypt, bool encrypt,
68 bool has_format, BackupFormat format,
69 bool has_config_file, const char *config_file,
70 bool has_firewall_file, const char *firewall_file,
71 @@ -971,6 +980,8 @@ UuidInfo *qmp_backup(
72 .firewall_file = firewall_file,
73 .has_devlist = has_devlist,
74 .devlist = devlist,
75 + .has_compress = has_compress,
76 + .has_encrypt = has_encrypt,
77 .has_speed = has_speed,
78 .speed = speed,
79 .errp = errp,
80 diff --git a/qapi/block-core.json b/qapi/block-core.json
81 index 4fe3d6f751..0bc15a5098 100644
82 --- a/qapi/block-core.json
83 +++ b/qapi/block-core.json
84 @@ -822,6 +822,10 @@
85 #
86 # @use-dirty-bitmap: use dirty bitmap to detect incremental changes since last job (optional for format 'pbs')
87 #
88 +# @compress: use compression (optional for format 'pbs', defaults to true)
89 +#
90 +# @encrypt: use encryption ((optional for format 'pbs', defaults to true if there is a keyfile)
91 +#
92 # Returns: the uuid of the backup job
93 #
94 ##
95 @@ -833,6 +837,8 @@
96 '*backup-id': 'str',
97 '*backup-time': 'int',
98 '*use-dirty-bitmap': 'bool',
99 + '*compress': 'bool',
100 + '*encrypt': 'bool',
101 '*format': 'BackupFormat',
102 '*config-file': 'str',
103 '*firewall-file': 'str',