diff --git a/src/qemu/qemu_backup.c b/src/qemu/qemu_backup.c index c9709dc29ae79ebc32314afeb9b2643cfe2e4080..5c9747f09dd40a77812a01becf0e4a104891be0c 100644 --- a/src/qemu/qemu_backup.c +++ b/src/qemu/qemu_backup.c @@ -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, diff --git a/src/qemu/qemu_checkpoint.c b/src/qemu/qemu_checkpoint.c index 38638c3b1e286ab4318b07859161d5eb65692ba2..97bc97bb8eabae873b57e584ffdcaa4d4c57d876 100644 --- a/src/qemu/qemu_checkpoint.c +++ b/src/qemu/qemu_checkpoint.c @@ -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 diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index ea3e62dc8ec8f33f8143be78cedeade64dbbc0ed..ccd20b3740f3d1bb0cee740f2f904f3816ef9ca2 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -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); } diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 1c990923d68e7769d5bf84384ab420527d64ad22..3f3b81cdddfc28b58e1684076ca96e501a2f6012 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -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, diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index c47ca94dba9e0e54bd6e9246669e1d0cd1d52615..e5164d218aa6955d37e9d0ebd554c96f437a418a 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -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); } diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 44926464b9e900a5911eaa0a9a4a2ca0d3b936b6..61f5b0061ded0500df5ee813251fd46207de4809 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -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, diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 4f3bfad1d78a4e2e9ab38b849f7ecbd39a625372..3b0f85e7c9ab91c0521265692d5c24408d4b767e 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -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 ||