#
61aeeb33 |
| 03-Jan-2008 |
Matthew Dillon <dillon@dragonflybsd.org> |
HAMMER 15/many - user utility infrastructure, refactor alists, misc
* Abstract out userland access to HAMMER's on-disk structures in preparation for more userland work.
* Clean up compiler warnin
HAMMER 15/many - user utility infrastructure, refactor alists, misc
* Abstract out userland access to HAMMER's on-disk structures in preparation for more userland work.
* Clean up compiler warnings.
* Refactor the A-list recursion API. Use another bit code (10) to indicate the all-allocated & initialized state, verses an all-allocated & uninitialized state.
This allows an all-empty flag to propogate up the chain properly which in turn allows us to avoid flushing out dirty backing store for freed disk blocks and will eventually lead to freeing typed buffers back to the cluster's master a-list.
* Fix an edge case in the B-Tree code related to running out of space during an insertion search. If the insertion search ran out of space at a cluster boundary the spike code asserted because the parent B-Tree node wasn't in the same cluster as the node it thought it had to spike. (The root B-Tree node of a cluster cannot be spiked).
* Use a second cache pointer in the in-memory structure for directory inodes. The second cache will be used for inode lookups relative to the directory and will (eventually) greatly reduce the B-Tree search overhead required to stat directory elements.
show more ...
|