I will be continuing to commit bits and pieces of HAMMER, but note
that it will probably not even begin to work for quite some time.
I am still on track for it to make it into the end-of-year release.
Mostly I just needed to clear my plate (my source working set) to keep
track of the various major segments of the work without going completely
batty.
Only the A-list code is reasonably well tested so far, because
newfs_hammer uses the same code. The B-Tree code cannot be tested until
I get more of the VFS infrastructure in place. I expect that to be
fairly straight-forward since I will be able to do a lot of testing
with a one-cluster filesystem (i.e. without the B-Tree cluster
extension coded).
The most difficult piece in the entire design is the B-Tree deletion code
and that is now coded. I decided to go with a forward-iteration for both
insertions AND deletions, which is THE most difficult B-Tree algorithm to
implement. But the huge advantage is that I will be able to remove
the cluster lock in the future and lock B-Tree nodes as I go down without
getting into deadlock situations, which is very SMP friendly.
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.
Whew.
-Matt
Matthew Dillon
<dillon@backplane.com>| James Bruce | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| Arjan van de Ven | [Patch v2] Make PCI extended config space (MMCONFIG) a driver opt-in |
| David Miller | Slow DOWN, please!!! |
git: | |
| Jakub Narebski | Re: VCS comparison table |
| Mark Junker | git on MacOSX and files with decomposed utf-8 file names |
| Jon Smirl | ! [rejected] master -> master (non-fast forward) |
| Ken Pratt | Re: pack operation is thrashing my server |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Tilman Schmidt | Re: 2.6.25-rc8: FTP transfer errors |
| Natalie Protasevich | [BUG] New Kernel Bugs |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Richard Stallman | Real men don't attack straw men |
| Alex Thurlow | Router performance on OpenBSD and OpenBGPD |
| Theo de Raadt | Re: That whole "Linux stealing our code" thing |
| MANI | Anyone working with netbeans 5.5? |
