• David Sterba's avatar
    btrfs: speed up and simplify generic_bin_search · 5cd17f34
    David Sterba authored
    The bin search jumps over the extent buffer item keys, comparing
    directly the bytes if the key is in one page, or storing it in a
    temporary buffer in case it spans two pages.
    
    The mapping start and length are obtained from map_private_extent_buffer,
    which is heavy weight compared to what we need. We know the key size and
    can find out the eb page in a simple way.  For keys spanning two pages
    the fallback read_extent_buffer is used.
    
    The temporary variables are reduced and moved to the scope of use.
    Reviewed-by: default avatarJohannes Thumshirn <johannes.thumshirn@wdc.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    5cd17f34
ctree.c 140 KB