git: sys/vfs/hammer: Erase btype of a new boundary on internal split

Tomohiro Kusumi tkusumi at crater.dragonflybsd.org
Thu Sep 24 07:46:32 PDT 2015


commit b6361ed8756a5631fde2f9e5e719b69343f57759
Author: Tomohiro Kusumi <kusumi.tomohiro at gmail.com>
Date:   Sat Sep 5 23:12:18 2015 +0900

    sys/vfs/hammer: Erase btype of a new boundary on internal split
    
    It's more sane to erase btype of RBN of the original node
    on internal split than only erasing subtree_offset.
    (subtree_offset==0 means the elm has no child, but btype
    not being 0 means its child is either leaf or internal node
    which is insane if not a bug)
    
    This doesn't affect comparison of nodes because btype is
    not a part of keys to determine > or = or < of nodes.
    
    This also makes possible to write non-ambiguous test code
    in userspace as it eliminates multiple possible ways that
    test code needs to deal with and be more explicit, which is
    considered a good thing if the kernel change doesn't degrade
    performance, etc. Also see 6580f642.

Summary of changes:
 sbin/hammer/cmd_show.c        | 12 ++++++++----
 sys/vfs/hammer/hammer_btree.c |  1 +
 sys/vfs/hammer/hammer_btree.h | 10 ++++++++++
 3 files changed, 19 insertions(+), 4 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b6361ed8756a5631fde2f9e5e719b69343f57759


-- 
DragonFly BSD source repository



More information about the Commits mailing list