I tracked it down. Found it was introduced in 1.7.0 and patched recently in qemu-kvm. Your version might have the fix backported, qemu-kvm-ev 2.1.2 from redhat/centos/fedora doesn't.
Libvirt sends a 'delvm <snapshotid>' to the qemu monitor via HMP, and Qemu, instead of looping over all disks, repeatedly looped over the first one. Thanks for looking at it. https://bugzilla.redhat.com/show_bug.cgi?id=1243102 commit af957387547b05ed6dc4d84c10cca42700a7aeda Author: Zhang Haoyu <[email protected]> Date: Mon Sep 29 16:38:02 2014 +0800 snapshot: fix referencing wrong variable in while loop in do_delvm The while loop variabal is "bs1", but "bs" is always passed to bdrv_snapshot_delete_by_id_or_name. Broken in commit a89d89d, v1.7.0. On Wed, Jul 15, 2015 at 7:26 PM, Chun Yan Liu <[email protected]> wrote: > > > >>> On 7/14/2015 at 05:42 AM, in message > <CALFpzo551ioR=w5asf7jxmtp8egqsp2au_o6awmyofz9mfg...@mail.gmail.com>, > Marcus > <[email protected]> wrote: > > Oh, I almost forgot to mention the versions: > > > > libvirt 1.2.8-16.0.1.el7_1.2.x86_64 > > > > qemu 2.1.2-23.el7_1.1.x86_64 > > Just FYI, tested on my machine, libvirt 1.2.5, qemu 2.0.0, didn't see this > problem. > Both disk snapshots are deleted. > > > > > > > Also, I'm unclear if the domain snapshot feature is orchestralted by > > libvirt, or something that is simply called into qemu to take care of. > > Please forgive me if this is a qemu issue. > > > > On Mon, Jul 13, 2015 at 2:35 PM, Marcus <[email protected]> wrote: > > > > > Hi all, > > > > > > I've recently been toying with VM snapshots, and have ran into an > > > issue. Given a VM with multiple disks, it seems a snapshot-create > followed > > > by a snapshot-delete will only remove the qcow2 snapshot for the first > disk > > > (or perhaps just the disk that contains the memory), not all of the > disk > > > snapshots it created. Is this something people are aware of? > > > > > > In searching around, I found a bug report where snapshot-creates > would > > > fail due to the qcow2 snapshot ids being inconsistent. That looks like > it > > > is patched for 2.4 qemu ( > > > http://lists.nongnu.org/archive/html/qemu-devel/2015-03/msg04963.html > ), > > > this bug would trigger that one by leaving IDs around that are > inconsistent > > > between member disks, but is not the same. > > > > > > # virsh snapshot-create 7 > > > > > > Domain snapshot 1436792720 created > > > > > > > > > # virsh snapshot-list 7 > > > > > > Name Creation Time State > > > > > > ------------------------------------------------------------ > > > > > > 1436792720 2015-07-13 06:05:20 -0700 running > > > > > > > > > # virsh domblklist 7 > > > > > > Target Source > > > > > > ------------------------------------------------ > > > > > > vda > > > > > > /mnt/2a270ef3-f389-37a4-942f-380bed9f70aa/e4d6e885-1382-40bc-890b-ad9c8b51a7a > > 5 > > > > > > vdb > > > > > > /mnt/2a270ef3-f389-37a4-942f-380bed9f70aa/7033e4c6-5f59-4325-b7e0-ae191e12e86 > > c > > > > > > > > > # qemu-img snapshot -l > > > > > > /mnt/2a270ef3-f389-37a4-942f-380bed9f70aa/e4d6e885-1382-40bc-890b-ad9c8b51a7a > > 5 > > > > > > Snapshot list: > > > > > > ID TAG VM SIZE DATE VM > CLOCK > > > > > > 1 1436792720 173M 2015-07-13 06:05:20 > 00:01:10.938 > > > > > > > > > # qemu-img snapshot -l > > > > > > /mnt/2a270ef3-f389-37a4-942f-380bed9f70aa/7033e4c6-5f59-4325-b7e0-ae191e12e86 > > c > > > > > > Snapshot list: > > > > > > ID TAG VM SIZE DATE VM > CLOCK > > > > > > 1 1436792720 0 2015-07-13 06:05:20 > 00:01:10.938 > > > > > > > > > # virsh snapshot-delete 7 1436792720 > > > > > > Domain snapshot 1436792720 deleted > > > > > > > > > # qemu-img snapshot -l > > > > > > /mnt/2a270ef3-f389-37a4-942f-380bed9f70aa/e4d6e885-1382-40bc-890b-ad9c8b51a7a > > 5 > > > > > > # qemu-img snapshot -l > > > > > > /mnt/2a270ef3-f389-37a4-942f-380bed9f70aa/7033e4c6-5f59-4325-b7e0-ae191e12e86 > > c > > > > > > Snapshot list: > > > > > > ID TAG VM SIZE DATE VM > CLOCK > > > > > > 1 1436792720 0 2015-07-13 06:05:20 > 00:01:10.938 > > > > > > >
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
