mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 05:35:25 +00:00
qemu: Add support for 'tlsHostname' setting of virStorageSource
Add validation and formatting of the blockdev props. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
47abbe0fd7
commit
e11f2eb7a8
@ -843,6 +843,7 @@ qemuBlockStorageSourceGetNBDProps(virStorageSource *src,
|
||||
{
|
||||
g_autoptr(virJSONValue) serverprops = NULL;
|
||||
const char *tlsAlias = src->tlsAlias;
|
||||
const char *tlsHostname = src->tlsHostname;
|
||||
virJSONValue *ret = NULL;
|
||||
|
||||
if (src->nhosts != 1) {
|
||||
@ -856,13 +857,16 @@ qemuBlockStorageSourceGetNBDProps(virStorageSource *src,
|
||||
if (!serverprops)
|
||||
return NULL;
|
||||
|
||||
if (onlytarget)
|
||||
if (onlytarget) {
|
||||
tlsAlias = NULL;
|
||||
tlsHostname = NULL;
|
||||
}
|
||||
|
||||
if (virJSONValueObjectAdd(&ret,
|
||||
"a:server", &serverprops,
|
||||
"S:export", src->path,
|
||||
"S:tls-creds", tlsAlias,
|
||||
"S:tls-hostname", tlsHostname,
|
||||
NULL) < 0)
|
||||
return NULL;
|
||||
|
||||
|
@ -4862,6 +4862,21 @@ qemuDomainValidateStorageSource(virStorageSource *src,
|
||||
}
|
||||
}
|
||||
|
||||
if (src->tlsHostname) {
|
||||
if (actualType != VIR_STORAGE_TYPE_NETWORK ||
|
||||
src->protocol != VIR_STORAGE_NET_PROTOCOL_NBD) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
_("'tlsHostname' field is supported only with NBD disks"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV_NBD_TLS_HOSTNAME)) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
_("'tlsHostname' field is not supported by this QEMU"));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user