diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 7959933e7c..2c19e60c94 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -4491,3 +4491,51 @@ qemuMonitorGetJobInfo(qemuMonitorPtr mon, return qemuMonitorJSONGetJobInfo(mon, jobs, njobs); } + + +int +qemuMonitorTransactionBitmapAdd(virJSONValuePtr actions, + const char *node, + const char *name, + bool persistent, + bool disabled) +{ + return qemuMonitorJSONTransactionBitmapAdd(actions, node, name, persistent, disabled); +} + + +int +qemuMonitorTransactionBitmapRemove(virJSONValuePtr actions, + const char *node, + const char *name) +{ + return qemuMonitorJSONTransactionBitmapRemove(actions, node, name); +} + + +int +qemuMonitorTransactionBitmapEnable(virJSONValuePtr actions, + const char *node, + const char *name) +{ + return qemuMonitorJSONTransactionBitmapEnable(actions, node, name); +} + + +int +qemuMonitorTransactionBitmapDisable(virJSONValuePtr actions, + const char *node, + const char *name) +{ + return qemuMonitorJSONTransactionBitmapDisable(actions, node, name); +} + + +int +qemuMonitorTransactionBitmapMerge(virJSONValuePtr actions, + const char *node, + const char *target, + virJSONValuePtr *sources) +{ + return qemuMonitorJSONTransactionBitmapMerge(actions, node, target, sources); +} diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 95de891150..44ce139a9b 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1337,3 +1337,27 @@ VIR_DEFINE_AUTOPTR_FUNC(qemuMonitorJobInfo, qemuMonitorJobInfoFree); int qemuMonitorGetJobInfo(qemuMonitorPtr mon, qemuMonitorJobInfoPtr **jobs, size_t *njobs); + +int +qemuMonitorTransactionBitmapAdd(virJSONValuePtr actions, + const char *node, + const char *name, + bool persistent, + bool disabled); +int +qemuMonitorTransactionBitmapRemove(virJSONValuePtr actions, + const char *node, + const char *name); +int +qemuMonitorTransactionBitmapEnable(virJSONValuePtr actions, + const char *node, + const char *name); +int +qemuMonitorTransactionBitmapDisable(virJSONValuePtr actions, + const char *node, + const char *name); +int +qemuMonitorTransactionBitmapMerge(virJSONValuePtr actions, + const char *node, + const char *target, + virJSONValuePtr *sources); diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index d99d291d89..bfb6245082 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -9029,6 +9029,77 @@ qemuMonitorJSONDeleteBitmap(qemuMonitorPtr mon, } +int +qemuMonitorJSONTransactionBitmapAdd(virJSONValuePtr actions, + const char *node, + const char *name, + bool persistent, + bool disabled) +{ + return qemuMonitorJSONTransactionAdd(actions, + "block-dirty-bitmap-add", + "s:node", node, + "s:name", name, + "b:persistent", persistent, + "b:disabled", disabled, + NULL); +} + + +int +qemuMonitorJSONTransactionBitmapRemove(virJSONValuePtr actions, + const char *node, + const char *name) +{ + return qemuMonitorJSONTransactionAdd(actions, + "block-dirty-bitmap-remove", + "s:node", node, + "s:name", name, + NULL); +} + + +int +qemuMonitorJSONTransactionBitmapEnable(virJSONValuePtr actions, + const char *node, + const char *name) +{ + return qemuMonitorJSONTransactionAdd(actions, + "block-dirty-bitmap-enable", + "s:node", node, + "s:name", name, + NULL); +} + + +int +qemuMonitorJSONTransactionBitmapDisable(virJSONValuePtr actions, + const char *node, + const char *name) +{ + return qemuMonitorJSONTransactionAdd(actions, + "block-dirty-bitmap-disable", + "s:node", node, + "s:name", name, + NULL); +} + + +int +qemuMonitorJSONTransactionBitmapMerge(virJSONValuePtr actions, + const char *node, + const char *target, + virJSONValuePtr *sources) +{ + return qemuMonitorJSONTransactionAdd(actions, + "block-dirty-bitmap-merge", + "s:node", node, + "s:target", target, + "a:bitmaps", sources, + NULL); +} + + static qemuMonitorJobInfoPtr qemuMonitorJSONGetJobInfoOne(virJSONValuePtr data) { diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 63f569716d..3915fb45b5 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -632,3 +632,27 @@ int qemuMonitorJSONMergeBitmaps(qemuMonitorPtr mon, int qemuMonitorJSONDeleteBitmap(qemuMonitorPtr mon, const char *node, const char *bitmap); + +int +qemuMonitorJSONTransactionBitmapAdd(virJSONValuePtr actions, + const char *node, + const char *name, + bool persistent, + bool disabled); +int +qemuMonitorJSONTransactionBitmapRemove(virJSONValuePtr actions, + const char *node, + const char *name); +int +qemuMonitorJSONTransactionBitmapEnable(virJSONValuePtr actions, + const char *node, + const char *name); +int +qemuMonitorJSONTransactionBitmapDisable(virJSONValuePtr actions, + const char *node, + const char *name); +int +qemuMonitorJSONTransactionBitmapMerge(virJSONValuePtr actions, + const char *node, + const char *target, + virJSONValuePtr *sources);