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

Kashyap Chamarthy kchamart at redhat.com
Mon Jun 23 12:31:59 UTC 2014


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 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
> 
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list

-- 
/kashyap




More information about the libvir-list mailing list