From ce7b66a48af03b3175c5a41d0fc063ce60356bae Mon Sep 17 00:00:00 2001 From: Stefan Kober Date: Thu, 4 Sep 2025 14:10:28 +0200 Subject: [PATCH] ch: add monitor disk attach logic On-behalf-of: SAP stefan.kober@sap.com Signed-off-by: Stefan Kober Signed-off-by: Michal Privoznik Reviewed-by: Michal Privoznik --- src/ch/ch_monitor.c | 20 ++++++++++++++++++++ src/ch/ch_monitor.h | 5 +++++ 2 files changed, 25 insertions(+) diff --git a/src/ch/ch_monitor.c b/src/ch/ch_monitor.c index a16d29979f..2a37acd56f 100644 --- a/src/ch/ch_monitor.c +++ b/src/ch/ch_monitor.c @@ -318,6 +318,26 @@ virCHMonitorBuildDisksJson(virJSONValue *content, virDomainDef *vmdef) return 0; } +int +virCHMonitorAddDisk(virCHMonitor *monitor, + virDomainDiskDef *diskdef) +{ + g_autoptr(virJSONValue) disk = virCHMonitorBuildDiskJson(diskdef); + g_autoptr(virJSONValue) response = NULL; + + if (!disk) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("Could not build disk json")); + return -1; + } + + return virCHMonitorPut(monitor, + URL_VM_ADD_DISK, + disk, + NULL, + NULL); +} + static int virCHMonitorBuildRngJson(virJSONValue *content, virDomainDef *vmdef) { diff --git a/src/ch/ch_monitor.h b/src/ch/ch_monitor.h index ffac9e938e..dd6a21ce60 100644 --- a/src/ch/ch_monitor.h +++ b/src/ch/ch_monitor.h @@ -40,6 +40,7 @@ #define URL_VM_INFO "vm.info" #define URL_VM_SAVE "vm.snapshot" #define URL_VM_RESTORE "vm.restore" +#define URL_VM_ADD_DISK "vm.add-disk" #define VIRCH_THREAD_NAME_LEN 16 @@ -138,6 +139,10 @@ int virCHMonitorBuildNetJson(virDomainNetDef *netdef, int netindex, char **jsonstr); +int +virCHMonitorAddDisk(virCHMonitor* mon, + virDomainDiskDef *diskdef); + int virCHMonitorBuildRestoreJson(virDomainDef *vmdef, const char *from, char **jsonstr); -- 2.47.3