DragonFly kernel List (threaded) for 2008-05
HEADS UP - Another media change for HAMMER
After doing performance testing I isolated an issue related to slow
directory scans. Basically the problem is that an inode has a B-Tree
key which localizes it relative to its contents. Unfortunately this
means that the inodes themselves wind up not being localized when doing
a directory scan.
What I really want is to have the inode localized relative to other
inodes. This will not only localize inodes within the B-Tree, but will
also localize the inode meta-data (uid, gid, size, etc), and should
result in extremely fast directory scans and lookups.
So I am going to make another media change, now when I have the chance :-)
The B-Tree element structure has some unused space and I am going to
use some of it to create a 'localization' parameter which will have
sorting priority over the object id. This will allow me to group inode
elements together both in the B-Tree and in the data layout.
Again, I can't promise there wont be more changes. I want to get it
right before the official release.