mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
qemuDomainPrepareStorageSourceBlockdev: Set default encryption engine also when preparing virStorageSource
Originally the default encryption engine is populated in the disk
post-parse callback code. This works for disks but for any additional
images introduced either via the block copy API or via the backup API we
don't populate the default.
In case when the backup or block copy is requested on an encrypted image
this would then lead to an error:
error: internal error: Unexpected enum value 0 for virStorageEncryptionEngine
This patch adds another point where we populate the default which is
when setting up a virStorageSource for actual usage.
We keep the original setting in the post-parse callback as that's the
only point that is recorded in the XML file after definition.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2023674
Fixes: ab1d46d612
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
84d1347dbe
commit
1e085019ca
@ -10651,6 +10651,9 @@ qemuDomainPrepareStorageSourceBlockdev(virDomainDiskDef *disk,
|
||||
if (qemuBlockStorageSourceNeedsStorageSliceLayer(src))
|
||||
src->sliceStorage->nodename = g_strdup_printf("libvirt-%u-slice-sto", src->id);
|
||||
|
||||
if (src->encryption && src->encryption->engine == VIR_STORAGE_ENCRYPTION_ENGINE_DEFAULT)
|
||||
src->encryption->engine = VIR_STORAGE_ENCRYPTION_ENGINE_QEMU;
|
||||
|
||||
if (qemuDomainValidateStorageSource(src, priv->qemuCaps, false) < 0)
|
||||
return -1;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user