Open einMarco opened 6 years ago
You might want to look into the code regions where this is calculated. I would believe that there's an overflow somewhere.
I think the issue is with this part:
if (version->parse(Net::SNMP->VERSION) >= 4) {
foreach my $key (sort keys %$result) {
# Fix for filesystems larger 2 TB. More than 2 TB will cause an error because
# as defined in the RFC hrStorageSize is a 32 bit integer. So filesystems
# larger 2 TB report a negative value because the first bit will be interpreted
# as an algebraic sign. (0 = +, all others will be -). You simply have to add
# 2 to the power of 32 (4294967296) and it is fixed.
# Martin Fuerstenau, Oce Printing Systems, 25th Sept 2012
if ($$result{$key} < 0) {
$$result{$key} = $$result{$key} + 4294967296;
}
verb("$key x $$result{$key}");
}
}
It looks like there is an overflow. If I'm correct the max volume size with int32 is 4TB. But when I change it to the max value of int64 "9223372036854775807" it still gets an overflow. Maybe perl needs to have the ability for int64? Maybe that helps you?
Hey, I try to monitor a Mac Mini in my Network, it has a mounted drive via AFP, that gives me a usage of 123%, whats seems a little impossible. ;)
My call for the hole Mac is this:
And the output is:
The ARQ drive has a volume of 19,42 TB and has free 17,17 TB.
Would be cool, if that could be fixed.