[libvirt] [PATCH v3 0/5] Next round of active commit support

Kashyap Chamarthy kchamart at redhat.com
Sat Jun 21 10:34:45 UTC 2014


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 at 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 at 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




More information about the libvir-list mailing list