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

Add virConnectPtr for qemuBuildSCSIHostdevDrvStr

Add a conn for future patches to be able to grab the secret when
authenticating an iSCSI host device
This commit is contained in:
John Ferlan 2014-07-10 11:16:15 -04:00
parent 42957661dc
commit a062d1a1cc
5 changed files with 35 additions and 24 deletions

View File

@ -5125,7 +5125,8 @@ qemuBuildUSBHostdevUSBDevStr(virDomainHostdevDefPtr dev)
} }
char * char *
qemuBuildSCSIHostdevDrvStr(virDomainHostdevDefPtr dev, qemuBuildSCSIHostdevDrvStr(virConnectPtr conn ATTRIBUTE_UNUSED,
virDomainHostdevDefPtr dev,
virQEMUCapsPtr qemuCaps ATTRIBUTE_UNUSED, virQEMUCapsPtr qemuCaps ATTRIBUTE_UNUSED,
qemuBuildCommandLineCallbacksPtr callbacks) qemuBuildCommandLineCallbacksPtr callbacks)
{ {
@ -8999,7 +9000,7 @@ qemuBuildCommandLine(virConnectPtr conn,
char *drvstr; char *drvstr;
virCommandAddArg(cmd, "-drive"); virCommandAddArg(cmd, "-drive");
if (!(drvstr = qemuBuildSCSIHostdevDrvStr(hostdev, qemuCaps, callbacks))) if (!(drvstr = qemuBuildSCSIHostdevDrvStr(conn, hostdev, qemuCaps, callbacks)))
goto error; goto error;
virCommandAddArg(cmd, drvstr); virCommandAddArg(cmd, drvstr);
VIR_FREE(drvstr); VIR_FREE(drvstr);

View File

@ -170,10 +170,11 @@ char * qemuBuildUSBHostdevDevStr(virDomainDefPtr def,
virDomainHostdevDefPtr dev, virDomainHostdevDefPtr dev,
virQEMUCapsPtr qemuCaps); virQEMUCapsPtr qemuCaps);
char * qemuBuildSCSIHostdevDrvStr(virDomainHostdevDefPtr dev, char * qemuBuildSCSIHostdevDrvStr(virConnectPtr conn,
virDomainHostdevDefPtr dev,
virQEMUCapsPtr qemuCaps, virQEMUCapsPtr qemuCaps,
qemuBuildCommandLineCallbacksPtr callbacks) qemuBuildCommandLineCallbacksPtr callbacks)
ATTRIBUTE_NONNULL(3); ATTRIBUTE_NONNULL(4);
char * qemuBuildSCSIHostdevDevStr(virDomainDefPtr def, char * qemuBuildSCSIHostdevDevStr(virDomainDefPtr def,
virDomainHostdevDefPtr dev, virDomainHostdevDefPtr dev,
virQEMUCapsPtr qemuCaps); virQEMUCapsPtr qemuCaps);

View File

@ -6519,7 +6519,7 @@ qemuDomainAttachDeviceLive(virDomainObjPtr vm,
break; break;
case VIR_DOMAIN_DEVICE_HOSTDEV: case VIR_DOMAIN_DEVICE_HOSTDEV:
ret = qemuDomainAttachHostDevice(driver, vm, ret = qemuDomainAttachHostDevice(dom->conn, driver, vm,
dev->data.hostdev); dev->data.hostdev);
if (!ret) if (!ret)
dev->data.hostdev = NULL; dev->data.hostdev = NULL;
@ -6591,10 +6591,10 @@ qemuDomainDetachDeviceLive(virDomainObjPtr vm,
ret = qemuDomainDetachLease(driver, vm, dev->data.lease); ret = qemuDomainDetachLease(driver, vm, dev->data.lease);
break; break;
case VIR_DOMAIN_DEVICE_NET: case VIR_DOMAIN_DEVICE_NET:
ret = qemuDomainDetachNetDevice(driver, vm, dev); ret = qemuDomainDetachNetDevice(dom->conn, driver, vm, dev);
break; break;
case VIR_DOMAIN_DEVICE_HOSTDEV: case VIR_DOMAIN_DEVICE_HOSTDEV:
ret = qemuDomainDetachHostDevice(driver, vm, dev); ret = qemuDomainDetachHostDevice(dom->conn, driver, vm, dev);
break; break;
case VIR_DOMAIN_DEVICE_CHR: case VIR_DOMAIN_DEVICE_CHR:
ret = qemuDomainDetachChrDevice(driver, vm, dev->data.chr); ret = qemuDomainDetachChrDevice(driver, vm, dev->data.chr);

View File

@ -860,7 +860,7 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
* netdev-specific code as appropriate), then also added to * netdev-specific code as appropriate), then also added to
* the nets list (see cleanup:) if successful. * the nets list (see cleanup:) if successful.
*/ */
ret = qemuDomainAttachHostDevice(driver, vm, ret = qemuDomainAttachHostDevice(conn, driver, vm,
virDomainNetGetActualHostdev(net)); virDomainNetGetActualHostdev(net));
goto cleanup; goto cleanup;
} }
@ -1547,7 +1547,8 @@ qemuDomainAttachHostUSBDevice(virQEMUDriverPtr driver,
} }
static int static int
qemuDomainAttachHostSCSIDevice(virQEMUDriverPtr driver, qemuDomainAttachHostSCSIDevice(virConnectPtr conn,
virQEMUDriverPtr driver,
virDomainObjPtr vm, virDomainObjPtr vm,
virDomainHostdevDefPtr hostdev) virDomainHostdevDefPtr hostdev)
{ {
@ -1594,7 +1595,7 @@ qemuDomainAttachHostSCSIDevice(virQEMUDriverPtr driver,
if (qemuAssignDeviceHostdevAlias(vm->def, hostdev, -1) < 0) if (qemuAssignDeviceHostdevAlias(vm->def, hostdev, -1) < 0)
goto cleanup; goto cleanup;
if (!(drvstr = qemuBuildSCSIHostdevDrvStr(hostdev, priv->qemuCaps, if (!(drvstr = qemuBuildSCSIHostdevDrvStr(conn, hostdev, priv->qemuCaps,
&buildCommandLineCallbacks))) &buildCommandLineCallbacks)))
goto cleanup; goto cleanup;
@ -1642,7 +1643,8 @@ qemuDomainAttachHostSCSIDevice(virQEMUDriverPtr driver,
return ret; return ret;
} }
int qemuDomainAttachHostDevice(virQEMUDriverPtr driver, int qemuDomainAttachHostDevice(virConnectPtr conn,
virQEMUDriverPtr driver,
virDomainObjPtr vm, virDomainObjPtr vm,
virDomainHostdevDefPtr hostdev) virDomainHostdevDefPtr hostdev)
{ {
@ -1667,7 +1669,7 @@ int qemuDomainAttachHostDevice(virQEMUDriverPtr driver,
break; break;
case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI: case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI:
if (qemuDomainAttachHostSCSIDevice(driver, vm, if (qemuDomainAttachHostSCSIDevice(conn, driver, vm,
hostdev) < 0) hostdev) < 0)
goto error; goto error;
break; break;
@ -3265,7 +3267,8 @@ qemuDomainDetachHostUSBDevice(virQEMUDriverPtr driver,
} }
static int static int
qemuDomainDetachHostSCSIDevice(virQEMUDriverPtr driver, qemuDomainDetachHostSCSIDevice(virConnectPtr conn,
virQEMUDriverPtr driver,
virDomainObjPtr vm, virDomainObjPtr vm,
virDomainHostdevDefPtr detach) virDomainHostdevDefPtr detach)
{ {
@ -3286,7 +3289,7 @@ qemuDomainDetachHostSCSIDevice(virQEMUDriverPtr driver,
return -1; return -1;
} }
if (!(drvstr = qemuBuildSCSIHostdevDrvStr(detach, priv->qemuCaps, if (!(drvstr = qemuBuildSCSIHostdevDrvStr(conn, detach, priv->qemuCaps,
&buildCommandLineCallbacks))) &buildCommandLineCallbacks)))
goto cleanup; goto cleanup;
if (!(devstr = qemuBuildSCSIHostdevDevStr(vm->def, detach, priv->qemuCaps))) if (!(devstr = qemuBuildSCSIHostdevDevStr(vm->def, detach, priv->qemuCaps)))
@ -3317,7 +3320,8 @@ qemuDomainDetachHostSCSIDevice(virQEMUDriverPtr driver,
} }
static int static int
qemuDomainDetachThisHostDevice(virQEMUDriverPtr driver, qemuDomainDetachThisHostDevice(virConnectPtr conn,
virQEMUDriverPtr driver,
virDomainObjPtr vm, virDomainObjPtr vm,
virDomainHostdevDefPtr detach) virDomainHostdevDefPtr detach)
{ {
@ -3331,7 +3335,7 @@ qemuDomainDetachThisHostDevice(virQEMUDriverPtr driver,
ret = qemuDomainDetachHostUSBDevice(driver, vm, detach); ret = qemuDomainDetachHostUSBDevice(driver, vm, detach);
break; break;
case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI: case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI:
ret = qemuDomainDetachHostSCSIDevice(driver, vm, detach); ret = qemuDomainDetachHostSCSIDevice(conn, driver, vm, detach);
break; break;
default: default:
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
@ -3354,7 +3358,8 @@ qemuDomainDetachThisHostDevice(virQEMUDriverPtr driver,
} }
/* search for a hostdev matching dev and detach it */ /* search for a hostdev matching dev and detach it */
int qemuDomainDetachHostDevice(virQEMUDriverPtr driver, int qemuDomainDetachHostDevice(virConnectPtr conn,
virQEMUDriverPtr driver,
virDomainObjPtr vm, virDomainObjPtr vm,
virDomainDeviceDefPtr dev) virDomainDeviceDefPtr dev)
{ {
@ -3414,13 +3419,14 @@ int qemuDomainDetachHostDevice(virQEMUDriverPtr driver,
* function so that mac address / virtualport are reset * function so that mac address / virtualport are reset
*/ */
if (detach->parent.type == VIR_DOMAIN_DEVICE_NET) if (detach->parent.type == VIR_DOMAIN_DEVICE_NET)
return qemuDomainDetachNetDevice(driver, vm, &detach->parent); return qemuDomainDetachNetDevice(conn, driver, vm, &detach->parent);
else else
return qemuDomainDetachThisHostDevice(driver, vm, detach); return qemuDomainDetachThisHostDevice(conn, driver, vm, detach);
} }
int int
qemuDomainDetachNetDevice(virQEMUDriverPtr driver, qemuDomainDetachNetDevice(virConnectPtr conn,
virQEMUDriverPtr driver,
virDomainObjPtr vm, virDomainObjPtr vm,
virDomainDeviceDefPtr dev) virDomainDeviceDefPtr dev)
{ {
@ -3436,7 +3442,7 @@ qemuDomainDetachNetDevice(virQEMUDriverPtr driver,
if (virDomainNetGetActualType(detach) == VIR_DOMAIN_NET_TYPE_HOSTDEV) { if (virDomainNetGetActualType(detach) == VIR_DOMAIN_NET_TYPE_HOSTDEV) {
/* coverity[negative_returns] */ /* coverity[negative_returns] */
ret = qemuDomainDetachThisHostDevice(driver, vm, ret = qemuDomainDetachThisHostDevice(conn, driver, vm,
virDomainNetGetActualHostdev(detach)); virDomainNetGetActualHostdev(detach));
goto cleanup; goto cleanup;
} }

View File

@ -50,7 +50,8 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
int qemuDomainAttachRedirdevDevice(virQEMUDriverPtr driver, int qemuDomainAttachRedirdevDevice(virQEMUDriverPtr driver,
virDomainObjPtr vm, virDomainObjPtr vm,
virDomainRedirdevDefPtr hostdev); virDomainRedirdevDefPtr hostdev);
int qemuDomainAttachHostDevice(virQEMUDriverPtr driver, int qemuDomainAttachHostDevice(virConnectPtr conn,
virQEMUDriverPtr driver,
virDomainObjPtr vm, virDomainObjPtr vm,
virDomainHostdevDefPtr hostdev); virDomainHostdevDefPtr hostdev);
int qemuDomainChangeGraphics(virQEMUDriverPtr driver, int qemuDomainChangeGraphics(virQEMUDriverPtr driver,
@ -75,10 +76,12 @@ int qemuDomainDetachDeviceDiskLive(virQEMUDriverPtr driver,
int qemuDomainDetachControllerDevice(virQEMUDriverPtr driver, int qemuDomainDetachControllerDevice(virQEMUDriverPtr driver,
virDomainObjPtr vm, virDomainObjPtr vm,
virDomainDeviceDefPtr dev); virDomainDeviceDefPtr dev);
int qemuDomainDetachNetDevice(virQEMUDriverPtr driver, int qemuDomainDetachNetDevice(virConnectPtr conn,
virQEMUDriverPtr driver,
virDomainObjPtr vm, virDomainObjPtr vm,
virDomainDeviceDefPtr dev); virDomainDeviceDefPtr dev);
int qemuDomainDetachHostDevice(virQEMUDriverPtr driver, int qemuDomainDetachHostDevice(virConnectPtr conn,
virQEMUDriverPtr driver,
virDomainObjPtr vm, virDomainObjPtr vm,
virDomainDeviceDefPtr dev); virDomainDeviceDefPtr dev);
int qemuDomainAttachLease(virQEMUDriverPtr driver, int qemuDomainAttachLease(virQEMUDriverPtr driver,