Any comments for this patchset? On 4/3/14 11:39 , "Tomoki Sekiyama" <tomoki.sekiyama@xxxxxxx> wrote: >Hello, > >This is patchset v5 to add FSFreeze/FSThaw API for custom disk >snapshotting. > >Changes to v4: > * add disks and ndisks parameter to specify disks to be frozen/thawed > * make fsfreeze requests nestable > * change api version to 1.2.4 > (v4: >https://www.redhat.com/archives/libvir-list/2014-March/msg01674.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. > > <updated> >The APIs take disks and ndisks parameters, which is a list of disk names >to be frozen/thawed. If the option is not provided, every mounted >filesystem is frozen/thawed. > >The fsfreeze can be nestable. When fsfreeze requests to a disk are issued >multiple times, it is not thawed until the fsthaw requests are issued as >many times as the freeze requests. > >Currently, qemu driver doesn't support disks parameter because the guest >agent doesn't have means to specify disks to be frozen/thawed. Hence, it >just counts depth of fsfreeze per domain, not per disk, so far. > </updated> > >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 and make fsfreeze/thaw nestable > qemu: Implement virDomainFSFreeze and virDomainFSThaw > virsh: Expose new virDomainFSFreeze and virDomainFSThaw API > > > include/libvirt/libvirt.h.in | 10 +++ > src/access/viraccessperm.c | 2 - > src/access/viraccessperm.h | 6 ++ > src/driver.h | 14 ++++ > src/libvirt.c | 92 ++++++++++++++++++++++++ > src/libvirt_public.syms | 6 ++ > src/qemu/qemu_domain.c | 6 ++ > src/qemu/qemu_domain.h | 2 + > src/qemu/qemu_driver.c | 159 >++++++++++++++++++++++++++++++++++++++---- > src/remote/remote_driver.c | 2 + > src/remote/remote_protocol.x | 30 +++++++- > src/remote_protocol-structs | 18 +++++ > src/rpc/gendispatch.pl | 2 + > tools/virsh-domain.c | 128 ++++++++++++++++++++++++++++++++++ > tools/virsh.pod | 23 ++++++ > 15 files changed, 483 insertions(+), 17 deletions(-) -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list