
On Fri, Feb 07, 2020 at 15:25:22 +0100, Lentes, Bernd wrote:
Hi,
i'm cuurently a bit confused if a guest does have a valid snapshot or not. This is the xml: ... <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/crispor_1604/crispor_1604.sn'/> <backingStore type='file' index='1'> <format type='raw'/> <source file='/var/lib/libvirt/images/crispor_1604/crispor_1604.img'/> <backingStore/> </backingStore> <target dev='vda' bus='virtio'/> <alias name='virtio-disk0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> ...
both files are currently in access by the respective qemu process. lsof: qemu-kvm 19533 root 13u REG 253,0 29761732608 12091393 /var/lib/libvirt/images/crispor_1604/crispor_1604.sn qemu-kvm 19533 root 14r REG 253,0 111561775513 44793857 /var/lib/libvirt/images/crispor_1604/crispor_1604.img
Here are both files: pc60181:/var/lib/libvirt/images/crispor_1604 # ll ... -rw------- 1 root root 111561775513 Oct 22 15:23 crispor_1604.img -rw-r--r-- 1 root root 29761732608 Feb 7 15:13 crispor_1604.sn
crispor_1604.sn has a recent timestamp.
The snapshot is currently in use: virsh # domblklist crispor_1604 Target Source ------------------------------------------------ vda /var/lib/libvirt/images/crispor_1604/crispor_1604.sn
But virsh does not show any snapshot:
virsh # snapshot-list crispor_1604 Name Creation Time State ------------------------------------------------------------
Libvirt is probably lacking the metadata for the snapshot. That is not a problem though, because since libvirt doesn't support deletion of external snapshots anyways currently you'd need to use the below approach anyways.
So i'm a bit confused. Does it have a valid snapshot or not. How can i find out and how can i get rid of it ?
virsh blockcommit crispor_1604 vda --active --pivot in the case above. that merges the file='/var/lib/libvirt/images/crispor_1604/crispor_1604.sn'/ into file='/var/lib/libvirt/images/crispor_1604/crispor_1604.img'/ and finishes the job. If you have more complex backing chain you might want to use the --top and --base arguments to control which portion to merge as the command I've suggested merges everything into the bottom-most image.