support disknames with a / in their name
Costa Tsaousis (ktsaou) committed
May 10, 2014 at 05:48 UTC
5f56915b163ccc1c76979040df682e064f9af257
1 file changed
+8
-1
netdata.c
+8
-1
@@ -3768,10 +3768,17 @@ int do_proc_diskstats() {
3768
if(do_io) {
3769
st = rrd_stats_find_bytype(RRD_TYPE_DISK, disk);
3770
if(!st) {
3771
+ char tf[FILENAME_MAX + 1], *t;
3772
char ssfilename[FILENAME_MAX + 1];
3773
int sector_size = 512;
3774
3774
- snprintf(ssfilename, FILENAME_MAX, "/sys/block/%s/queue/hw_sector_size", disk);
3775
+ strncpy(tf, disk, FILENAME_MAX);
3776
+ tf[FILENAME_MAX] = '\0';
3777
+
3778
+ // replace all / with !
3779
+ while((t = strchr(tf, '/'))) *t = '!';
3780
+
3781
+ snprintf(ssfilename, FILENAME_MAX, "/sys/block/%s/queue/hw_sector_size", tf);
3782
FILE *fpss = fopen(ssfilename, "r");
3783
if(fpss) {
3784
char ssbuffer[1025];