26 lines
1.1 KiB
Diff
26 lines
1.1 KiB
Diff
commit a00fd77179dd6a6c2c96ff09350a9c213c18fd62
|
|
Author: George Hansper <george@hansper.id.au>
|
|
Date: Tue Sep 22 19:06:57 2020 +1000
|
|
|
|
check_disk - fix false DISK CRITICAL alert for btrfs filesystems due to BSD Gnulib workaround
|
|
|
|
Index: monitoring-plugins-2.3.3/plugins/check_disk.c
|
|
===================================================================
|
|
--- monitoring-plugins-2.3.3.orig/plugins/check_disk.c
|
|
+++ monitoring-plugins-2.3.3/plugins/check_disk.c
|
|
@@ -1041,7 +1041,14 @@ get_stats (struct parameter_list *p, str
|
|
|
|
void
|
|
get_path_stats (struct parameter_list *p, struct fs_usage *fsp) {
|
|
+#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(OpenBSD )
|
|
+ /* 2007-12-08 - Workaround for Gnulib reporting insanely high available
|
|
+ * space on BSD (the actual value should be negative but fsp->fsu_bavail
|
|
+ * is unsigned) */
|
|
+ p->available = fsp->fsu_bavail > fsp->fsu_bfree ? 0 : fsp->fsu_bavail;
|
|
+#else
|
|
p->available = fsp->fsu_bavail;
|
|
+#endif
|
|
p->available_to_root = fsp->fsu_bfree;
|
|
p->used = fsp->fsu_blocks - fsp->fsu_bfree;
|
|
if (freespace_ignore_reserved) {
|