Re: [Tux3] Two kinds of atomic commit

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Daniel Phillips <phillips@...>
Cc: <kernel@...>, <tux3@...>
Date: Monday, July 28, 2008 - 12:58 pm

:1) The Update a Clone Method
:
:2) The Update in Place Method
:
:Daniel

Hmm. Those seem fairly complex. How would you deal with incidental
operations on the B-Tree such as doing a split? A single insert
could wind up requiring a split of every internal node on the way
down to the leaf. I guess you could clone the blocks, but there are
a ton of parent and child linkages that have to be changed when you
split a node. It sounds pretty expensive.

Maybe implementing UNDOs for incidental B-Tree operations is the ticket.
Incidental meaning those operations (such as splits) which lead up to
an insertion or deletion but do not actually perform the insertion
or deletion. On crash recovery you would undo partially completed
B-Tree operations and then REDO the related logical operations.

Having to allocate new blocks for B-Tree deletions could create a big
issue when the filesystem becomes full or near-full.

-Matt
Matthew Dillon

_______________________________________________
Tux3 mailing list
Tux3@tux3.org
http://tux3.org/cgi-bin/mailman/listinfo/tux3

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [Tux3] Two kinds of atomic commit, Matthew Dillon, (Mon Jul 28, 12:58 pm)
[Tux3] cleanup and small fix, and sparse warning fix, OGAWA Hirofumi, (Thu Nov 13, 8:06 am)
Re: [Tux3] Two kinds of atomic commit, Daniel Phillips, (Mon Jul 28, 3:52 pm)