Cc: Jörn <joern@...>, alan <alan@...>, H. Peter Anvin <hpa@...>, Jack Stone <jack@...>, <linux-kernel@...>, <linux-fsdevel@...>, <akpm@...>, <viro@...>
On Mon, Jun 18, 2007 at 11:32:38AM -0400, Chris Mason wrote:
I have no filesystem programming experience, but I am certainly
interested, and I'm spending some time reading through the code that
you've written so far. Oh, and running it - though I'm probably going
to want to fiddle with some smaller filesystems than my entire Maildir
set if I want to make any sense of the structure dumps!
That and of course if I get involved in development I can be sure that
my favourite workload (big Cyrus installs) is well optimized for!
Actually, my biggest interest is decent unlink performance, in
particular when you are unlinking multiple items in a directory or
even the entire directory plus everything in it. I find that to be
an incredibly slow and IO hurting operation. We run cyr_expire
(the process in Cyrus that actually deletes expunged messages) once
per week, and only one process at a time on a machine which might have
20 otherwise busy instances of Cyrus running - because the IO hit on
those data partitions is massive. Load average more than doubles and
the log entries for commands which took longer than a second to return
increase massively.
And this is on a Sunday when there's barely any use compared to a
weekday.
So yeah, my main interest is making unlink (especially multiple unlinks
from the same directory) into a less extreme experience.
Bron.
-