On 11/2/07, Matthew Dillon <[EMAIL PROTECTED]> wrote: > My B-Tree implementation also allows HAMMER to cache B-Tree nodes > and start lookups from any internal node rather then having to start at > the root. You can do this in a standard B-Tree too but it isn't > necessarily efficient for certain boundary cases. In my implementation > I store boundaries for the left AND right side which means a search > starting in the middle of the tree knows exactly where to go and will > never have to retrace its steps.
Speaking of on-disk B-Trees, ReiserFS' biggest problems are all based on its use of flexible B-Trees. For instance, the difficulty of correctly rebuilding the tree if a node is damaged, and correctly detecting if a ReiserFS system is hosted on a file in another (supposedly damaged) ReiserFS system, are noted as big problems that are supposedly solved for Reiser4. Are there likely to be similar issues in Hammer for the time being, or have you already planned far ahead for these cases with extra information in the nodes? -- Dmitri Nikulin Centre for Synchrotron Science Monash University Victoria 3800, Australia
