aboutsummaryrefslogtreecommitdiff
path: root/gl
diff options
context:
space:
mode:
authorGravatar Vincent Danjean <vdanjean@debian.org> 2018-12-08 21:51:05 +0100
committerGravatar Vincent Danjean <Vincent.Danjean@ens-lyon.org> 2018-12-08 22:44:42 +0100
commit270e7cba3830328424e3f2b6b9a6989b1ea5f89b (patch)
tree99c01ee12cbad2ec381551156190a5e0135bbe44 /gl
parentac6f101f057caa3083c092537e6dff97328cfd44 (diff)
downloadmonitoring-plugins-270e7cba3830328424e3f2b6b9a6989b1ea5f89b.tar.gz
[check_disk] add support to display inodes usage in perfdata
This is not enabled by default It can be enabled with the -P (--iperfdata) option
Diffstat (limited to 'gl')
-rw-r--r--gl/fsusage.c5
-rw-r--r--gl/fsusage.h3
2 files changed, 7 insertions, 1 deletions
diff --git a/gl/fsusage.c b/gl/fsusage.c
index 0657555f..6103ecf3 100644
--- a/gl/fsusage.c
+++ b/gl/fsusage.c
@@ -143,6 +143,7 @@ get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp)
fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (vfsd.f_bavail) != 0;
fsp->fsu_files = PROPAGATE_ALL_ONES (vfsd.f_files);
fsp->fsu_ffree = PROPAGATE_ALL_ONES (vfsd.f_ffree);
+ fsp->fsu_favail = PROPAGATE_ALL_ONES (vfsd.f_favail);
return 0;
}
@@ -174,6 +175,7 @@ get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp)
fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.fd_req.bfreen) != 0;
fsp->fsu_files = PROPAGATE_ALL_ONES (fsd.fd_req.gtot);
fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.fd_req.gfree);
+ fsp->fsu_favail = PROPAGATE_ALL_ONES (fsd.fd_req.gfree);
#elif defined STAT_READ_FILSYS /* SVR2 */
# ifndef SUPERBOFF
@@ -209,6 +211,7 @@ get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp)
? UINTMAX_MAX
: (fsd.s_isize - 2) * INOPB * (fsd.s_type == Fs2b ? 2 : 1));
fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.s_tinode);
+ fsp->fsu_favail = PROPAGATE_ALL_ONES (fsd.s_tinode);
#elif defined STAT_STATFS3_OSF1 /* OSF/1 */
@@ -296,6 +299,7 @@ get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp)
fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.f_bavail) != 0;
fsp->fsu_files = PROPAGATE_ALL_ONES (fsd.f_files);
fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.f_ffree);
+ fsp->fsu_favail = PROPAGATE_ALL_ONES (fsd.f_ffree);
#endif
@@ -323,6 +327,7 @@ statfs (char *file, struct statfs *fsb)
fsb->f_bavail = fsd.du_tfree;
fsb->f_files = (fsd.du_isize - 2) * fsd.du_inopb;
fsb->f_ffree = fsd.du_tinode;
+ fsb->f_favail = fsd.du_tinode;
fsb->f_fsid.val[0] = fsd.du_site;
fsb->f_fsid.val[1] = fsd.du_pckno;
return 0;
diff --git a/gl/fsusage.h b/gl/fsusage.h
index 7810fc01..e2654fd8 100644
--- a/gl/fsusage.h
+++ b/gl/fsusage.h
@@ -32,7 +32,8 @@ struct fs_usage
uintmax_t fsu_bavail; /* Free blocks available to non-superuser. */
bool fsu_bavail_top_bit_set; /* 1 if fsu_bavail represents a value < 0. */
uintmax_t fsu_files; /* Total file nodes. */
- uintmax_t fsu_ffree; /* Free file nodes. */
+ uintmax_t fsu_ffree; /* Free file nodes to superuser. */
+ uintmax_t fsu_favail; /* Free file nodes to non-superuser. */
};
int get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp);