]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: monitor: Add 'granularity' parameter for block-dirty-bitmap-add
authorPeter Krempa <pkrempa@redhat.com>
Thu, 28 Nov 2019 15:03:16 +0000 (16:03 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 13 Dec 2019 12:22:55 +0000 (13:22 +0100)
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
src/qemu/qemu_backup.c
src/qemu/qemu_checkpoint.c
src/qemu/qemu_monitor.c
src/qemu/qemu_monitor.h
src/qemu/qemu_monitor_json.c
src/qemu/qemu_monitor_json.h
tests/qemumonitorjsontest.c

index c9709dc29ae79ebc32314afeb9b2643cfe2e4080..5c9747f09dd40a77812a01becf0e4a104891be0c 100644 (file)
@@ -201,7 +201,7 @@ qemuBackupDiskPrepareOneBitmaps(struct qemuBackupDiskData *dd,
                                         dd->domdisk->src->nodeformat,
                                         dd->incrementalBitmap,
                                         false,
-                                        true) < 0)
+                                        true, 0) < 0)
         return -1;
 
     if (qemuMonitorTransactionBitmapMerge(actions,
@@ -214,7 +214,7 @@ qemuBackupDiskPrepareOneBitmaps(struct qemuBackupDiskData *dd,
                                         dd->store->nodeformat,
                                         dd->incrementalBitmap,
                                         false,
-                                        true) < 0)
+                                        true, 0) < 0)
         return -1;
 
     if (qemuMonitorTransactionBitmapMerge(actions,
index 38638c3b1e286ab4318b07859161d5eb65692ba2..97bc97bb8eabae873b57e584ffdcaa4d4c57d876 100644 (file)
@@ -309,7 +309,7 @@ qemuCheckpointAddActions(virDomainObjPtr vm,
         if (disk->type != VIR_DOMAIN_CHECKPOINT_TYPE_BITMAP)
             continue;
         node = qemuDomainDiskNodeFormatLookup(vm, disk->name);
-        if (qemuMonitorTransactionBitmapAdd(actions, node, disk->bitmap, true, false) < 0)
+        if (qemuMonitorTransactionBitmapAdd(actions, node, disk->bitmap, true, false, 0) < 0)
             return -1;
 
         /* We only want one active bitmap for a disk along the
index ea3e62dc8ec8f33f8143be78cedeade64dbbc0ed..ccd20b3740f3d1bb0cee740f2f904f3816ef9ca2 100644 (file)
@@ -4543,9 +4543,11 @@ qemuMonitorTransactionBitmapAdd(virJSONValuePtr actions,
                                 const char *node,
                                 const char *name,
                                 bool persistent,
-                                bool disabled)
+                                bool disabled,
+                                unsigned long long granularity)
 {
-    return qemuMonitorJSONTransactionBitmapAdd(actions, node, name, persistent, disabled);
+    return qemuMonitorJSONTransactionBitmapAdd(actions, node, name, persistent,
+                                               disabled, granularity);
 }
 
 
index 1c990923d68e7769d5bf84384ab420527d64ad22..3f3b81cdddfc28b58e1684076ca96e501a2f6012 100644 (file)
@@ -1374,7 +1374,8 @@ qemuMonitorTransactionBitmapAdd(virJSONValuePtr actions,
                                 const char *node,
                                 const char *name,
                                 bool persistent,
-                                bool disabled);
+                                bool disabled,
+                                unsigned long long granularity);
 int
 qemuMonitorTransactionBitmapRemove(virJSONValuePtr actions,
                                    const char *node,
index c47ca94dba9e0e54bd6e9246669e1d0cd1d52615..e5164d218aa6955d37e9d0ebd554c96f437a418a 100644 (file)
@@ -9153,7 +9153,8 @@ qemuMonitorJSONTransactionBitmapAdd(virJSONValuePtr actions,
                                     const char *node,
                                     const char *name,
                                     bool persistent,
-                                    bool disabled)
+                                    bool disabled,
+                                    unsigned long long granularity)
 {
     return qemuMonitorJSONTransactionAdd(actions,
                                          "block-dirty-bitmap-add",
@@ -9161,6 +9162,7 @@ qemuMonitorJSONTransactionBitmapAdd(virJSONValuePtr actions,
                                          "s:name", name,
                                          "b:persistent", persistent,
                                          "b:disabled", disabled,
+                                         "P:granularity", granularity,
                                          NULL);
 }
 
index 44926464b9e900a5911eaa0a9a4a2ca0d3b936b6..61f5b0061ded0500df5ee813251fd46207de4809 100644 (file)
@@ -636,7 +636,8 @@ qemuMonitorJSONTransactionBitmapAdd(virJSONValuePtr actions,
                                     const char *node,
                                     const char *name,
                                     bool persistent,
-                                    bool disabled);
+                                    bool disabled,
+                                    unsigned long long granularity);
 int
 qemuMonitorJSONTransactionBitmapRemove(virJSONValuePtr actions,
                                        const char *node,
index 4f3bfad1d78a4e2e9ab38b849f7ecbd39a625372..3b0f85e7c9ab91c0521265692d5c24408d4b767e 100644 (file)
@@ -2956,7 +2956,7 @@ testQemuMonitorJSONTransaction(const void *opaque)
         qemuMonitorTransactionBitmapMergeSourceAddBitmap(mergebitmaps, "node2", "bitmap2") < 0)
         return -1;
 
-    if (qemuMonitorTransactionBitmapAdd(actions, "node1", "bitmap1", true, true) < 0 ||
+    if (qemuMonitorTransactionBitmapAdd(actions, "node1", "bitmap1", true, true, 1234) < 0 ||
         qemuMonitorTransactionBitmapRemove(actions, "node2", "bitmap2") < 0 ||
         qemuMonitorTransactionBitmapEnable(actions, "node3", "bitmap3") < 0 ||
         qemuMonitorTransactionBitmapDisable(actions, "node4", "bitmap4") < 0 ||