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