DragonFly commits List (threaded) for 2008-01
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
cvs commit: src/sys/vfs/hammer hammer_btree.c hammer_cursor.h hammer_object.c hammer_spike.c
dillon 2008/01/25 13:50:56 PST
DragonFly src repository
Modified files:
sys/vfs/hammer hammer_btree.c hammer_cursor.h
hammer_object.c hammer_spike.c
Log:
HAMMER 24B/many: Edge cases, cleanups
* Use create_tid instead of delete_tid in B-Tree key comparisons. I
actually used create_tid's originally, then switched to delete_tid's
because historical searches could iterate forwards to locate
matching records whereas using create_tid required a backwards
iteration.
However, because delete_tid's can be modified in-place (0 -> delete stamp),
this introduced some rare edges cases that I had not considered.
So go back to using create_tid's. The iteration code actually just does
a re-search now with a slightly different key, so no new code had
to be written for the reverse-direction. Create TIDs do not change once
they are laid down so there are no additional cases to consider.
* Fix a missing create_tid initialization in hammer_object.c.
Revision Changes Path
1.26 +91 -117 src/sys/vfs/hammer/hammer_btree.c
1.11 +3 -3 src/sys/vfs/hammer/hammer_cursor.h
1.26 +13 -11 src/sys/vfs/hammer/hammer_object.c
1.14 +10 -10 src/sys/vfs/hammer/hammer_spike.c
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_btree.c.diff?r1=1.25&r2=1.26&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_cursor.h.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.25&r2=1.26&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_spike.c.diff?r1=1.13&r2=1.14&f=u
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]