Skip to content
  • Filipe Manana's avatar
    Btrfs: bulk delete checksum items in the same leaf · 6f546216
    Filipe Manana authored
    
    
    Very often we have the checksums for an extent spread in multiple items
    in the checksums tree, and currently the algorithm to delete them starts
    by looking for them one by one and then deleting them one by one, which
    is not optimal since each deletion involves shifting all the other items
    in the leaf and when the leaf reaches some low threshold, to move items
    off the leaf into its left and right neighbor leafs. Also, after each
    item deletion we release our search path and start a new search for other
    checksums items.
    
    So optimize this by deleting in bulk all the items in the same leaf that
    contain checksums for the extent being freed.
    
    Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
    Reviewed-by: default avatarLiu Bo <bo.li.liu@oracle.com>
    6f546216