From 06b7160fe375ac13ccd4160c2f45afd2423c1ef2 Mon Sep 17 00:00:00 2001 From: Wolfram Schneider Date: Sun, 6 Sep 1998 10:54:05 +0000 Subject: [PATCH] Added Alternative layout policies for directories Submitted by: Kirk McKusick --- FAQ/hackers.sgml | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/FAQ/hackers.sgml b/FAQ/hackers.sgml index 85563294c2..247d7ff5db 100644 --- a/FAQ/hackers.sgml +++ b/FAQ/hackers.sgml @@ -1,4 +1,4 @@ - + @@ -261,5 +261,31 @@ appreciate hearing about your driver on <freebsd-hackers@FreeBSD.ORG>. - + + Alternative layout policies for directories + +

+ 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.

+ +

Kirk McKusick, September 1998

+ +