Empty directory 60M in size; used to contain 1.7 million files

Dan Nelson dnelson at allantgroup.com
Sun Nov 26 18:11:25 PST 2006


In the last episode (Nov 27), Peter Schuller said:
> Observe:
> 
> hyperion# ls -la 
> total 61634
> drwxr-xr-x  2 xxx yyy  63047168 Nov 18 21:33 .
> drwxr-xr-x  6 xxx yyy         512 Oct  8 16:39 ..
> hyperion# find .
> .
> hyperion# 
> 
> The one special circumstance is that the directory previously
> contained 1.7 million small files, that are now deleted. This is on
> FreeBSD 6.1 with UFS2 + softupdates. No snapshots exist of the
> filesystem.
> 
> 1.7 million files may be extreme, but I don't see why an empty
> directory would ever consume more than one inode?

Directories are only shrunk when a file is created and the slack
directory space can be trivially truncated.  This is to avoid useless
compaction during "rm -rf"-style activities of a directory that will
just be deleted anyway.  Just create a dummy file with "touch" and the
directory will shrink down to 1 block.  You can then remove the file.

-- 
	Dan Nelson
	dnelson at allantgroup.com


More information about the freebsd-questions mailing list