inndf doesn't give correct data
Russ Allbery
rra at stanford.edu
Thu Oct 7 08:22:18 UTC 1999
I'm copying this back to inn-workers since this does look like a bug in
inndf and I'm not sure what could be causing it.
Stephen Costaras <stevecs at chaven.com> writes:
> Ok, I had a chance to try 2.2.1. This is what I'm getting:
> [From news.daily]
> -------
> Server status:
> Server running
> Allowing remote connections
> Parameters c 14 i 50 (7) l 1000000 o 984 t 300 H 2 T 60 X 0 normal specified
> Not reserved
> Readers follow enabled
> Perl filtering enabled
> Disk usage:
> /usr/local/news/db 2507203 Kbytes available
> /usr/local/news/etc 2507203 Kbytes available
> /usr/local/news/log 2507203 Kbytes available
> /usr/local/news/spool/articles 2507203 Kbytes available
> /usr/local/news/spool/incoming 2507203 Kbytes available
> /usr/local/news/spool/outgoing 2507203 Kbytes available
> /usr/local/news/spool/overview 2507203 Kbytes available
> --------
> [from the system itself. ]
> news:~# df -k
> Filesystem 1k-blocks Used Available Use% Mounted on
> /dev/md1 256511 50654 192609 21% /
> /dev/md2 1018232 8696 956928 1% /home
> /dev/md3 505407 11 479294 0% /tmp
> /dev/md5 1018232 503727 461897 52% /usr
> /dev/md6 505343 250007 229237 52% /var
> /dev/md7 505343 3128 476116 1% /var/spool
> /dev/md11 35266560 24872252 10038792 71% /usr/local/news
> ----
> As you can see news.daily (inndf) shows only 2507203 Kbytes free on that
> volume which in fact there is 10038792 kbytes free. (/dev/md11)
> The system is running linux v2.2.10 w/ raidtools 19990724 patched.
> System is a glibc v2.1 system w/ egcs-2.91.66 (v1.1.2). No other
> special items that I can think of.
> Something with how inndf is reading or storing the data from OS I think.
> These volumes aren't that big but could be just large enough to flip
> something.
The arithmetic in inndf is done as a double, so I'm not sure what could be
going wrong. It shouldn't be able to overflow anything. It looks almost
like the fragment size in the statvfs() structure is incorrect, but if
it's present and non-zero, it should be correct.
GNU df does some really weird things, but so far as I can tell inndf is
doing basically the same thing as it is, so I'm not sure why it's
returning different values.
--
Russ Allbery (rra at stanford.edu) <URL:http://www.eyrie.org/~eagle/>
More information about the inn-workers
mailing list