]>
Commit | Line | Data |
---|---|---|
3499c5b4 TL |
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 | |
60ae3775 | 28 | index aa62a1da16..343035b5c9 100644 |
3499c5b4 TL |
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 | |
60ae3775 | 81 | index e00e577c6c..a177fea6cd 100644 |
3499c5b4 TL |
82 | --- a/qapi/block-core.json |
83 | +++ b/qapi/block-core.json | |
60ae3775 | 84 | @@ -832,6 +832,10 @@ |
3499c5b4 TL |
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 | ## | |
60ae3775 | 95 | @@ -843,6 +847,8 @@ |
3499c5b4 TL |
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', |