X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fvirt.c;h=62b53dcca36606a10caefe4c0db6e2ba0ef14aec;hb=f66916deea905254061bb07245e007471faf2ecf;hp=ef55414528b5b88bc16da8cbf1f8158ab9dfef5a;hpb=f46301fdc32e9cd13a757dbc005d2b66d5188193;p=collectd.git diff --git a/src/virt.c b/src/virt.c index ef554145..62b53dcc 100644 --- a/src/virt.c +++ b/src/virt.c @@ -31,7 +31,7 @@ #include #include #include -#include +#include /* for basename(3) */ /* Plugin name */ #define PLUGIN_NAME "virt" @@ -363,14 +363,7 @@ lv_config (const char *key, const char *value) return 0; } if (strcasecmp (key, "BlockDeviceFormatBasename") == 0) { - if (strcasecmp (value, "true") == 0) - blockdevice_format_basename = 1; - else if (strcasecmp (value, "false") == 0) - blockdevice_format_basename = 0; - else { - ERROR (PLUGIN_NAME " plugin: unknown BlockDeviceFormatBasename: %s", value); - return -1; - } + blockdevice_format_basename = IS_TRUE (value); return 0; } if (strcasecmp (key, "InterfaceDevice") == 0) { @@ -613,11 +606,12 @@ lv_read (void) &stats, sizeof stats) != 0) continue; - char *type_instance = NULL; - if (blockdevice_format_basename && blockdevice_format == source) - type_instance = strdup(basename(block_devices[i].path)); - else - type_instance = strdup(block_devices[i].path); + char *type_instance = NULL; + if (blockdevice_format_basename && blockdevice_format == source) + type_instance = strdup(basename(block_devices[i].path)); + else + type_instance = strdup(block_devices[i].path); + if ((stats.rd_req != -1) && (stats.wr_req != -1)) submit_derive2 ("disk_ops", (derive_t) stats.rd_req, (derive_t) stats.wr_req, @@ -627,8 +621,8 @@ lv_read (void) submit_derive2 ("disk_octets", (derive_t) stats.rd_bytes, (derive_t) stats.wr_bytes, block_devices[i].dom, type_instance); - - sfree(type_instance); + + sfree (type_instance); } /* for (nr_block_devices) */ /* Get interface stats for each domain. */ @@ -636,7 +630,6 @@ lv_read (void) struct _virDomainInterfaceStats stats; char *display_name = NULL; - switch (interface_format) { case if_address: display_name = interface_devices[i].address; @@ -757,9 +750,9 @@ refresh_lists (void) xpath_ctx = xmlXPathNewContext (xml_doc); /* Block devices. */ - char *bd_xmlpath = "/domain/devices/disk/target[@dev]"; - if (blockdevice_format == source) - bd_xmlpath = "/domain/devices/disk/source[@dev]"; + char *bd_xmlpath = "/domain/devices/disk/target[@dev]"; + if (blockdevice_format == source) + bd_xmlpath = "/domain/devices/disk/source[@dev]"; xpath_obj = xmlXPathEval ((xmlChar *) bd_xmlpath, xpath_ctx); if (xpath_obj == NULL || xpath_obj->type != XPATH_NODESET ||