@cryptotaxi247 / netdata-1 / commits / 302ea6ecb

show disk space stats when disk performance is not available; fixes #1369

Costa Tsaousis (ktsaou) committed Dec 13, 2016 at 22:46 UTC 302ea6ecbb032b0b782dfa4415d8aaf32b8f797a
1 file changed +18 -14
src/proc_diskstats.c
+18 -14
@@ -450,6 +450,24 @@ int do_proc_diskstats(int update_every, usec_t dt) {
450 globals_initialized = 1;
451 }
452
453 + // --------------------------------------------------------------------------
454 + // this is smart enough not to reload it every time
455 +
456 + mountinfo_reload(0);
457 +
458 + // --------------------------------------------------------------------------
459 + // disk space metrics
460 +
461 + struct mountinfo *mi;
462 + for(mi = disk_mountinfo_root; mi ;mi = mi->next) {
463 + if(unlikely(mi->flags & (MOUNTINFO_IS_DUMMY|MOUNTINFO_IS_BIND|MOUNTINFO_IS_SAME_DEV|MOUNTINFO_NO_STAT|MOUNTINFO_NO_SIZE|MOUNTINFO_READONLY)))
464 + continue;
465 +
466 + do_disk_space_stats(mi, update_every, dt);
467 + }
468 +
469 + // --------------------------------------------------------------------------
470 +
471 if(unlikely(!ff)) {
472 char filename[FILENAME_MAX + 1];
473 snprintfz(filename, FILENAME_MAX, "%s%s", global_host_prefix, "/proc/diskstats");
@@ -462,9 +480,6 @@ int do_proc_diskstats(int update_every, usec_t dt) {
480
481 uint32_t lines = procfile_lines(ff), l;
482
465 - // this is smart enough not to reload it every time
466 - mountinfo_reload(0);
467 -
483 for(l = 0; l < lines ;l++) {
484 // --------------------------------------------------------------------------
485 // Read parameters
@@ -845,16 +860,5 @@ int do_proc_diskstats(int update_every, usec_t dt) {
860 }
861 }
862
848 - // --------------------------------------------------------------------------
849 - // space metrics for non-block devices
850 -
851 - struct mountinfo *mi;
852 - for(mi = disk_mountinfo_root; mi ;mi = mi->next) {
853 - if(unlikely(mi->flags & (MOUNTINFO_IS_DUMMY|MOUNTINFO_IS_BIND|MOUNTINFO_IS_SAME_DEV|MOUNTINFO_NO_STAT|MOUNTINFO_NO_SIZE|MOUNTINFO_READONLY)))
854 - continue;
855 -
856 - do_disk_space_stats(mi, update_every, dt);
857 - }
858 -
863 return 0;
864 }