]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
ch: add monitor disk attach logic
authorStefan Kober <stefan.kober@cyberus-technology.de>
Thu, 4 Sep 2025 12:10:28 +0000 (14:10 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 8 Sep 2025 14:40:08 +0000 (16:40 +0200)
On-behalf-of: SAP stefan.kober@sap.com
Signed-off-by: Stefan Kober <stefan.kober@cyberus-technology.de>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/ch/ch_monitor.c
src/ch/ch_monitor.h

index a16d29979ffcc80192034670189d73efa9c97a55..2a37acd56f77d8c39ff29b9cc5fdf40657d18090 100644 (file)
@@ -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)
 {
index ffac9e938e61e4f34100f5c18db7adc67bb65ba4..dd6a21ce60c6b51b65899ae023ab4a557ceea8df 100644 (file)
@@ -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);