OSDN Git Service

btrfs: Remove extra reference count bumps in btrfs_compare_trees
authorNikolay Borisov <nborisov@suse.com>
Wed, 15 Aug 2018 15:26:55 +0000 (18:26 +0300)
committerDavid Sterba <dsterba@suse.com>
Mon, 17 Dec 2018 13:51:30 +0000 (14:51 +0100)
When the 2 comparison trees roots are initialised they are private to
the function and already have reference counts of 1 each. There is no
need to further increment the reference count since the cloned buffers
are already accessed via struct btrfs_path. Eventually the 2 paths used
for comparison are going to be released, effectively disposing of the
cloned buffers.

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ctree.c

index c1afcc2..a436259 100644 (file)
@@ -5388,7 +5388,6 @@ int btrfs_compare_trees(struct btrfs_root *left_root,
                ret = -ENOMEM;
                goto out;
        }
-       extent_buffer_get(left_path->nodes[left_level]);
 
        right_level = btrfs_header_level(right_root->commit_root);
        right_root_level = right_level;
@@ -5399,7 +5398,6 @@ int btrfs_compare_trees(struct btrfs_root *left_root,
                ret = -ENOMEM;
                goto out;
        }
-       extent_buffer_get(right_path->nodes[right_level]);
        up_read(&fs_info->commit_root_sem);
 
        if (left_level == 0)