xfs
[Top] [All Lists]

generic btree implementation, version 4

To: xfs@xxxxxxxxxxx
Subject: generic btree implementation, version 4
From: Christoph Hellwig <hch@xxxxxx>
Date: Thu, 7 Aug 2008 23:55:51 +0200
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/1.3.28i
As the mainlinglist seems to have some problems with the large number of
patches and I don't want to monopolize it anyway there is just this
announcement with a link to the patches:

        http://verein.lst.de/~hch/xfs/patches.btree.tgz

The biggest change this time around is that the generic record, key
and pointer addressing has been merged into the main patches.  There
is a new patch early in the series introducing the helpers for this,
and a big comment describing how all this addressing works.

The smalles and most important changes is a fix for xfs_btree_delrec
which used to pass an unitialized xfs_btree_key structure to
xfs_btree_updkey for the non-leaf case since the very first version
of the generic btree patches.

On the method side ->get_root_from_inode and ->resize_root have been
dropped because we hardcode that way the btree is rooted in the inode
in so many other places.  If we ever get a differently inode rooted
btree we can add the proper abstractions for it.  The ->kill_root is
back for now, I hope we can sort out the tiny difference between the
alloc and inobt btrees later.  There also are two new methods to move
xfs_btree_check_key / xfs_btree_check_rec into the btree implementations.

In addition to that I've addressed Dave's review comments, except that
I've kept the name for the get_dmaxrecs and instead documented why
it's called that way (hint the d stands for disk) and what the callers
try to do with it.

I think the code is in shape now, and ready for some more QA.  I will
post a test harness based on Dave's WIP code to help with that shortly.


<Prev in Thread] Current Thread [Next in Thread>