This is patchset v3 to add FSFreeze/FSThaw API for custom disk snapshotting. Changes to v2: * use "@acl: domain:fs_freeze" in remote driver (also applied to VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE flag) * added 'quiesced' attribute in live XML to preserve domains' quiesced state across libvirtd restarts * rebased to latest tree (v2: https://www.redhat.com/archives/libvir-list/2014-March/msg00306.html ) === Description === Currently FSFreeze and FSThaw are supported by qemu guest agent and they are used internally in snapshot-create command with --quiesce option. However, when users want to utilize the native snapshot feature of storage devices (such as LVM over iSCSI, enterprise storage appliances, etc.), they need to issue fsfreeze command separately from libvirt-driven snapshots. (OpenStack cinder provides these storages' snapshot feature, but it cannot quiesce the guest filesystems automatically for now.) Although virDomainQemuGuestAgent() API could be used for this purpose, it is only for debugging and is not supported officially. This patchset adds virDomainFSFreeze()/virDomainFSThaw() APIs and virsh domfsfreeze/domfsthaw commands to enable the users to freeze and thaw domain's filesystems cleanly. The APIs have flags option currently unsupported for future extension. --- Tomoki Sekiyama (5): Introduce virDomainFSFreeze() and virDomainFSThaw() public API remote: Implement virDomainFSFreeze and virDomainFSThaw qemu: Track domain quiesced status qemu: Implement virDomainFSFreeze and virDomainFSThaw virsh: Expose new virDomainFSFreeze and virDomainFSThaw API include/libvirt/libvirt.h.in | 6 ++ src/access/viraccessperm.c | 2 - src/access/viraccessperm.h | 6 ++ src/driver.h | 10 +++ src/libvirt.c | 70 ++++++++++++++++++++ src/libvirt_public.syms | 5 + src/qemu/qemu_domain.c | 5 + src/qemu/qemu_domain.h | 2 + src/qemu/qemu_driver.c | 144 ++++++++++++++++++++++++++++++++++++++---- src/remote/remote_driver.c | 2 + src/remote/remote_protocol.x | 25 +++++++ src/remote_protocol-structs | 9 +++ src/rpc/gendispatch.pl | 2 + tools/virsh-domain.c | 92 +++++++++++++++++++++++++++ tools/virsh.pod | 15 ++++ 15 files changed, 379 insertions(+), 16 deletions(-) -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list