[libvirt] [PATCH v2 1/3] virDomainGetDiskErrors public API and remote protocol
Jiri Denemark
jdenemar at redhat.com
Tue Jan 31 19:31:27 UTC 2012
On Mon, Jan 30, 2012 at 15:56:11 -0700, Eric Blake wrote:
> On 01/30/2012 09:00 AM, Jiri Denemark wrote:
> > We already provide ways to detect when a domain has been paused as a
> > result of I/O error, but there was no way of getting the exact error or
> > even the device that experienced it. This new API may be used for both.
> > ---
> > daemon/remote.c | 40 ++++++++++++++++++++++++++++++++
> > include/libvirt/libvirt.h.in | 32 +++++++++++++++++++++++++
> > python/generator.py | 3 +-
> > src/driver.h | 7 +++++
> > src/libvirt.c | 52 ++++++++++++++++++++++++++++++++++++++++++
> > src/libvirt_public.syms | 1 +
> > src/remote/remote_driver.c | 34 +++++++++++++++++++++++++++
> > src/remote/remote_protocol.x | 22 +++++++++++++++++-
> > src/remote_protocol-structs | 16 +++++++++++++
> > src/rpc/gendispatch.pl | 47 +++++++++++++++++++++++++++++++++++++
> > 10 files changed, 252 insertions(+), 2 deletions(-)
>
> This is big enough that I might have split it into public API (include,
> python, src/{driver.h,libvirt.c,libvirt_public.syms}) and RPC
> implementation (daemon, src/remote, src/rpc). But I'll go ahead and
> review this, whether or not you split it.
I did so and addressed the other comments in v3.
...
> > /*----- Protocol. -----*/
> >
> > @@ -2708,7 +2727,8 @@ enum remote_procedure {
> > REMOTE_PROC_STORAGE_VOL_RESIZE = 260, /* autogen autogen */
> >
> > REMOTE_PROC_DOMAIN_PM_SUSPEND_FOR_DURATION = 261, /* autogen autogen */
> > - REMOTE_PROC_DOMAIN_GET_CPU_STATS = 262 /* skipgen skipgen */
> > + REMOTE_PROC_DOMAIN_GET_CPU_STATS = 262, /* skipgen skipgen */
> > + REMOTE_PROC_DOMAIN_GET_DISK_ERRORS = 263 /* autogen autogen */
>
> Nice that you figured out how to autogen the serialize/deserialize
> calls.
Yeah, although I didn't try so hard after making this a multi-return call, so
v3 now uses skipgen skipgen :-)
> We should probably do the same for a lot of the virTypedParameter clients
> someday
The generator already seems to know how to deal with virTypedParameter but
only for APIs with only one item in their *_ret structure.
Jirka
More information about the libvir-list
mailing list