]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
qemu: Introduce qemuGetHostdevPath
authorJohn Ferlan <jferlan@redhat.com>
Tue, 16 Jun 2015 17:58:44 +0000 (13:58 -0400)
committerJohn Ferlan <jferlan@redhat.com>
Wed, 8 Jul 2015 19:07:22 +0000 (15:07 -0400)
Introduce a convenience function to handle formulating the hostdev path

Signed-off-by: John Ferlan <jferlan@redhat.com>
src/qemu/qemu_conf.c

index 679e11b579deced5b166ef46028ac0a90b582aa0..391fb2c70fea81b2d17b57f48cdab98efbf2c561 100644 (file)
@@ -1213,13 +1213,12 @@ qemuIsSharedHostdev(virDomainHostdevDefPtr hostdev)
 
 
 static char *
-qemuGetSharedHostdevKey(virDomainHostdevDefPtr hostdev)
+qemuGetHostdevPath(virDomainHostdevDefPtr hostdev)
 {
     virDomainHostdevSubsysSCSIPtr scsisrc = &hostdev->source.subsys.u.scsi;
     virDomainHostdevSubsysSCSIHostPtr scsihostsrc = &scsisrc->u.host;
     char *dev_name = NULL;
     char *dev_path = NULL;
-    char *key = NULL;
 
     if (!(dev_name = virSCSIDeviceGetDevName(NULL,
                                              scsihostsrc->adapter,
@@ -1228,19 +1227,33 @@ qemuGetSharedHostdevKey(virDomainHostdevDefPtr hostdev)
                                              scsihostsrc->unit)))
         goto cleanup;
 
-    if (virAsprintf(&dev_path, "/dev/%s", dev_name) < 0)
+    ignore_value(virAsprintf(&dev_path, "/dev/%s", dev_name));
+
+ cleanup:
+    VIR_FREE(dev_name);
+    return dev_path;
+}
+
+
+static char *
+qemuGetSharedHostdevKey(virDomainHostdevDefPtr hostdev)
+{
+    char *key = NULL;
+    char *dev_path = NULL;
+
+    if (!(dev_path = qemuGetHostdevPath(hostdev)))
         goto cleanup;
 
     if (!(key = qemuGetSharedDeviceKey(dev_path)))
         goto cleanup;
 
  cleanup:
-    VIR_FREE(dev_name);
     VIR_FREE(dev_path);
 
     return key;
 }
 
+
 static int
 qemuAddSharedHostdev(virQEMUDriverPtr driver,
                      virDomainHostdevDefPtr hostdev,