[net.news] finally, a program to compact directories

smk (12/26/82)

	This program was developed from an idea by we13!rjk.
He or she developed a program called uusquish to compact uucp
directories.  This program is basically an enhancement of that one
called squish.  Squish works (recursively, if desired) on mostly
any directory.  Squish tries as hard as it can not to mess up the
file system, including correct values of those nasty .. entries in
subdirectories involved.
	The squish program and man pages have been posted
to net.sources.
	Squish uses the ndir package posted to the net a couple
of times.  It works on 4.1, and unless restrictions on link/unlink
calls on directories are different from 4.1, squish should
work on other UNIX systems.
	For those of you wanting to know what this is all about,
as you probably know, UNIX doesn't shrink directories when a
file is deleted.  This is especially bad if you delete 1000
entries from a directory.  The directory is still huge, and searching
it is painful for UNIX, especially since most of the space is wasted.
(Sound like the uucp problem, eh?)  If the directory was
especially large, indirect blocks may be used when they are
no longer needed.
	Squish is especially useful on directories in
/usr/spool, where every once in awhile there may be peaks
in directory usage, but most of the time the amount of
files existing there is much smaller.
	I want to thank we13!rjk for the uusquish idea.
Squish is merely a more general uusquish.  (We have /usr/spool/at
and /usr/spool/mail directories that also needed squishing,
which is why this came about.)
	--steve