Subject: Re: 'df' not reporting correct disk usage
To: Chris Foote <chris@senet.com.au>
From: Brian C. Grayson <bgrayson@marvin.ece.utexas.edu>
List: netbsd-users
Date: 07/17/1998 23:20:33
On Sat, Jul 18, 1998 at 09:23:03AM +0930, Chris Foote wrote:
> I've recently noticed that 'df' isn't reporting reclaimed disk space
> on my root partition:
> 
> mrtg:~\:# df
> Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
> /dev/wd0a       84327    72955     7155    91%    /
> /dev/wd0e     1782683   952398   741150    56%    /usr
> kernfs              1        1        0   100%    /kern
> mrtg:~\:# du -sx /
> 25650   /
> 
> i.e. df reports an additional 47MB of disk space in use than there
> really is.

  Have you recently deleted a bunch of stuff on this partition?  In
particular, did you delete files (i.e. binaries) that were open
at the time, like a make install?  If so, the kernel doesn't
_actually_ delete them until they are finally
closed/not-being-used.  Thus, one could fill up one's root
partition by doing something like the following, I believe:

  ## Assume / has 10MB free, and
  ## netscape is a 10MB executable.
  cp /usr/local/bin/netscape /
  /netscape &
  rm /netscape

  At this point, du will say you still have 10MB free, but df
will say you are at 100%.  If you now try to use any disk space
on /, it'll fail, until you kill the running netscape,
at which point the disk _really_ no longer needs to hold the
backing store for /netscape, so the blocks are deallocated.

  Make sense?  I'd bet that if you rebooted, df and du would
agree.  If not, then maybe there _really is_ a bug, but I'm
skeptical....  :)

  Hope this helps!

  Brian
-- 
"If you get 100 power engineers in a room, 101 of them will work this problem
 like this."  - R. P. Massey, ELEC 342