diff options
Diffstat (limited to 'tools/xenstat')
-rw-r--r-- | tools/xenstat/libxenstat/src/xenstat.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/tools/xenstat/libxenstat/src/xenstat.c b/tools/xenstat/libxenstat/src/xenstat.c index 559fb9bec6..16a41dc1db 100644 --- a/tools/xenstat/libxenstat/src/xenstat.c +++ b/tools/xenstat/libxenstat/src/xenstat.c @@ -655,12 +655,20 @@ unsigned long long xenstat_vbd_wr_reqs(xenstat_vbd * vbd) static char *xenstat_get_domain_name(xenstat_handle *handle, unsigned int domain_id) { - char path[80]; + char path[80], *vmpath; + + snprintf(path, sizeof(path),"/local/domain/%i/vm", domain_id); + + vmpath = xs_read(handle->xshandle, XBT_NULL, path, NULL); + + if (vmpath == NULL) + return NULL; + + snprintf(path, sizeof(path),"%s/name", vmpath); + free(vmpath); - snprintf(path, sizeof(path),"/local/domain/%i/name", domain_id); - return xs_read(handle->xshandle, XBT_NULL, path, NULL); -} +} /* Remove specified entry from list of domains */ static void xenstat_prune_domain(xenstat_node *node, unsigned int entry) |