summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/check_swap.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/plugins/check_swap.c b/plugins/check_swap.c
index 367c720..b8f82db 100644
--- a/plugins/check_swap.c
+++ b/plugins/check_swap.c
@@ -40,8 +40,8 @@ int validate_arguments (void);
40void print_usage (void); 40void print_usage (void);
41void print_help (void); 41void print_help (void);
42 42
43int warn_percent = 200; 43int warn_percent = 0;
44int crit_percent = 200; 44int crit_percent = 0;
45long unsigned int warn_size = 0; 45long unsigned int warn_size = 0;
46long unsigned int crit_size = 0; 46long unsigned int crit_size = 0;
47int verbose; 47int verbose;
@@ -233,11 +233,12 @@ int
233check_swap (int usp, long unsigned int free_swap) 233check_swap (int usp, long unsigned int free_swap)
234{ 234{
235 int result = STATE_UNKNOWN; 235 int result = STATE_UNKNOWN;
236 if (usp >= 0 && usp >= (100.0 - crit_percent)) 236 free_swap = free_swap * 1024; /* Convert back to bytes as warn and crit specified in bytes */
237 if (usp >= 0 && crit_percent != 0 && usp >= (100.0 - crit_percent))
237 result = STATE_CRITICAL; 238 result = STATE_CRITICAL;
238 else if (crit_size > 0 && free_swap <= crit_size) 239 else if (crit_size > 0 && free_swap <= crit_size)
239 result = STATE_CRITICAL; 240 result = STATE_CRITICAL;
240 else if (usp >= 0 && usp >= (100.0 - warn_percent)) 241 else if (usp >= 0 && warn_percent != 0 && usp >= (100.0 - warn_percent))
241 result = STATE_WARNING; 242 result = STATE_WARNING;
242 else if (warn_size > 0 && free_swap <= warn_size) 243 else if (warn_size > 0 && free_swap <= warn_size)
243 result = STATE_WARNING; 244 result = STATE_WARNING;