summaryrefslogtreecommitdiffstats
path: root/src/proc_diskstats.c
diff options
context:
space:
mode:
authorCosta Tsaousis (ktsaou) <costa@tsaousis.gr>2015-10-12 23:56:15 +0300
committerCosta Tsaousis (ktsaou) <costa@tsaousis.gr>2015-10-12 23:56:15 +0300
commit41a00e696182c5ca610543d2126eaa32cfd18e0b (patch)
tree626c7b87bcdc8f529724ca4759796ce8fb006145 /src/proc_diskstats.c
parentc5f2511615b291b48fba1a8a64f4b65462d8bc6a (diff)
added -ch option to set container host prefix for /proc and /sys #10
Diffstat (limited to 'src/proc_diskstats.c')
-rwxr-xr-xsrc/proc_diskstats.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/proc_diskstats.c b/src/proc_diskstats.c
index 85fa4c8e3d..5bbd3d58c8 100755
--- a/src/proc_diskstats.c
+++ b/src/proc_diskstats.c
@@ -17,7 +17,7 @@
int do_proc_diskstats(int update_every, unsigned long long dt) {
static procfile *ff = NULL;
- static char *path_to_get_hw_sector_size = NULL;
+ static char path_to_get_hw_sector_size[FILENAME_MAX + 1] = "";
static int enable_new_disks = -1;
static int do_io = -1, do_ops = -1, do_merged_ops = -1, do_iotime = -1, do_cur_ops = -1;
@@ -31,10 +31,18 @@ int do_proc_diskstats(int update_every, unsigned long long dt) {
if(dt) {};
- if(!ff) ff = procfile_open(config_get("plugin:proc:/proc/diskstats", "filename to monitor", "/proc/diskstats"), " \t", PROCFILE_FLAG_DEFAULT);
+ if(!ff) {
+ char filename[FILENAME_MAX + 1];
+ snprintf(filename, FILENAME_MAX, "%s%s", global_host_prefix, "/proc/diskstats");
+ ff = procfile_open(config_get("plugin:proc:/proc/diskstats", "filename to monitor", filename), " \t", PROCFILE_FLAG_DEFAULT);
+ }
if(!ff) return 1;
- if(!path_to_get_hw_sector_size) path_to_get_hw_sector_size = config_get("plugin:proc:/proc/diskstats", "path to get h/w sector size", "/sys/block/%s/queue/hw_sector_size");
+ if(!path_to_get_hw_sector_size[0]) {
+ char filename[FILENAME_MAX + 1];
+ snprintf(filename, FILENAME_MAX, "%s%s", global_host_prefix, "/sys/block/%s/queue/hw_sector_size");
+ snprintf(path_to_get_hw_sector_size, FILENAME_MAX, "%s%s", global_host_prefix, config_get("plugin:proc:/proc/diskstats", "path to get h/w sector size", filename));
+ }
ff = procfile_readall(ff);
if(!ff) return 0; // we return 0, so that we will retry to open it next time