mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
qemu: snapshot: Mark file becoming backingStore as read-only
For any backing file we set 'read-only' to true, but didn't do this when modifying the recorded backing store when creating external snapshots. This meant that qemu would attempt to open the backing-file read-write. This would fail for example when selinux is used as qemu doesn't have write permission for the backing file. https://bugzilla.redhat.com/show_bug.cgi?id=1781079 Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
35614b6022
commit
6f6a1763a1
@ -14606,6 +14606,7 @@ qemuDomainSnapshotCreateInactiveExternal(virQEMUDriverPtr driver,
|
||||
goto cleanup;
|
||||
|
||||
if (virStorageSourceHasBacking(defdisk->src)) {
|
||||
defdisk->src->readonly = true;
|
||||
newsrc->backingStore = g_steal_pointer(&defdisk->src);
|
||||
} else {
|
||||
virObjectUnref(defdisk->src);
|
||||
@ -15457,6 +15458,7 @@ qemuDomainSnapshotDiskUpdateSource(virQEMUDriverPtr driver,
|
||||
qemuDomainSnapshotDiskUpdateSourceRenumber(dd->disk->src);
|
||||
|
||||
if (dd->persistdisk) {
|
||||
dd->persistdisk->src->readonly = true;
|
||||
dd->persistsrc->backingStore = g_steal_pointer(&dd->persistdisk->src);
|
||||
dd->persistdisk->src = g_steal_pointer(&dd->persistsrc);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user