I just tried to test this series built from Eric's libvirt git repo, and
QEMU built from its git.
On a live (or offline guest) I see the below:
$ virsh blockcommit f20vm1 vda --shallow --wait \
--verbose --pivot --active
error: unsupported flags (0x4) in function qemuDomainBlockCommit
I also tried:
$ virsh blockcommit --domain f20vm1 vda \
--base /home/kashyap/vmimages/snap3-f20vm1.qcow2 \
--top /home/kashyap/vmimages/snap4-f20vm1.qcow2 \
--wait --verbose --pivot --active
error: unsupported flags (0x4) in function qemuDomainBlockCommit
Is that expected?
Test notes below on QEMU and Libvirt commit details.
Details
=======
QEMU info
---------
Build a local QEMU with this git commit.
$ git log | head -6
commit 0360fbd076e8bdbb9498598b0c559464346babe4
Merge: af44da8 d3606f0
Author: Peter Maydell <peter.maydell(a)linaro.org>
Date: Tue Jun 17 16:08:06 2014 +0100
Merge remote-tracking branch 'remotes/riku/linux-user-for-upstream' into
staging
libvirt info
------------
How I built the libvirt:
$ git clone git://repo.or.cz/libvirt/ericb.git && cd ericb
$ git log | head -5
commit c23db4dbc9b4ed91b37ba5d8ee1eff6bb8b32b0e
Author: Eric Blake <eblake(a)redhat.com>
Date: Thu Jun 5 13:26:56 2014 -0600
blockcommit: turn on active commit
$ ./autgen.sh && make -j4 && make rpm
$ cd ~/rpmbuild/RPMS/x86_64
$ rpm -Uvh *.rpm
$ virsh --version
1.2.6
Test
----
0. Edit the libvirt XML of the guest to point to the newly build QEMU
from above.
$ virsh dumpxml f20vm1 | grep qemu-system-x86_64
<emulator>/home/kashyap/build/qemu/x86_64-softmmu/qemu-system-x86_64</emulator>
1. Start the guest and list it:
$ virsh list
Id Name State
----------------------------------------------------
5 f20vm1 running
(Note: All the images, including base are QCOW2 disk images.)
2. Create 4 live, disk-only external snapshots.
$ virsh snapshot-create-as f20vm1 snap1 snap1-desc \
--diskspec vda,file=/home/kashyap/vmimages/snap1-f20vm1.qcow2
--disk-only
(Repeat the above 4 times. Before taking each snapshot, add a file
(/root/file1 or some such) to distinguish content from each snapshot
image.)
3. List the snapshots
$ virsh snapshot-list f20vm1
Name Creation Time State
------------------------------------------------------------
snap1 2014-06-21 02:28:26 +0530 disk-snapshot
snap2 2014-06-21 02:30:27 +0530 disk-snapshot
snap3 2014-06-21 02:31:38 +0530 disk-snapshot
snap4 2014-06-21 02:33:52 +0530 disk-snapshot
So, the current chain is:
base <-- snap1 <-- snap2 <-- snap3 <-- snap4
Desired chain:
base <-- snap4
4. Invoke blockcommit test:
$ virsh blockcommit f20vm1 vda --shallow --wait \
--verbose --pivot --active
error: unsupported flags (0x4) in function qemuDomainBlockCommit
What am I missing?
--
/kashyap