提交 9083586b 编写于 作者: P Peter Krempa

qemu: domain: Set up disk TLS alias when preparing TLS setup

Move the TLS object alias setup earlier. Also make sure that the alias
is not overwritten on hotplug.
Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
Reviewed-by: NJán Tomko <jtomko@redhat.com>
上级 da49ff2c
......@@ -791,9 +791,6 @@ qemuBuildDiskSrcTLSx509CommandLine(virCommandPtr cmd,
/* other protocols may be added later */
if (src->protocol == VIR_STORAGE_NET_PROTOCOL_VXHS &&
src->haveTLS == VIR_TRISTATE_BOOL_YES) {
if (!(src->tlsAlias = qemuAliasTLSObjFromSrcAlias(srcalias)))
return -1;
return qemuBuildTLSx509CommandLine(cmd, src->tlsCertdir,
false, src->tlsVerify,
false, srcalias, qemuCaps);
......
......@@ -9957,6 +9957,7 @@ qemuProcessPrepareStorageSourceTLSVxhs(virStorageSourcePtr src,
/* qemuProcessPrepareStorageSourceTLS:
* @source: source for a disk
* @cfg: driver configuration
* @parentAlias: alias of the parent device
*
* Updates host interface TLS encryption setting based on qemu.conf
* for disk devices. This will be presented as "tls='yes|no'" in
......@@ -9966,7 +9967,8 @@ qemuProcessPrepareStorageSourceTLSVxhs(virStorageSourcePtr src,
*/
static int
qemuDomainPrepareStorageSourceTLS(virStorageSourcePtr src,
virQEMUDriverConfigPtr cfg)
virQEMUDriverConfigPtr cfg,
const char *parentAlias)
{
if (virStorageSourceGetActualType(src) != VIR_STORAGE_TYPE_NETWORK)
return 0;
......@@ -10003,6 +10005,10 @@ qemuDomainPrepareStorageSourceTLS(virStorageSourcePtr src,
return -1;
}
if (src->haveTLS == VIR_TRISTATE_BOOL_YES &&
!(src->tlsAlias = qemuAliasTLSObjFromSrcAlias(parentAlias)))
return -1;
return 0;
}
......@@ -12516,6 +12522,9 @@ qemuDomainPrepareDiskSourceLegacy(virDomainDiskDefPtr disk,
if (qemuDomainPrepareStorageSourcePR(disk->src, priv, disk->info.alias) < 0)
return -1;
if (qemuDomainPrepareStorageSourceTLS(disk->src, cfg, disk->info.alias) < 0)
return -1;
return 0;
}
......@@ -12530,9 +12539,6 @@ qemuDomainPrepareDiskSource(virDomainDiskDefPtr disk,
if (qemuDomainPrepareDiskSourceLegacy(disk, priv, cfg) < 0)
return -1;
if (qemuDomainPrepareStorageSourceTLS(disk->src, cfg) < 0)
return -1;
return 0;
}
......
......@@ -156,8 +156,7 @@ qemuHotplugPrepareDiskAccess(virQEMUDriverPtr driver,
static int
qemuDomainAddDiskSrcTLSObject(virQEMUDriverPtr driver,
virDomainObjPtr vm,
virStorageSourcePtr src,
const char *srcalias)
virStorageSourcePtr src)
{
int ret = -1;
qemuDomainObjPrivatePtr priv = vm->privateData;
......@@ -167,7 +166,7 @@ qemuDomainAddDiskSrcTLSObject(virQEMUDriverPtr driver,
src->tlsCertdir,
false,
src->tlsVerify,
srcalias, &tlsProps, &src->tlsAlias,
NULL, &tlsProps, NULL,
NULL, NULL) < 0)
goto cleanup;
......@@ -471,8 +470,7 @@ qemuDomainAttachDiskGeneric(virQEMUDriverPtr driver,
prdStarted = true;
if (disk->src->haveTLS &&
qemuDomainAddDiskSrcTLSObject(driver, vm, disk->src,
disk->info.alias) < 0)
qemuDomainAddDiskSrcTLSObject(driver, vm, disk->src) < 0)
goto error;
if (!(drivestr = qemuBuildDriveStr(disk, false, priv->qemuCaps)))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册