move bitmap-mirror patches to seperate folder
...instead of having them in the middle of the backup related patches. These might (hopefully) become upstream at some point as well. Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>master
parent
0c893fd820
commit
2413972b46
|
@ -249,10 +249,10 @@ index 8e1ad6eceb..97843992c2 100644
|
||||||
&local_err);
|
&local_err);
|
||||||
if (local_err) {
|
if (local_err) {
|
||||||
diff --git a/blockdev.c b/blockdev.c
|
diff --git a/blockdev.c b/blockdev.c
|
||||||
index bae80b9177..c79e081f57 100644
|
index fe6fb5dc1d..394920613d 100644
|
||||||
--- a/blockdev.c
|
--- a/blockdev.c
|
||||||
+++ b/blockdev.c
|
+++ b/blockdev.c
|
||||||
@@ -2931,6 +2931,10 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
|
@@ -2930,6 +2930,10 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
|
||||||
BlockDriverState *target,
|
BlockDriverState *target,
|
||||||
bool has_replaces, const char *replaces,
|
bool has_replaces, const char *replaces,
|
||||||
enum MirrorSyncMode sync,
|
enum MirrorSyncMode sync,
|
||||||
|
@ -263,7 +263,7 @@ index bae80b9177..c79e081f57 100644
|
||||||
BlockMirrorBackingMode backing_mode,
|
BlockMirrorBackingMode backing_mode,
|
||||||
bool zero_target,
|
bool zero_target,
|
||||||
bool has_speed, int64_t speed,
|
bool has_speed, int64_t speed,
|
||||||
@@ -2950,6 +2954,7 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
|
@@ -2949,6 +2953,7 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
|
||||||
{
|
{
|
||||||
BlockDriverState *unfiltered_bs;
|
BlockDriverState *unfiltered_bs;
|
||||||
int job_flags = JOB_DEFAULT;
|
int job_flags = JOB_DEFAULT;
|
||||||
|
@ -271,7 +271,7 @@ index bae80b9177..c79e081f57 100644
|
||||||
|
|
||||||
if (!has_speed) {
|
if (!has_speed) {
|
||||||
speed = 0;
|
speed = 0;
|
||||||
@@ -3004,6 +3009,29 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
|
@@ -3003,6 +3008,29 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
|
||||||
sync = MIRROR_SYNC_MODE_FULL;
|
sync = MIRROR_SYNC_MODE_FULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -301,7 +301,7 @@ index bae80b9177..c79e081f57 100644
|
||||||
if (!has_replaces) {
|
if (!has_replaces) {
|
||||||
/* We want to mirror from @bs, but keep implicit filters on top */
|
/* We want to mirror from @bs, but keep implicit filters on top */
|
||||||
unfiltered_bs = bdrv_skip_implicit_filters(bs);
|
unfiltered_bs = bdrv_skip_implicit_filters(bs);
|
||||||
@@ -3050,8 +3078,8 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
|
@@ -3049,8 +3077,8 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
|
||||||
* and will allow to check whether the node still exist at mirror completion
|
* and will allow to check whether the node still exist at mirror completion
|
||||||
*/
|
*/
|
||||||
mirror_start(job_id, bs, target,
|
mirror_start(job_id, bs, target,
|
||||||
|
@ -312,7 +312,7 @@ index bae80b9177..c79e081f57 100644
|
||||||
on_source_error, on_target_error, unmap, filter_node_name,
|
on_source_error, on_target_error, unmap, filter_node_name,
|
||||||
copy_mode, errp);
|
copy_mode, errp);
|
||||||
}
|
}
|
||||||
@@ -3196,6 +3224,8 @@ void qmp_drive_mirror(DriveMirror *arg, Error **errp)
|
@@ -3195,6 +3223,8 @@ void qmp_drive_mirror(DriveMirror *arg, Error **errp)
|
||||||
|
|
||||||
blockdev_mirror_common(arg->has_job_id ? arg->job_id : NULL, bs, target_bs,
|
blockdev_mirror_common(arg->has_job_id ? arg->job_id : NULL, bs, target_bs,
|
||||||
arg->has_replaces, arg->replaces, arg->sync,
|
arg->has_replaces, arg->replaces, arg->sync,
|
||||||
|
@ -321,7 +321,7 @@ index bae80b9177..c79e081f57 100644
|
||||||
backing_mode, zero_target,
|
backing_mode, zero_target,
|
||||||
arg->has_speed, arg->speed,
|
arg->has_speed, arg->speed,
|
||||||
arg->has_granularity, arg->granularity,
|
arg->has_granularity, arg->granularity,
|
||||||
@@ -3217,6 +3247,8 @@ void qmp_blockdev_mirror(bool has_job_id, const char *job_id,
|
@@ -3216,6 +3246,8 @@ void qmp_blockdev_mirror(bool has_job_id, const char *job_id,
|
||||||
const char *device, const char *target,
|
const char *device, const char *target,
|
||||||
bool has_replaces, const char *replaces,
|
bool has_replaces, const char *replaces,
|
||||||
MirrorSyncMode sync,
|
MirrorSyncMode sync,
|
||||||
|
@ -330,7 +330,7 @@ index bae80b9177..c79e081f57 100644
|
||||||
bool has_speed, int64_t speed,
|
bool has_speed, int64_t speed,
|
||||||
bool has_granularity, uint32_t granularity,
|
bool has_granularity, uint32_t granularity,
|
||||||
bool has_buf_size, int64_t buf_size,
|
bool has_buf_size, int64_t buf_size,
|
||||||
@@ -3266,7 +3298,8 @@ void qmp_blockdev_mirror(bool has_job_id, const char *job_id,
|
@@ -3265,7 +3297,8 @@ void qmp_blockdev_mirror(bool has_job_id, const char *job_id,
|
||||||
}
|
}
|
||||||
|
|
||||||
blockdev_mirror_common(has_job_id ? job_id : NULL, bs, target_bs,
|
blockdev_mirror_common(has_job_id ? job_id : NULL, bs, target_bs,
|
||||||
|
@ -341,10 +341,10 @@ index bae80b9177..c79e081f57 100644
|
||||||
has_granularity, granularity,
|
has_granularity, granularity,
|
||||||
has_buf_size, buf_size,
|
has_buf_size, buf_size,
|
||||||
diff --git a/include/block/block_int.h b/include/block/block_int.h
|
diff --git a/include/block/block_int.h b/include/block/block_int.h
|
||||||
index 9fa282ff54..1bd4b64522 100644
|
index 95d9333be1..6f8eda629a 100644
|
||||||
--- a/include/block/block_int.h
|
--- a/include/block/block_int.h
|
||||||
+++ b/include/block/block_int.h
|
+++ b/include/block/block_int.h
|
||||||
@@ -1260,7 +1260,9 @@ void mirror_start(const char *job_id, BlockDriverState *bs,
|
@@ -1230,7 +1230,9 @@ void mirror_start(const char *job_id, BlockDriverState *bs,
|
||||||
BlockDriverState *target, const char *replaces,
|
BlockDriverState *target, const char *replaces,
|
||||||
int creation_flags, int64_t speed,
|
int creation_flags, int64_t speed,
|
||||||
uint32_t granularity, int64_t buf_size,
|
uint32_t granularity, int64_t buf_size,
|
||||||
|
@ -356,10 +356,10 @@ index 9fa282ff54..1bd4b64522 100644
|
||||||
BlockdevOnError on_source_error,
|
BlockdevOnError on_source_error,
|
||||||
BlockdevOnError on_target_error,
|
BlockdevOnError on_target_error,
|
||||||
diff --git a/qapi/block-core.json b/qapi/block-core.json
|
diff --git a/qapi/block-core.json b/qapi/block-core.json
|
||||||
index be67dc3376..9054db608c 100644
|
index 04ad80bc1e..9db3120716 100644
|
||||||
--- a/qapi/block-core.json
|
--- a/qapi/block-core.json
|
||||||
+++ b/qapi/block-core.json
|
+++ b/qapi/block-core.json
|
||||||
@@ -2080,10 +2080,19 @@
|
@@ -1971,10 +1971,19 @@
|
||||||
# (all the disk, only the sectors allocated in the topmost image, or
|
# (all the disk, only the sectors allocated in the topmost image, or
|
||||||
# only new I/O).
|
# only new I/O).
|
||||||
#
|
#
|
||||||
|
@ -380,7 +380,7 @@ index be67dc3376..9054db608c 100644
|
||||||
#
|
#
|
||||||
# @buf-size: maximum amount of data in flight from source to
|
# @buf-size: maximum amount of data in flight from source to
|
||||||
# target (since 1.4).
|
# target (since 1.4).
|
||||||
@@ -2121,7 +2130,9 @@
|
@@ -2012,7 +2021,9 @@
|
||||||
{ 'struct': 'DriveMirror',
|
{ 'struct': 'DriveMirror',
|
||||||
'data': { '*job-id': 'str', 'device': 'str', 'target': 'str',
|
'data': { '*job-id': 'str', 'device': 'str', 'target': 'str',
|
||||||
'*format': 'str', '*node-name': 'str', '*replaces': 'str',
|
'*format': 'str', '*node-name': 'str', '*replaces': 'str',
|
||||||
|
@ -391,7 +391,7 @@ index be67dc3376..9054db608c 100644
|
||||||
'*speed': 'int', '*granularity': 'uint32',
|
'*speed': 'int', '*granularity': 'uint32',
|
||||||
'*buf-size': 'int', '*on-source-error': 'BlockdevOnError',
|
'*buf-size': 'int', '*on-source-error': 'BlockdevOnError',
|
||||||
'*on-target-error': 'BlockdevOnError',
|
'*on-target-error': 'BlockdevOnError',
|
||||||
@@ -2389,10 +2400,19 @@
|
@@ -2280,10 +2291,19 @@
|
||||||
# (all the disk, only the sectors allocated in the topmost image, or
|
# (all the disk, only the sectors allocated in the topmost image, or
|
||||||
# only new I/O).
|
# only new I/O).
|
||||||
#
|
#
|
||||||
|
@ -412,7 +412,7 @@ index be67dc3376..9054db608c 100644
|
||||||
#
|
#
|
||||||
# @buf-size: maximum amount of data in flight from source to
|
# @buf-size: maximum amount of data in flight from source to
|
||||||
# target
|
# target
|
||||||
@@ -2441,7 +2461,8 @@
|
@@ -2332,7 +2352,8 @@
|
||||||
{ 'command': 'blockdev-mirror',
|
{ 'command': 'blockdev-mirror',
|
||||||
'data': { '*job-id': 'str', 'device': 'str', 'target': 'str',
|
'data': { '*job-id': 'str', 'device': 'str', 'target': 'str',
|
||||||
'*replaces': 'str',
|
'*replaces': 'str',
|
|
@ -15,10 +15,10 @@ Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
|
||||||
1 file changed, 3 insertions(+)
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
diff --git a/blockdev.c b/blockdev.c
|
diff --git a/blockdev.c b/blockdev.c
|
||||||
index c79e081f57..827f004069 100644
|
index 394920613d..4f8bd38b58 100644
|
||||||
--- a/blockdev.c
|
--- a/blockdev.c
|
||||||
+++ b/blockdev.c
|
+++ b/blockdev.c
|
||||||
@@ -3030,6 +3030,9 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
|
@@ -3029,6 +3029,9 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
|
||||||
if (bdrv_dirty_bitmap_check(bitmap, BDRV_BITMAP_ALLOW_RO, errp)) {
|
if (bdrv_dirty_bitmap_check(bitmap, BDRV_BITMAP_ALLOW_RO, errp)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
|
@ -59,10 +59,10 @@ index e6140cf018..3a08239a78 100644
|
||||||
|
|
||||||
if (bitmap_mode != BITMAP_SYNC_MODE_NEVER) {
|
if (bitmap_mode != BITMAP_SYNC_MODE_NEVER) {
|
||||||
diff --git a/blockdev.c b/blockdev.c
|
diff --git a/blockdev.c b/blockdev.c
|
||||||
index 827f004069..e2f826ca62 100644
|
index 4f8bd38b58..a40c6fd0f6 100644
|
||||||
--- a/blockdev.c
|
--- a/blockdev.c
|
||||||
+++ b/blockdev.c
|
+++ b/blockdev.c
|
||||||
@@ -3009,7 +3009,36 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
|
@@ -3008,7 +3008,36 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
|
||||||
sync = MIRROR_SYNC_MODE_FULL;
|
sync = MIRROR_SYNC_MODE_FULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -128,10 +128,10 @@ index bda3e606dc..037839622e 100644
|
||||||
false, errp);
|
false, errp);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
diff --git a/qapi/block-core.json b/qapi/block-core.json
|
diff --git a/qapi/block-core.json b/qapi/block-core.json
|
||||||
index 04ad80bc1e..7957b9867d 100644
|
index 9db3120716..d285622589 100644
|
||||||
--- a/qapi/block-core.json
|
--- a/qapi/block-core.json
|
||||||
+++ b/qapi/block-core.json
|
+++ b/qapi/block-core.json
|
||||||
@@ -4203,7 +4203,8 @@
|
@@ -4224,7 +4224,8 @@
|
||||||
'size': 'size',
|
'size': 'size',
|
||||||
'*preallocation': 'PreallocMode',
|
'*preallocation': 'PreallocMode',
|
||||||
'*nocow': 'bool',
|
'*nocow': 'bool',
|
||||||
|
|
|
@ -244,7 +244,7 @@ index feffbc8623..2507af1168 100644
|
||||||
'blkdebug.c',
|
'blkdebug.c',
|
||||||
'blklogwrites.c',
|
'blklogwrites.c',
|
||||||
diff --git a/include/block/block_int.h b/include/block/block_int.h
|
diff --git a/include/block/block_int.h b/include/block/block_int.h
|
||||||
index 95d9333be1..2645e53282 100644
|
index 6f8eda629a..5455102da8 100644
|
||||||
--- a/include/block/block_int.h
|
--- a/include/block/block_int.h
|
||||||
+++ b/include/block/block_int.h
|
+++ b/include/block/block_int.h
|
||||||
@@ -63,6 +63,36 @@
|
@@ -63,6 +63,36 @@
|
||||||
|
|
|
@ -85,7 +85,7 @@ index d15a2be827..9ba7c774a2 100644
|
||||||
+ hmp_handle_error(mon, error);
|
+ hmp_handle_error(mon, error);
|
||||||
+}
|
+}
|
||||||
diff --git a/blockdev.c b/blockdev.c
|
diff --git a/blockdev.c b/blockdev.c
|
||||||
index fe6fb5dc1d..bae80b9177 100644
|
index a40c6fd0f6..e2f826ca62 100644
|
||||||
--- a/blockdev.c
|
--- a/blockdev.c
|
||||||
+++ b/blockdev.c
|
+++ b/blockdev.c
|
||||||
@@ -36,6 +36,7 @@
|
@@ -36,6 +36,7 @@
|
||||||
|
@ -161,7 +161,7 @@ index d294c234a5..0c6b944850 100644
|
||||||
|
|
||||||
{
|
{
|
||||||
diff --git a/include/block/block_int.h b/include/block/block_int.h
|
diff --git a/include/block/block_int.h b/include/block/block_int.h
|
||||||
index 2645e53282..9fa282ff54 100644
|
index 5455102da8..1bd4b64522 100644
|
||||||
--- a/include/block/block_int.h
|
--- a/include/block/block_int.h
|
||||||
+++ b/include/block/block_int.h
|
+++ b/include/block/block_int.h
|
||||||
@@ -65,7 +65,7 @@
|
@@ -65,7 +65,7 @@
|
||||||
|
@ -1472,7 +1472,7 @@ index 0000000000..d40f3f2fd6
|
||||||
+ return info;
|
+ return info;
|
||||||
+}
|
+}
|
||||||
diff --git a/qapi/block-core.json b/qapi/block-core.json
|
diff --git a/qapi/block-core.json b/qapi/block-core.json
|
||||||
index 7957b9867d..be67dc3376 100644
|
index d285622589..9054db608c 100644
|
||||||
--- a/qapi/block-core.json
|
--- a/qapi/block-core.json
|
||||||
+++ b/qapi/block-core.json
|
+++ b/qapi/block-core.json
|
||||||
@@ -745,6 +745,115 @@
|
@@ -745,6 +745,115 @@
|
||||||
|
|
|
@ -6,6 +6,12 @@ extra/0005-virtiofsd-optionally-return-inode-pointer-from-lo_do.patch
|
||||||
extra/0006-virtiofsd-prevent-opening-of-special-files-CVE-2020-.patch
|
extra/0006-virtiofsd-prevent-opening-of-special-files-CVE-2020-.patch
|
||||||
extra/0007-virtiofsd-Add-_llseek-to-the-seccomp-whitelist.patch
|
extra/0007-virtiofsd-Add-_llseek-to-the-seccomp-whitelist.patch
|
||||||
extra/0008-virtiofsd-Add-restart_syscall-to-the-seccomp-whiteli.patch
|
extra/0008-virtiofsd-Add-restart_syscall-to-the-seccomp-whiteli.patch
|
||||||
|
bitmap-mirror/0001-drive-mirror-add-support-for-sync-bitmap-mode-never.patch
|
||||||
|
bitmap-mirror/0002-drive-mirror-add-support-for-conditional-and-always-.patch
|
||||||
|
bitmap-mirror/0003-mirror-add-check-for-bitmap-mode-without-bitmap.patch
|
||||||
|
bitmap-mirror/0004-mirror-switch-to-bdrv_dirty_bitmap_merge_internal.patch
|
||||||
|
bitmap-mirror/0005-iotests-add-test-for-bitmap-mirror.patch
|
||||||
|
bitmap-mirror/0006-mirror-move-some-checks-to-qmp.patch
|
||||||
pve/0001-PVE-Config-block-file-change-locking-default-to-off.patch
|
pve/0001-PVE-Config-block-file-change-locking-default-to-off.patch
|
||||||
pve/0002-PVE-Config-Adjust-network-script-path-to-etc-kvm.patch
|
pve/0002-PVE-Config-Adjust-network-script-path-to-etc-kvm.patch
|
||||||
pve/0003-PVE-Config-set-the-CPU-model-to-kvm64-32-instead-of-.patch
|
pve/0003-PVE-Config-set-the-CPU-model-to-kvm64-32-instead-of-.patch
|
||||||
|
@ -35,23 +41,17 @@ pve/0026-PVE-Backup-add-vma-backup-format-code.patch
|
||||||
pve/0027-PVE-Backup-add-backup-dump-block-driver.patch
|
pve/0027-PVE-Backup-add-backup-dump-block-driver.patch
|
||||||
pve/0028-PVE-Backup-proxmox-backup-patches-for-qemu.patch
|
pve/0028-PVE-Backup-proxmox-backup-patches-for-qemu.patch
|
||||||
pve/0029-PVE-Backup-pbs-restore-new-command-to-restore-from-p.patch
|
pve/0029-PVE-Backup-pbs-restore-new-command-to-restore-from-p.patch
|
||||||
pve/0030-drive-mirror-add-support-for-sync-bitmap-mode-never.patch
|
pve/0030-PVE-Backup-Add-dirty-bitmap-tracking-for-incremental.patch
|
||||||
pve/0031-drive-mirror-add-support-for-conditional-and-always-.patch
|
pve/0031-PVE-various-PBS-fixes.patch
|
||||||
pve/0032-mirror-add-check-for-bitmap-mode-without-bitmap.patch
|
pve/0032-PVE-Add-PBS-block-driver-to-map-backup-archives-into.patch
|
||||||
pve/0033-mirror-switch-to-bdrv_dirty_bitmap_merge_internal.patch
|
pve/0033-PVE-add-query_proxmox_support-QMP-command.patch
|
||||||
pve/0034-iotests-add-test-for-bitmap-mirror.patch
|
pve/0034-PVE-add-query-pbs-bitmap-info-QMP-call.patch
|
||||||
pve/0035-mirror-move-some-checks-to-qmp.patch
|
pve/0035-PVE-redirect-stderr-to-journal-when-daemonized.patch
|
||||||
pve/0036-PVE-Backup-Add-dirty-bitmap-tracking-for-incremental.patch
|
pve/0036-PVE-Add-sequential-job-transaction-support.patch
|
||||||
pve/0037-PVE-various-PBS-fixes.patch
|
pve/0037-PVE-Backup-Use-a-transaction-to-synchronize-job-stat.patch
|
||||||
pve/0038-PVE-Add-PBS-block-driver-to-map-backup-archives-into.patch
|
pve/0038-PVE-Backup-Don-t-block-on-finishing-and-cleanup-crea.patch
|
||||||
pve/0039-PVE-add-query_proxmox_support-QMP-command.patch
|
pve/0039-PVE-Migrate-dirty-bitmap-state-via-savevm.patch
|
||||||
pve/0040-PVE-add-query-pbs-bitmap-info-QMP-call.patch
|
pve/0040-migration-block-dirty-bitmap-migrate-other-bitmaps-e.patch
|
||||||
pve/0041-PVE-redirect-stderr-to-journal-when-daemonized.patch
|
pve/0041-PVE-fall-back-to-open-iscsi-initiatorname.patch
|
||||||
pve/0042-PVE-Add-sequential-job-transaction-support.patch
|
pve/0042-PVE-Use-coroutine-QMP-for-backup-cancel_backup.patch
|
||||||
pve/0043-PVE-Backup-Use-a-transaction-to-synchronize-job-stat.patch
|
pve/0043-PBS-add-master-key-support.patch
|
||||||
pve/0044-PVE-Backup-Don-t-block-on-finishing-and-cleanup-crea.patch
|
|
||||||
pve/0045-PVE-Migrate-dirty-bitmap-state-via-savevm.patch
|
|
||||||
pve/0046-migration-block-dirty-bitmap-migrate-other-bitmaps-e.patch
|
|
||||||
pve/0047-PVE-fall-back-to-open-iscsi-initiatorname.patch
|
|
||||||
pve/0048-PVE-Use-coroutine-QMP-for-backup-cancel_backup.patch
|
|
||||||
pve/0049-PBS-add-master-key-support.patch
|
|
||||||
|
|
Loading…
Reference in New Issue