On Mon, Sep 05, 2011 at 04:38:28PM +0800, Osier Yang wrote: > --- > include/libvirt/libvirt.h.in | 84 ++++++++++++++++++++++++++++++++++++++++++ > src/libvirt_public.syms | 1 + > 2 files changed, 85 insertions(+), 0 deletions(-) > > diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in > index 8864865..735ea94 100644 > --- a/include/libvirt/libvirt.h.in > +++ b/include/libvirt/libvirt.h.in > @@ -574,6 +574,85 @@ struct _virDomainBlockStats { > */ > typedef virDomainBlockStatsStruct *virDomainBlockStatsPtr; > > + > +/** > + * VIR_DOMAIN_BLOCK_STATS_FIELD_LENGTH: > + * > + * Macro providing the field length of virDomainBlockStatsFlagsStruct > + */ > +#define VIR_DOMAIN_BLOCK_STATS_FIELD_LENGTH 80 > + > +/** > + * VIR_DOMAIN_BLOCK_STATS_READ_BYTES: > + * > + * Macro represents the total number of read bytes of the > + * block device. > + */ > +#define VIR_DOMAIN_BLOCK_STATS_READ_BYTES "rd_bytes" > + > +/** > + * VIR_DOMAIN_BLOCK_STATS_READ_REQ: > + * > + * Macro represents the total read requests of the > + * block device. > + */ > +#define VIR_DOMAIN_BLOCK_STATS_READ_REQ "rd_operations" > + > +/** > + * VIR_DOMAIN_BLOCK_STATS_READ_TOTAL_TIMES: > + * > + * Macro represents the total time spend on cache reads in > + * nano-seconds of the block device. > + */ > +#define VIR_DOMAIN_BLOCK_STATS_READ_TOTAL_TIMES "rd_total_times" > + > +/** > + * VIR_DOMAIN_BLOCK_STATS_WRITE_BYTES: > + * > + * Macro represents the total number of write bytes of the > + * block device. > + */ > +#define VIR_DOMAIN_BLOCK_STATS_WRITE_BYTES "wr_bytes" > + > +/** > + * VIR_DOMAIN_BLOCK_STATS_WRITE_REQ: > + * > + * Macro represents the total write requests of the > + * block device. > + */ > +#define VIR_DOMAIN_BLOCK_STATS_WRITE_REQ "wr_operations" > + > +/** > + * VIR_DOMAIN_BLOCK_STATS_WRITE_TOTAL_TIMES: > + * > + * Macro represents the total time spend on cache writes in > + * nano-seconds of the block device. > + */ > +#define VIR_DOMAIN_BLOCK_STATS_WRITE_TOTAL_TIMES "wr_total_times" > + > +/** > + * VIR_DOMAIN_BLOCK_STATS_FLUSH_REQ: > + * > + * Macro represents the total flush requests of the > + * block device. > + */ > +#define VIR_DOMAIN_BLOCK_STATS_FLUSH_REQ "flush_operations" > + > +/** > + * VIR_DOMAIN_BLOCK_STATS_FLUSH_TOTAL_TIMES: > + * > + * Macro represents the total time spend on cache flushing in > + * nano-seconds of the block device. > + */ > +#define VIR_DOMAIN_BLOCK_STATS_FLUSH_TOTAL_TIMES "flush_total_times" > + > +/** > + * VIR_DOMAIN_BLOCK_STATS_ERRS: > + * > + * In Xen this returns the mysterious 'oo_req' > + */ > +#define VIR_DOMAIN_BLOCK_STATS_ERRS "errs" > + > /** > * virDomainInterfaceStats: > * > @@ -1178,6 +1257,11 @@ int virDomainBlockStats (virDomainPtr dom, > const char *path, > virDomainBlockStatsPtr stats, > size_t size); > +int virDomainBlockStatsFlags (virDomainPtr dom, > + const char *path, > + virTypedParameterPtr params, > + int *nparams, > + unsigned int flags); > int virDomainInterfaceStats (virDomainPtr dom, > const char *path, > virDomainInterfaceStatsPtr stats, > diff --git a/src/libvirt_public.syms b/src/libvirt_public.syms > index 169c3ee..dc5a80b 100644 > --- a/src/libvirt_public.syms > +++ b/src/libvirt_public.syms > @@ -483,6 +483,7 @@ LIBVIRT_0.9.4 { > LIBVIRT_0.9.5 { > global: > virDomainMigrateGetMaxSpeed; > + virDomainBlockStatsFlags; > } LIBVIRT_0.9.4; > > # .... define new API here using predicted next version number .... > -- > 1.7.6 ACK now, thanks ! Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list