
On Mon, Nov 14, 2011 at 01:50:04PM +0100, Marc-André Lureau wrote:
+/** + * gvir_domain_disk_get_stats: + * @self: the domain disk + * @err: an error + * + * This function returns network disk stats. Individual fields + * within the stats structure may be returned as -1, which indicates + * that the hypervisor does not support that particular statistic. + * + * Returns: (transfer full): the stats or %NULL in case of error + **/ +GVirDomainDiskStats *gvir_domain_disk_get_stats(GVirDomainDisk *self, GError **err) +{ + GVirDomainDiskStats *ret = NULL; + virDomainBlockStatsStruct stats; + GVirDomainDiskPrivate *priv; + virDomainPtr handle; + + g_return_val_if_fail(GVIR_IS_DOMAIN_DISK(self), NULL); + + priv = self->priv; + handle = gvir_domain_device_get_domain_handle(GVIR_DOMAIN_DEVICE(self)); + + if (virDomainBlockStats(handle, priv->path, &stats, sizeof (stats)) < 0) {
Maybe we want to check if handle == NULL before calling into libvirt? I checked that libvirt will return an error in this case. (same question in patch 2/3) (not an important issue, my ACK series still stand whatever you decide to do about this) Christophe