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, various enterprise storage systems, 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 depends too much on specific hypervisor implementation. 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 has mountPoint and flags option currently unsupported for future extension, as virDomainFSTrim() API. Duplicated FSFreeze results in error caused by qemu guest agent. --- Tomoki Sekiyama (4): Introduce virDomainFSFreeze() public API remote: Implement virDomainFSFreeze and virDomainFSThaw qemu: Implement virDomainFSFreeze virsh: Expose new virDomainFSFreeze and virDomainFSThaw API include/libvirt/libvirt.h.in | 8 ++ src/access/viraccessperm.c | 2 - src/access/viraccessperm.h | 6 ++ src/driver.h | 12 ++++ src/libvirt.c | 92 +++++++++++++++++++++++++++ src/libvirt_public.syms | 6 ++ src/qemu/qemu_driver.c | 142 ++++++++++++++++++++++++++++++++++++++++++ src/remote/remote_driver.c | 2 + src/remote/remote_protocol.x | 26 +++++++- src/remote_protocol-structs | 12 ++++ src/rpc/gendispatch.pl | 2 + tools/virsh-domain.c | 108 ++++++++++++++++++++++++++++++++ tools/virsh.pod | 17 +++++ 13 files changed, 433 insertions(+), 2 deletions(-) -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list