1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-07 17:28:15 +00:00

qemu: Introduce qemuGetHostdevPath

Introduce a convenience function to handle formulating the hostdev path

Signed-off-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
John Ferlan 2015-06-16 13:58:44 -04:00
parent 8c43258ed5
commit 083cbe506b

View File

@ -1213,13 +1213,12 @@ qemuIsSharedHostdev(virDomainHostdevDefPtr hostdev)
static char * static char *
qemuGetSharedHostdevKey(virDomainHostdevDefPtr hostdev) qemuGetHostdevPath(virDomainHostdevDefPtr hostdev)
{ {
virDomainHostdevSubsysSCSIPtr scsisrc = &hostdev->source.subsys.u.scsi; virDomainHostdevSubsysSCSIPtr scsisrc = &hostdev->source.subsys.u.scsi;
virDomainHostdevSubsysSCSIHostPtr scsihostsrc = &scsisrc->u.host; virDomainHostdevSubsysSCSIHostPtr scsihostsrc = &scsisrc->u.host;
char *dev_name = NULL; char *dev_name = NULL;
char *dev_path = NULL; char *dev_path = NULL;
char *key = NULL;
if (!(dev_name = virSCSIDeviceGetDevName(NULL, if (!(dev_name = virSCSIDeviceGetDevName(NULL,
scsihostsrc->adapter, scsihostsrc->adapter,
@ -1228,19 +1227,33 @@ qemuGetSharedHostdevKey(virDomainHostdevDefPtr hostdev)
scsihostsrc->unit))) scsihostsrc->unit)))
goto cleanup; 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; goto cleanup;
if (!(key = qemuGetSharedDeviceKey(dev_path))) if (!(key = qemuGetSharedDeviceKey(dev_path)))
goto cleanup; goto cleanup;
cleanup: cleanup:
VIR_FREE(dev_name);
VIR_FREE(dev_path); VIR_FREE(dev_path);
return key; return key;
} }
static int static int
qemuAddSharedHostdev(virQEMUDriverPtr driver, qemuAddSharedHostdev(virQEMUDriverPtr driver,
virDomainHostdevDefPtr hostdev, virDomainHostdevDefPtr hostdev,