[libvirt-users] virsh can't support VM offline blockcommit

Kashyap Chamarthy kchamart at redhat.com
Tue Oct 13 13:55:01 UTC 2015

On Tue, Oct 13, 2015 at 10:39:58AM +0800, justlibvirt at gmail.com wrote:
> Hi  everyone!


Firstly, please don't post the same message multiple times in a row.  If
someone hasn't responded, they're either busy, or haven't noticed this

>      I use the libvirt(version: 1.2.2) and QEMU(version: 2.2.1) to
>      test qemu snapshot features:
>      I tried virsh blockcommit when VM offline,  the virsh blockcommit
>      failed: the error messase as below: error: Requested operation is
>      not valid: domain is not running when I start the VM,  the virsh
>      blockcommit  work fine!  my question is:we need virsh support
>      blockcommit when VM offline。how do?

As near as I know, 'blockcommit' hasn't yet gotten offline support.

>     we  test qemu snapshot as follows: we need  create  snapshot of
>     the cycle,and  by virsh blockcommit merge snapshot chain,but
>     when VM offline, the virsh blockcommit will fail, someone
>     suggest me:when VM offline,may use qemu-img commit to submit
>     snapshot turn,but qemu-img can't modify snapshot chain backing
>     relation,it need we use qemu-img  rebase amend snapshot‘s
>     backingfile, 

As you note there's the 'qemu-img commit' primitive that allows you to
commit the changes in an overlay back into its base image:

If you have:  base.qcow2 <-- overlay1.qcow2 <-- overlay2.qcow2

And, if you do:

    $ qemu-img commit overlay2.qcow2

It'll commit the contents of overlay2.qcow2 into overlay1.qcow2.

And, indeed use the 'qemu-img rebase' to modify the backing file is the
only method I know of, for offline operations.

>     the main question is when we use qemu-img rebase
>     modify snapshot's backingfile, if someone start the VM, it  will
>     may lead to VM filesystem readonly。

Though I haven't tested this recently, why would it lead to VM
filesystem becoming read-only?  

>    we  should how to  solve the question?   thanks!  > 


More information about the libvirt-users mailing list