
On Sat, Jun 21, 2014 at 04:04:45PM +0530, Kashyap Chamarthy wrote:
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
Okay, I had a chat with Peter Krempa on #virt (OFTC). Couple of things: - I didn't restart libvirtd after I updated RPMs built from git. - After a restart, I tried active commit again via libvirt, this time it failed saying it's not supported on the QEMU binary I built from commit 0360fbd (17JUN). - I guess for your testing you must have tested by applying Jef's patches "block: make 'top' argument to bloc"[1] manually. Eric just pinged on #virt (OFTC) to clarify the above as I was writing this email. Thanks. [1] https://lists.gnu.org/archive/html/qemu-devel/2014-06/msg04060.html
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@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@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
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
-- /kashyap