On Thu, Jul 17, 2014 at 1:18 AM, Eric Blake <ebl...@redhat.com> wrote: > On 07/16/2014 03:13 PM, Yuanzhen Gu wrote: >> Hi folks, >> >> >> I am going to make a patch, and need to find the pause and thaw(restore) >> function before and after taking Live QEMU Snapshot respectively. > > Libvirt has the ability to do just that, when taking external disk-only > snapshots. You can turn on libvirt debugging to trace what QMP/agent > commands are sent during the overall snapshot operation. > >> >> >> Basically, I'm using # (qemu) snapshot_blkdev <blockX> >> <snapshot-file><format> taking snapshot, >> http://wiki.qemu.org/Features/Snapshots my profile tool didn't work when >> giving command inside QMP. >> >> >> Does anyone know how to find the pause (freeze) and restore(thaw) function >> before and after taking snapshot? Or anyway using snapshot_blkdev command >> outside QEMU console? Thanks a lot in advance! > > You have to coordinate multiple commands: freeze to the guest agent, > then snapshot to QMP, then thaw to the guest agent. > > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org >
Just 2c: fsfreeze will not succeed if there are any container instances, for example Docker, running in the VM on same filesystem. This exact case can be fixed by extending agent` logic but it looks that the putting a note is enough.