• Chris Mason's avatar
    Btrfs: cache values for locking extents · 2c64c53d
    Chris Mason authored
    Many of the btrfs extent state tree users follow the same pattern.
    They lock an extent range in the tree, do some operation and then
    unlock.
    
    This translates to at least 2 rbtree searches, and maybe more if they
    are doing operations on the extent state tree.  A locked extent
    in the tree isn't going to be merged or changed, and so we can
    safely return the extent state structure as a cached handle.
    
    This changes set_extent_bit to give back a cached handle, and also
    changes both set_extent_bit and clear_extent_bit to use the cached
    handle if it is available.
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    2c64c53d
extent_io.c 92.3 KB