Просмотр исходного кода

Fix check_disk disk usage calculation when using --group=NAME (related to bug #1348746)

git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1907 f882894a-f735-0410-b71e-b25c423dba1c
Thomas Guyot-Sionnest 18 лет назад
Родитель
Сommit
b7676a7e6d
2 измененных файлов с 3 добавлено и 1 удалено
  1. 1 0
      NEWS
  2. 2 1
      plugins/check_disk.c

+ 1 - 0
NEWS

@@ -6,6 +6,7 @@ This file documents the major additions and syntax changes between releases.
 	check_dns now sorts addresses for testing results for more than one returned IP (Matthias Urlichs)
 	Fix segfault in check_ntp_time and (deprecated) check_ntp. (Bug #1862300)
 	check_disk should now work with large file systems (2TB+) on all archs that supports it
+	Fixed check_disk disk usage calculation when using --group=NAME (related to bug #1348746)
 
 1.4.11 13th December 2007
 	Fixed check_http regression in 1.4.10 where following redirects to

+ 2 - 1
plugins/check_disk.c

@@ -265,7 +265,8 @@ main (int argc, char **argv)
                                 (fsp.fsu_blocks + tmpfsp.fsu_blocks);  /* Size of a block.  */
             fsp.fsu_blocks    += tmpfsp.fsu_blocks;     /* Total blocks. */
             fsp.fsu_bfree     += tmpfsp.fsu_bfree;      /* Free blocks available to superuser. */
-            fsp.fsu_bavail    += tmpfsp.fsu_bavail;     /* Free blocks available to non-superuser. */
+            /* Gnulib workaround - see comment about it a few lines below */
+            fsp.fsu_bavail    += (tmpfsp.fsu_bavail > tmpfsp.fsu_bfree ? 0 : tmpfsp.fsu_bavail); /* Free blocks available to non-superuser. */
             fsp.fsu_files     += tmpfsp.fsu_files;      /* Total file nodes. */
             fsp.fsu_ffree     += tmpfsp.fsu_ffree;      /* Free file nodes. */