On 11/21/2014 08:27 PM, Tomoki Sekiyama wrote:
Hi,
This is v3 of patchset to add virDomainGetFSInfo API.
* changes in v2->v3:
-[all] squashed fixup patches by John Ferlan (thanks!)
-[all] added 'ndevAlias' filed instead of NULL-termination of devAlias
-[all] renamed 'type' field to 'fstype' to avoid wireshark genxdrstub.pl
error
-[2/5] use @acl: domain:fs_freeze
(v2:
http://www.redhat.com/archives/libvir-list/2014-November/msg00559.html )
* changes in v1->v2:
-[all] removed redundant NULL element at the last of returned info array
-[3/5] make error messages in qemu_agent.c consistent with other commands
-[4/5] added a test case for 2 items in info->devAliases
-[5/5] added a pod document for virsh domfsinfo command
(v1:
http://www.redhat.com/archives/libvir-list/2014-October/msg00001.html )
* summary
This series implements a new virDomainGetFSInfo API, that returns a list of
mounted filesystems information in the guest, collected via the guest agent.
The returned info contains mountpoints and disk device alias named in
libvirt, so we can know which mountpoints should be frozen by
virDomainFSFreeze to take snapshots of a part of disks.
ACK series w/ 2 minor changes (which I made)
- the 'ndisk' in daemon/remote.c should be a 'size_t' not an
'int'
since it's a copy of the (new) ndevAlias (which is a size_t).
- Use QEMU_JOB_QUERY not MODIFY since that's what was agreed upon
during v2 review
Also fixed up the (now) merge conflicts w/ the agent lifecycle series
that got pushed before this...
And pushed
John
---
Tomoki Sekiyama (5):
Implement public API for virDomainGetFSInfo
remote: Implement the remote protocol for virDomainGetFSInfo
qemu: Implement the qemu driver for virDomainGetFSInfo
qemu: add test for qemuAgentGetFSInfo
virsh: expose virDomainGetFSInfo
daemon/remote.c | 113 +++++++++++++++++++
include/libvirt/libvirt-domain.h | 22 ++++
src/conf/domain_conf.c | 71 ++++++++++++
src/conf/domain_conf.h | 6 +
src/driver-hypervisor.h | 6 +
src/libvirt.c | 68 ++++++++++++
src/libvirt_private.syms | 1
src/libvirt_public.syms | 6 +
src/qemu/qemu_agent.c | 176 ++++++++++++++++++++++++++++++
src/qemu/qemu_agent.h | 2
src/qemu/qemu_driver.c | 48 ++++++++
src/remote/remote_driver.c | 93 ++++++++++++++++
src/remote/remote_protocol.x | 32 +++++
src/remote_protocol-structs | 21 ++++
src/rpc/gendispatch.pl | 1
tests/Makefile.am | 1
tests/qemuagentdata/qemuagent-fsinfo.xml | 39 +++++++
tests/qemuagenttest.c | 144 +++++++++++++++++++++++++
tools/virsh-domain.c | 70 ++++++++++++
tools/virsh.pod | 9 ++
20 files changed, 928 insertions(+), 1 deletion(-)
create mode 100644 tests/qemuagentdata/qemuagent-fsinfo.xml
--
Tomoki Sekiyama