
On Tue, Oct 13, 2015 at 10:39:58AM +0800, justlibvirt@gmail.com wrote:
Hi everyone!
Hi, 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 message.
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! >
-- /kashyap