• Nikolay Borisov's avatar
    btrfs: Simplify alloc_reserved_tree_block interface · 4e6bd4e0
    Nikolay Borisov authored
    This function currently takes 7 parameters, most of which are proxies
    for values from btrfs_delayed_ref_node struct which is not passed. This
    patch simplifies the interface of the function by simply passing said
    delayed ref node struct to the function. This enables us to:
    
    1. Move locals variables and init code related to them from
       run_delayed_tree_ref which should only be used inside
       alloc_reserved_tree_block, such as skinny_metadata and the btrfs_key,
       representing the extent being inserted. This removes the need for the
       "ins" argument. Instead, it's replaced by a local var with a more
       verbose name - extent_key.
    
    2. Now that we have a reference to the node in alloc_reserved_tree_block
       the delayed_tree_ref struct can be referenced inside the function and
       this enable removing the "ref->level", "parent" and "ref_root"
       arguments.
    Signed-off-by: default avatarNikolay Borisov <nborisov@suse.com>
    Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    4e6bd4e0
extent-tree.c 301 KB