]> www.infradead.org Git - nvme.git/commitdiff
btrfs: simplify setting the full backref flag at update_ref_for_cow()
authorFilipe Manana <fdmanana@suse.com>
Tue, 18 Jun 2024 14:21:50 +0000 (15:21 +0100)
committerDavid Sterba <dsterba@suse.com>
Thu, 11 Jul 2024 13:33:26 +0000 (15:33 +0200)
We keep a "new_flags" variable only to keep track if we need to update the
metadata extent's flags, and when we set BTRFS_BLOCK_FLAG_FULL_BACKREF in
the variable, we do it in an inner scope. Then check in an outer scope
if the variable is not 0 and if so call btrfs_set_disk_extent_flags().
The variable isn't used for anything else. This is somewhat confusing, so
to make it more straightforward update the extent's flags where we are
currently updating "new_flags" and remove the variable.

Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ctree.c

index 763b9a1da4288bd6026de83c6f15d6ca6149163b..7b2f1de845e78845e11442c74dd56ba00f0b116f 100644 (file)
@@ -417,7 +417,6 @@ static noinline int update_ref_for_cow(struct btrfs_trans_handle *trans,
        u64 refs;
        u64 owner;
        u64 flags;
-       u64 new_flags = 0;
        int ret;
 
        /*
@@ -481,7 +480,10 @@ static noinline int update_ref_for_cow(struct btrfs_trans_handle *trans,
                                if (ret)
                                        return ret;
                        }
-                       new_flags |= BTRFS_BLOCK_FLAG_FULL_BACKREF;
+                       ret = btrfs_set_disk_extent_flags(trans, buf,
+                                                 BTRFS_BLOCK_FLAG_FULL_BACKREF);
+                       if (ret)
+                               return ret;
                } else {
 
                        if (btrfs_root_id(root) == BTRFS_TREE_RELOC_OBJECTID)
@@ -491,11 +493,6 @@ static noinline int update_ref_for_cow(struct btrfs_trans_handle *trans,
                        if (ret)
                                return ret;
                }
-               if (new_flags != 0) {
-                       ret = btrfs_set_disk_extent_flags(trans, buf, new_flags);
-                       if (ret)
-                               return ret;
-               }
        } else {
                if (flags & BTRFS_BLOCK_FLAG_FULL_BACKREF) {
                        if (btrfs_root_id(root) == BTRFS_TREE_RELOC_OBJECTID)