]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: command: Split out formatting of disk source commandline
authorPeter Krempa <pkrempa@redhat.com>
Thu, 7 Jun 2018 10:25:02 +0000 (12:25 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 10 Jul 2018 11:32:54 +0000 (13:32 +0200)
Further split qemuBuildDiskCommandLine to separate formatting of the
source part.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_command.c

index d94308e5b324da8b960244038a7eb9851750a848..1c162603e53baa21e74c6f861645ce2325243148 100644 (file)
@@ -2231,27 +2231,42 @@ qemuBuildBlockStorageSourceAttachDataCommandline(virCommandPtr cmd,
 
 
 static int
-qemuBuildDiskCommandLine(virCommandPtr cmd,
-                         const virDomainDef *def,
-                         virDomainDiskDefPtr disk,
-                         virQEMUCapsPtr qemuCaps,
-                         unsigned int bootindex,
-                         bool driveBoot)
+qemuBuildDiskSourceCommandLine(virCommandPtr cmd,
+                               virDomainDiskDefPtr disk,
+                               virQEMUCapsPtr qemuCaps,
+                               bool driveBoot)
 {
     qemuBlockStorageSourceAttachDataPtr data = NULL;
-    char *optstr;
+    int ret = -1;
 
     if (!(data = qemuBuildStorageSourceAttachPrepareDrive(disk, qemuCaps,
                                                           driveBoot)))
         return -1;
 
     if (qemuBuildStorageSourceAttachPrepareCommon(disk->src, data, qemuCaps) < 0 ||
-        qemuBuildBlockStorageSourceAttachDataCommandline(cmd, data) < 0) {
-        qemuBlockStorageSourceAttachDataFree(data);
-        return -1;
-    }
+        qemuBuildBlockStorageSourceAttachDataCommandline(cmd, data) < 0)
+        goto cleanup;
 
+    ret = 0;
+
+ cleanup:
     qemuBlockStorageSourceAttachDataFree(data);
+    return ret;
+}
+
+
+static int
+qemuBuildDiskCommandLine(virCommandPtr cmd,
+                         const virDomainDef *def,
+                         virDomainDiskDefPtr disk,
+                         virQEMUCapsPtr qemuCaps,
+                         unsigned int bootindex,
+                         bool driveBoot)
+{
+    char *optstr;
+
+    if (qemuBuildDiskSourceCommandLine(cmd, disk, qemuCaps, driveBoot) < 0)
+        return -1;
 
     if (!qemuDiskBusNeedsDriveArg(disk->bus)) {
         if (disk->bus == VIR_DOMAIN_DISK_BUS_FDC) {