[PATCH v3 06/13] ch: add monitor disk attach logic

Stefan Kober posted 13 patches 3 days, 11 hours ago
[PATCH v3 06/13] ch: add monitor disk attach logic
Posted by Stefan Kober 3 days, 11 hours ago
On-behalf-of: SAP stefan.kober@sap.com
Signed-off-by: Stefan Kober <stefan.kober@cyberus-technology.de>
---
 src/ch/ch_monitor.c | 20 ++++++++++++++++++++
 src/ch/ch_monitor.h |  4 ++++
 2 files changed, 24 insertions(+)

diff --git a/src/ch/ch_monitor.c b/src/ch/ch_monitor.c
index 2ebeb46ad4..710ba06d2d 100644
--- a/src/ch/ch_monitor.c
+++ b/src/ch/ch_monitor.c
@@ -315,6 +315,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..8338059c7c 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,9 @@ int
 virCHMonitorBuildNetJson(virDomainNetDef *netdef,
                          int netindex,
                          char **jsonstr);
+int
+virCHMonitorAddDisk(virCHMonitor* mon, virDomainDiskDef *diskdef);
+
 int virCHMonitorBuildRestoreJson(virDomainDef *vmdef,
                                  const char *from,
                                  char **jsonstr);
-- 
2.50.1