[libvirt] [PATCH v2 0/5] Guest filesystem information API
John Ferlan
jferlan at redhat.com
Thu Nov 20 18:11:50 UTC 2014
On 11/20/2014 07:33 AM, Michal Privoznik wrote:
> On 19.11.2014 23:58, John Ferlan wrote:
>>
>>
>> On 11/17/2014 06:26 PM, Tomoki Sekiyama wrote:
>>> Hi,
>>>
>>> This is v2 of patchset to add virDomainGetFSInfo API.
>>>
>>> * 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.
>>>
>>> ---
>>> 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 | 117 ++++++++++++++++++++
>>> include/libvirt/libvirt-domain.h | 21 ++++
>>> src/conf/domain_conf.c | 71 ++++++++++++
>>> src/conf/domain_conf.h | 6 +
>>> src/driver-hypervisor.h | 6 +
>>> src/libvirt.c | 66 +++++++++++
>>> src/libvirt_private.syms | 1
>>> src/libvirt_public.syms | 6 +
>>> src/qemu/qemu_agent.c | 178 ++++++++++++++++++++++++++++++
>>> src/qemu/qemu_agent.h | 2
>>> src/qemu/qemu_driver.c | 48 ++++++++
>>> src/remote/remote_driver.c | 92 ++++++++++++++++
>>> 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 | 143 ++++++++++++++++++++++++
>>> tools/virsh-domain.c | 74 ++++++++++++
>>> tools/virsh.pod | 9 ++
>>> 20 files changed, 933 insertions(+), 1 deletion(-)
>>> create mode 100644 tests/qemuagentdata/qemuagent-fsinfo.xml
>>>
>>> --
>>>
>>> Tomoki Sekiyama
>>>
>>
>>
>> I reviewed the 'libvirt' specific changes - had a few comments and have
>> made changes to my review branch as specified. As long as you're OK
>> with those changes I will get these pushed.
>>
>> I'm also hoping someone else (eblake?) can look at the remote_protocol.x
>> changes to ensure they encompass everything they are supposed to. Also
>> that the usage of QEMU_JOB_QUERY not _MODIFY for the GetFSInfo seems
>> more appropriate and is in line with the various remote_protocol.x
>> settings (@acl/@generate stuff settings).
>
>
> @generate is correct, since both, client and server implementations are
> provided.
> @acl looks consistent to the rest. Correct, for querying domain info you
> need to have read permission and that's it.
>
> And yes, the job should be _QUERY since we are querying info, not
> modifying domain in any way.
>
> However, for some reason I see this build error after 2/5:
>
> make[3]: Entering directory
> '/home/zippy/work/libvirt/libvirt.git/tools/wireshark/src'
> CC libvirt_la-packet-libvirt.lo
> In file included from libvirt/protocol.h:5:0,
> from packet-libvirt.h:112,
> from packet-libvirt.c:36:
> ./libvirt/remote.h: In function 'dissect_xdr_remote_typed_param_value':
> ./libvirt/remote.h:470:5: error: unknown type name 'remote_nonnull_string'
> remote_nonnull_string type = 0;
> ^
> ./libvirt/remote.h:473:5: warning: implicit declaration of function
> 'xdr_remote_nonnull_string' [-Wimplicit-function-declaration]
> if (!xdr_remote_nonnull_string(xdrs, &type))
> ^
> Makefile:1934: recipe for target 'libvirt_la-packet-libvirt.lo' failed
> make[3]: *** [libvirt_la-packet-libvirt.lo] Error 1
>
>
>
Strange - I don't see this. My ./tools/wireshark/src/libvirt/remote.h
doesn't even have that line. Stranger still, my config.log (after make
clean; ./autogen.sh --system; make j4) has:
configure:69348: checking for wireshark
configure:69381: result: no
Could it be environmental? Could it be some config option? Perhaps
something installed? I have for wireshark on my f20 system:
wireshark.x86_64 1.10.10-1.fc20 @updates
John
More information about the libvir-list
mailing list