aboutsummaryrefslogtreecommitdiffstats
path: root/tools/xenstat
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-12-03 15:58:23 +0000
committerKeir Fraser <keir.fraser@citrix.com>2008-12-03 15:58:23 +0000
commit66664705d9c2b0c2bcf2103808218604d1e565f6 (patch)
tree073ae64b590509883649f5fb5bacc00867442aae /tools/xenstat
parent1c8299d8466c5bc4c59d748a7e5d9121f67ec432 (diff)
downloadxen-66664705d9c2b0c2bcf2103808218604d1e565f6.tar.gz
xen-66664705d9c2b0c2bcf2103808218604d1e565f6.tar.bz2
xen-66664705d9c2b0c2bcf2103808218604d1e565f6.zip
xentop: Fix xentop for blktap
Blktap devices information isn't shown by xentop currently. xen-unstable c/s 17813 said "blktap devices have statistics counters (e.g., rd_req, wr_req, oo_req) prepended by tap_". In fact, it is as follows. # ls -l /sys/devices/xen-backend/tap-1-769/statistics/ total 0 -r--r--r-- 1 root root 4096 Dec 3 20:37 oo_req -r--r--r-- 1 root root 4096 Dec 3 20:37 rd_req -r--r--r-- 1 root root 4096 Dec 3 20:37 rd_sect -r--r--r-- 1 root root 4096 Dec 3 20:37 wr_req -r--r--r-- 1 root root 4096 Dec 3 20:37 wr_sect The statistics counters haven't had "tap_" because it was removed by linux-2.6.18-xen c/s 34. This patch reverts xen-unstable c/s 17813, then we can get the blktap devices information by using xentop. Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Diffstat (limited to 'tools/xenstat')
-rw-r--r--tools/xenstat/libxenstat/src/xenstat_linux.c25
1 files changed, 6 insertions, 19 deletions
diff --git a/tools/xenstat/libxenstat/src/xenstat_linux.c b/tools/xenstat/libxenstat/src/xenstat_linux.c
index 69f483e8ed..2ac3ccfa01 100644
--- a/tools/xenstat/libxenstat/src/xenstat_linux.c
+++ b/tools/xenstat/libxenstat/src/xenstat_linux.c
@@ -182,12 +182,6 @@ int xenstat_collect_vbds(xenstat_node * node)
struct dirent *dp;
struct priv_data *priv = get_priv_data(node->handle);
- char *sys_prefix = "statistics/";
-
- /* 23 = "statistics/" + "xxxx_xx_req" */
- char ooreq[23], rdreq[23], wrreq[23];
- char *stat_prefix = NULL;
-
if (priv == NULL) {
perror("Allocation error");
return 0;
@@ -215,16 +209,12 @@ int xenstat_collect_vbds(xenstat_node * node)
if (ret != 3)
continue;
-
- if (strcmp(buf,"vbd") == 0){
- stat_prefix = "";
+ if (strcmp(buf,"vbd") == 0)
vbd.back_type = 1;
- } else if (strcmp(buf,"tap") == 0){
- stat_prefix = "tap_";
+ else if (strcmp(buf,"tap") == 0)
vbd.back_type = 2;
- } else {
+ else
continue;
- }
domain = xenstat_node_domain(node, domid);
if (domain == NULL) {
@@ -235,22 +225,19 @@ int xenstat_collect_vbds(xenstat_node * node)
continue;
}
- snprintf(ooreq, sizeof(ooreq), "%s%soo_req", sys_prefix, stat_prefix);
- if((read_attributes_vbd(dp->d_name, ooreq, buf, 256)<=0)
+ if((read_attributes_vbd(dp->d_name, "statistics/oo_req", buf, 256)<=0)
|| ((ret = sscanf(buf, "%llu", &vbd.oo_reqs)) != 1))
{
continue;
}
- snprintf(rdreq, sizeof(rdreq),"%s%srd_req", sys_prefix, stat_prefix);
- if((read_attributes_vbd(dp->d_name, rdreq, buf, 256)<=0)
+ if((read_attributes_vbd(dp->d_name, "statistics/rd_req", buf, 256)<=0)
|| ((ret = sscanf(buf, "%llu", &vbd.rd_reqs)) != 1))
{
continue;
}
- snprintf(wrreq, sizeof(wrreq),"%s%swr_req", sys_prefix, stat_prefix);
- if((read_attributes_vbd(dp->d_name, wrreq, buf, 256)<=0)
+ if((read_attributes_vbd(dp->d_name, "statistics/wr_req", buf, 256)<=0)
|| ((ret = sscanf(buf, "%llu", &vbd.wr_reqs)) != 1))
{
continue;