diff options
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/check_disk.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/plugins/check_disk.c b/plugins/check_disk.c index 1778b613..71eab531 100644 --- a/plugins/check_disk.c +++ b/plugins/check_disk.c | |||
| @@ -334,19 +334,21 @@ main (int argc, char **argv) | |||
| 334 | 334 | ||
| 335 | /* *_high_tide must be reinitialized at each run */ | 335 | /* *_high_tide must be reinitialized at each run */ |
| 336 | uint64_t warning_high_tide = UINT64_MAX; | 336 | uint64_t warning_high_tide = UINT64_MAX; |
| 337 | uint64_t critical_high_tide = UINT64_MAX; | ||
| 338 | 337 | ||
| 339 | if (path->freespace_units->warning != NULL) { | 338 | if (path->freespace_units->warning != NULL) { |
| 340 | warning_high_tide = path->dtotal_units - path->freespace_units->warning->end; | 339 | warning_high_tide = (path->dtotal_units - path->freespace_units->warning->end) * mult; |
| 341 | } | 340 | } |
| 342 | if (path->freespace_percent->warning != NULL) { | 341 | if (path->freespace_percent->warning != NULL) { |
| 343 | warning_high_tide = llabs( min( (double) warning_high_tide, (double) (1.0 - path->freespace_percent->warning->end/100)* path->dtotal_units )); | 342 | warning_high_tide = min( warning_high_tide, (uint64_t)((1.0 - path->freespace_percent->warning->end/100) * (path->dtotal_units * mult)) ); |
| 344 | } | 343 | } |
| 344 | |||
| 345 | uint64_t critical_high_tide = UINT64_MAX; | ||
| 346 | |||
| 345 | if (path->freespace_units->critical != NULL) { | 347 | if (path->freespace_units->critical != NULL) { |
| 346 | critical_high_tide = path->dtotal_units - path->freespace_units->critical->end; | 348 | critical_high_tide = (path->dtotal_units - path->freespace_units->critical->end) * mult; |
| 347 | } | 349 | } |
| 348 | if (path->freespace_percent->critical != NULL) { | 350 | if (path->freespace_percent->critical != NULL) { |
| 349 | critical_high_tide = llabs( min( (double) critical_high_tide, (double) (1.0 - path->freespace_percent->critical->end/100)*path->dtotal_units )); | 351 | critical_high_tide = min( critical_high_tide, (uint64_t)((1.0 - path->freespace_percent->critical->end/100) * (path->dtotal_units * mult)) ); |
| 350 | } | 352 | } |
| 351 | 353 | ||
| 352 | /* Nb: *_high_tide are unset when == UINT64_MAX */ | 354 | /* Nb: *_high_tide are unset when == UINT64_MAX */ |
| @@ -354,8 +356,8 @@ main (int argc, char **argv) | |||
| 354 | perfdata_uint64 ( | 356 | perfdata_uint64 ( |
| 355 | (!strcmp(me->me_mountdir, "none") || display_mntp) ? me->me_devname : me->me_mountdir, | 357 | (!strcmp(me->me_mountdir, "none") || display_mntp) ? me->me_devname : me->me_mountdir, |
| 356 | path->dused_units * mult, "B", | 358 | path->dused_units * mult, "B", |
| 357 | (warning_high_tide == UINT64_MAX ? FALSE : TRUE), warning_high_tide * mult, | 359 | (warning_high_tide == UINT64_MAX ? FALSE : TRUE), warning_high_tide, |
| 358 | (critical_high_tide == UINT64_MAX ? FALSE : TRUE), critical_high_tide * mult, | 360 | (critical_high_tide == UINT64_MAX ? FALSE : TRUE), critical_high_tide, |
| 359 | TRUE, 0, | 361 | TRUE, 0, |
| 360 | TRUE, path->dtotal_units * mult)); | 362 | TRUE, path->dtotal_units * mult)); |
| 361 | 363 | ||
