monitoring-plugins/monitoring-plugins-2.3.3-check_disk_on_btrfs.patch

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) {