HAMMER VFS - Refactor merged search function to try to avoid missed entries
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 6 May 2009 20:38:22 +0000 (13:38 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Wed, 6 May 2009 20:38:22 +0000 (13:38 -0700)
commit3214ade633b2463cc9dc8c3f8d765608ee5a78a3
tree1205bccfd95c35cab4fa1f90a07cbec491122cdd
parent22c79463a82976f707e3fd181f02c5db01d271ea
HAMMER VFS - Refactor merged search function to try to avoid missed entries

Refactor the merged B-Tree + In-Memory search function to try to avoid races
where an in-memory record is flushed to the media during a search, causing
the search to miss the record.

Add another flag to hammer_record_t to indicate that the record was deleted
because it was committed to the media (verses simply being deleted).

Better-separate HAMMER_RECF_DELETED_FE and HAMMER_RECF_DELETED_BE.  These
flags indicate whether the frontend or backend deleted an in-memory record.
The backend ignores frontend deletions that occur after the record has been
associated with a flush group.

Remove some console Warnings that are no longer applicable.
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_blockmap.c
sys/vfs/hammer/hammer_btree.c
sys/vfs/hammer/hammer_cursor.h
sys/vfs/hammer/hammer_inode.c
sys/vfs/hammer/hammer_io.c
sys/vfs/hammer/hammer_object.c