[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] Fix libxenstat on Solaris
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1204117842 0 # Node ID 368d3774a4b5f629f9eb91c77c4a36a436c341e0 # Parent 2a8eaba24bf0482db8d44aa1c638ffa7e3894f43 Fix libxenstat on Solaris Recent Solaris enhancements have changed the way virtual NIC statistics are collected - fix libxenstat up for this. Signed-off-by: John Levon <john.levon@xxxxxxx> --- tools/xenstat/libxenstat/src/xenstat_solaris.c | 44 +++++-------------------- 1 files changed, 9 insertions(+), 35 deletions(-) diff -r 2a8eaba24bf0 -r 368d3774a4b5 tools/xenstat/libxenstat/src/xenstat_solaris.c --- a/tools/xenstat/libxenstat/src/xenstat_solaris.c Tue Feb 26 15:11:51 2008 +0000 +++ b/tools/xenstat/libxenstat/src/xenstat_solaris.c Wed Feb 27 13:10:42 2008 +0000 @@ -113,49 +113,23 @@ static void xenstat_uninit_devs(xenstat_ priv->kc = NULL; } -static int parse_nic(const char *nic, char *module, int *instance) -{ - const char *c; - - for (c = &nic[strlen(nic) - 1]; c != nic && isdigit(*c); c--) - ; - - if (c == nic) - return 0; - - c++; - - if (sscanf(c, "%d", instance) != 1) - return 0; - - strncpy(module, nic, c - nic); - module[c - nic] = '\0'; - return 1; -} - static int update_dev_stats(priv_data_t *priv, stdevice_t *dev) { - char mod[256]; - const char *name; - int inst; kstat_t *ksp; + if (kstat_chain_update(priv->kc) == -1) + return 0; + if (dev->type == DEVICE_NIC) { - if (!parse_nic(dev->name, mod, &inst)) - return 0; - name = "mac"; + ksp = kstat_lookup(priv->kc, "link", 0, (char *)dev->name); } else { - strcpy(mod, "xdb"); - inst = dev->instance; - name = "req_statistics"; - } - - if (kstat_chain_update(priv->kc) == -1) - return 0; - - ksp = kstat_lookup(priv->kc, mod, inst, (char *)name); + ksp = kstat_lookup(priv->kc, "xdb", dev->instance, + (char *)"req_statistics"); + } + if (ksp == NULL) return 0; + if (kstat_read(priv->kc, ksp, NULL) == -1) return 0; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |