mirror of https://gitee.com/openkylin/libvirt.git
qemuBlockStorageSourceNeedsStorageSliceLayer: Deal with 'luks' files
The 'luks' driver in qemu is as any other non-raw format driver and thus doesn't support the properties for 'slice'. Since libvirt considers luks files to be raw+encryption we need to special case them when dealing with the slice. https://bugzilla.redhat.com/show_bug.cgi?id=1814975 Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
a8bcbb4217
commit
7393be3bbc
|
@ -3324,5 +3324,9 @@ qemuBlockStorageSourceNeedsStorageSliceLayer(const virStorageSource *src)
|
|||
if (src->format != VIR_STORAGE_FILE_RAW)
|
||||
return true;
|
||||
|
||||
if (src->encryption &&
|
||||
src->encryption->format == VIR_STORAGE_ENCRYPTION_FORMAT_LUKS)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -52,9 +52,12 @@ data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\
|
|||
keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \
|
||||
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/luks.img",\
|
||||
"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
|
||||
-blockdev '{"driver":"raw","node-name":"libvirt-1-slice-sto","offset":1234,\
|
||||
"size":321,"file":"libvirt-1-storage","auto-read-only":true,\
|
||||
"discard":"unmap"}' \
|
||||
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"luks",\
|
||||
"key-secret":"libvirt-1-format-encryption-secret0","offset":1234,"size":321,\
|
||||
"file":"libvirt-1-storage"}' \
|
||||
"file":"libvirt-1-slice-sto"}' \
|
||||
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=libvirt-1-format,\
|
||||
id=virtio-disk2 \
|
||||
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 \
|
||||
|
|
Loading…
Reference in New Issue