[libvirt] [PATCH 0/4] Expose FSFreeze/FSThaw within the guest as commands

Tomoki Sekiyama tomoki.sekiyama at hds.com
Mon Nov 18 16:38:58 UTC 2013


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(-)




More information about the libvir-list mailing list