On Tue, Apr 24, 2018 at 05:18:16PM +0300, Nikolay Borisov wrote: > This patchkit aims to simplify and streamline the logic involved in > initialising and adding delayed refs/delayed head structures which deal with > modification of the extent tree. Currently the logic for init and add was > contained in one function for each type of structure. This resulted in very > awkward interface with shitloads of arguments, this in turn made it really hard > to understand the gist of the code. This series rectifies the situation by > extracting common parts and using those rather than open coding duplicated > logic for every type of delayed ref (tree or data ref). > > The first 5 patches deal with the delayed_ref structs. Each patch is > incremental and makes the code bisectable. The last tree factor out the init > code for delayed_ref_head into a separate function and begin to use it. The > final completely splits the two. > > The net result is both a cleaner interface as well as somewhat reduced > critical section under delayed_refs->lock spinlock. > > V2: Rebased the patches on latest misc-next. > > Nikolay Borisov (8): > btrfs: Factor out common delayed refs init code > btrfs: Use init_delayed_ref_common in add_delayed_tree_ref > btrfs: Use init_delayed_ref_common in add_delayed_data_ref > btrfs: Open-code add_delayed_tree_ref > btrfs: Open-code add_delayed_data_ref > btrfs: Introduce init_delayed_ref_head > btrfs: Use init_delayed_ref_head in add_delayed_ref_head > btrfs: split delayed ref head initialization and addition Reviewed-by: David Sterba <dsterba@xxxxxxxx> On the way to misc-next, it's been in next for quite some time. -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
