NFSv2 Wrong FS Size

Dan Nelson dnelson at allantgroup.com
Wed Feb 4 07:14:55 PST 2009


In the last episode (Feb 04), perryh at pluto.rain.com said:
> > 1755708928*1024/512 = 3511417856 blocks.  This number is larger than
> > 2^31, which techinically isn't a problem because the NFSv2 spec says
> > that the filesystem size is unsigned.  FreeBSD treats it as signed,
> > though, so it can display "negative" free space when root starts using
> > its 8% reserve, so your unsigned 3511417856 gets printed as a signed
> > -783549440, which messes everything up.
> ...
> > you could rebuild "df" to print its numbers as unsigned instead of
> > signed.  Just watch out if your local filesystems start eating into
> > their 8% reserve, since they'll start reporting huge values.
> 
> Or patch "df" to print local filesystem sizes as signed -- so that the
> reserve reporting still works -- and NFS as unsigned to match the spec.

That works as long as you don't NFS-mount other FreeBSD systems with
overfull drives :)

-- 
	Dan Nelson
	dnelson at allantgroup.com


More information about the freebsd-questions mailing list