]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
parallels: add function parallelsGetDiskBusName
authorDmitry Guryanov <dguryanov@parallels.com>
Tue, 4 Dec 2012 13:43:10 +0000 (17:43 +0400)
committerDaniel Veillard <veillard@redhat.com>
Tue, 11 Dec 2012 08:26:32 +0000 (16:26 +0800)
Add function for convertion bus from libvirt's numeric constant
to a name, used in a parallels command-line tools.

Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com>
src/parallels/parallels_driver.c

index b50026bd67fea4ef6087f9f302a7f27dad440495..44af70ffac39c0eb26e6ee7de5de827cdf8106e5 100644 (file)
 
 static int parallelsClose(virConnectPtr conn);
 
+static const char * parallelsGetDiskBusName(int bus) {
+    switch (bus) {
+    case VIR_DOMAIN_DISK_BUS_IDE:
+        return "ide";
+    case VIR_DOMAIN_DISK_BUS_SATA:
+        return "sata";
+    case VIR_DOMAIN_DISK_BUS_SCSI:
+        return "scsi";
+    default:
+        return NULL;
+    }
+}
+
 void
 parallelsDriverLock(parallelsConnPtr driver)
 {
@@ -1529,17 +1542,12 @@ parallelsApplyDisksParams(parallelsDomObjPtr pdom,
             strpos[15] = '\0';
             snprintf(strpos, 15, "%d", newdisk->info.addr.drive.target);
 
-            switch (newdisk->bus) {
-            case VIR_DOMAIN_DISK_BUS_IDE:
-                strbus = "ide";
-                break;
-            case VIR_DOMAIN_DISK_BUS_SATA:
-                strbus = "sata";
-                break;
-            case VIR_DOMAIN_DISK_BUS_SCSI:
-                strbus = "scsi";
-                break;
+            if (!(strbus = parallelsGetDiskBusName(newdisk->bus))) {
+                virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED,
+                               _("Unsupported disk bus: %d", newdisk->bus));
+                return -1;
             }
+
             if (parallelsCmdRun(PRLCTL, "set", pdom->uuid,
                                 "--device-set", prlname,
                                 "--iface", strbus,