Added Alternative layout policies for directories

Submitted by: Kirk McKusick
This commit is contained in:
Wolfram Schneider 1998-09-06 10:54:05 +00:00
parent d12eb987d4
commit 06b7160fe3
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=3469

View file

@ -1,4 +1,4 @@
<!-- $Id: hackers.sgml,v 1.4 1998-09-04 09:00:08 obrien Exp $ -->
<!-- $Id: hackers.sgml,v 1.5 1998-09-06 10:54:05 wosch Exp $ -->
<!-- The FreeBSD Documentation Project -->
<sect>
@ -261,5 +261,31 @@
appreciate hearing about your driver on
<tt>&lt;freebsd-hackers@FreeBSD.ORG&gt;</tt>.
</sect>
<sect1>
<heading>Alternative layout policies for directories</heading>
<p>
In answer to the question of alternative layout policies for
directories, the scheme that is currently in use is unchanged
from what I wrote in 1983. I wrote that policy for the original
fast filesystem, and never revisited it. It works well at keeping
cylinder groups from filling up. As several of you have noted,
it works poorly for find. Most filesystems are created from
archives that were created by a depth first search (aka ftw).
These directories end up being striped across the cylinder groups
thus creating a worst possible senario for future depth first
searches. If one knew the total number of directories to be
created, the solution would be to create (total / fs_ncg) per
cylinder group before moving on. Obviously, one would have to
create some heuristic to guess at this number. Even using a
small fixed number like say 10 would make an order of magnitude
improvement. To differentiate restores from normal operation
(when the current algorithm is probably more sensible), you
could use the clustering of up to 10 if they were all done
within a ten second window. Anyway, my conclusion is that this
is an area ripe for experimentation.</p>
<p>Kirk McKusick, September 1998</p>
</sect>