fix checks for drive mirror with bitmap
The QAPI change for QEMU 8.0 dropped redundant has_foo parameters, but in the blockdev_mirror_common() function (which is not part of the QAPI itself but called from there) the argument pair was has_bitmap and bitmap_name rather than has_bitmap and bitmap. Reported-by: Aaron Lauterer <a.lauterer@proxmox.com> Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
This commit is contained in:
parent
d847446186
commit
ea7662074d
@ -254,7 +254,7 @@ index 663e2b7002..9099c75992 100644
|
||||
errp);
|
||||
if (!job) {
|
||||
diff --git a/blockdev.c b/blockdev.c
|
||||
index e464daea58..1010b60804 100644
|
||||
index e464daea58..50e4a9c682 100644
|
||||
--- a/blockdev.c
|
||||
+++ b/blockdev.c
|
||||
@@ -2942,6 +2942,9 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
|
||||
@ -279,7 +279,7 @@ index e464daea58..1010b60804 100644
|
||||
sync = MIRROR_SYNC_MODE_FULL;
|
||||
}
|
||||
|
||||
+ if (bitmap) {
|
||||
+ if (bitmap_name) {
|
||||
+ if (granularity) {
|
||||
+ error_setg(errp, "Granularity and bitmap cannot both be set");
|
||||
+ return;
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/blockdev.c b/blockdev.c
|
||||
index 1010b60804..19f490fce7 100644
|
||||
index 50e4a9c682..e6b2b1e338 100644
|
||||
--- a/blockdev.c
|
||||
+++ b/blockdev.c
|
||||
@@ -3036,6 +3036,9 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
|
||||
|
@ -62,7 +62,7 @@ index f42953837b..8f79efaa87 100644
|
||||
|
||||
if (bitmap_mode != BITMAP_SYNC_MODE_NEVER) {
|
||||
diff --git a/blockdev.c b/blockdev.c
|
||||
index 19f490fce7..9a010f3a86 100644
|
||||
index e6b2b1e338..bdae211a54 100644
|
||||
--- a/blockdev.c
|
||||
+++ b/blockdev.c
|
||||
@@ -3015,7 +3015,36 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
|
||||
@ -72,7 +72,7 @@ index 19f490fce7..9a010f3a86 100644
|
||||
+ if ((sync == MIRROR_SYNC_MODE_BITMAP) ||
|
||||
+ (sync == MIRROR_SYNC_MODE_INCREMENTAL)) {
|
||||
+ /* done before desugaring 'incremental' to print the right message */
|
||||
+ if (!bitmap) {
|
||||
+ if (!bitmap_name) {
|
||||
+ error_setg(errp, "Must provide a valid bitmap name for "
|
||||
+ "'%s' sync mode", MirrorSyncMode_str(sync));
|
||||
+ return;
|
||||
@ -93,7 +93,7 @@ index 19f490fce7..9a010f3a86 100644
|
||||
+ bitmap_mode = BITMAP_SYNC_MODE_ON_SUCCESS;
|
||||
+ }
|
||||
+
|
||||
if (bitmap) {
|
||||
if (bitmap_name) {
|
||||
+ if (sync != MIRROR_SYNC_MODE_BITMAP) {
|
||||
+ error_setg(errp, "Sync mode '%s' not supported with bitmap.",
|
||||
+ MirrorSyncMode_str(sync));
|
||||
|
@ -166,7 +166,7 @@ index ca2599de44..636509b83e 100644
|
||||
+ hmp_handle_error(mon, error);
|
||||
+}
|
||||
diff --git a/blockdev.c b/blockdev.c
|
||||
index 9a010f3a86..b9505c95d3 100644
|
||||
index bdae211a54..315a27fc09 100644
|
||||
--- a/blockdev.c
|
||||
+++ b/blockdev.c
|
||||
@@ -37,6 +37,7 @@
|
||||
|
Loading…
Reference in New Issue
Block a user