cvs commit: src/sys/vfs/hammer hammer_btree.c hammer_cursor.h hammer_object.c hammer_spike.c

Matthew Dillon dillon at
Fri Jan 25 13:52:02 PST 2008

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 
  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
    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

More information about the Commits mailing list