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
}