btrfs: extent-tree: remove unnecessary calls to btrfs_mark_buffer_dirty()
authorFilipe Manana <fdmanana@suse.com>
Wed, 18 Dec 2024 12:19:10 +0000 (12:19 +0000)
committerDavid Sterba <dsterba@suse.com>
Mon, 13 Jan 2025 13:53:19 +0000 (14:53 +0100)
We have several places explicitly calling btrfs_mark_buffer_dirty() but
that is not necessarily since the target leaf came from a path that was
obtained for a btree search function that modifies the btree, something
like btrfs_insert_empty_item() or anything else that ends up calling
btrfs_search_slot() with a value of 1 for its 'cow' argument.

These just make the code more verbose, confusing and add a little extra
overhead and well as increase the module's text size, so remove them.

Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent-tree.c

index 3dfe651aeaa995cc7b1f8a03f81c36822a76152c..1cb1bd45f7ec9c79b3e9b61064792f8cea3f1883 100644 (file)
@@ -570,7 +570,6 @@ static noinline int insert_extent_data_ref(struct btrfs_trans_handle *trans,
                        btrfs_set_extent_data_ref_count(leaf, ref, num_refs);
                }
        }
-       btrfs_mark_buffer_dirty(trans, leaf);
        ret = 0;
 fail:
        btrfs_release_path(path);
@@ -618,7 +617,6 @@ static noinline int remove_extent_data_ref(struct btrfs_trans_handle *trans,
                        btrfs_set_extent_data_ref_count(leaf, ref1, num_refs);
                else if (key.type == BTRFS_SHARED_DATA_REF_KEY)
                        btrfs_set_shared_data_ref_count(leaf, ref2, num_refs);
-               btrfs_mark_buffer_dirty(trans, leaf);
        }
        return ret;
 }
@@ -1050,7 +1048,6 @@ void setup_inline_extent_backref(struct btrfs_trans_handle *trans,
        } else {
                btrfs_set_extent_inline_ref_offset(leaf, iref, root_objectid);
        }
-       btrfs_mark_buffer_dirty(trans, leaf);
 }
 
 static int lookup_extent_backref(struct btrfs_trans_handle *trans,
@@ -1195,7 +1192,6 @@ static noinline_for_stack int update_inline_extent_backref(
                item_size -= size;
                btrfs_truncate_item(trans, path, item_size, 1);
        }
-       btrfs_mark_buffer_dirty(trans, leaf);
        return 0;
 }
 
@@ -1527,7 +1523,6 @@ static int __btrfs_inc_extent_ref(struct btrfs_trans_handle *trans,
        if (extent_op)
                __run_delayed_extent_op(extent_op, leaf, item);
 
-       btrfs_mark_buffer_dirty(trans, leaf);
        btrfs_release_path(path);
 
        /* now insert the actual backref */
@@ -1711,8 +1706,6 @@ again:
 
        ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item);
        __run_delayed_extent_op(extent_op, leaf, ei);
-
-       btrfs_mark_buffer_dirty(trans, leaf);
 out:
        btrfs_free_path(path);
        return ret;
@@ -3267,7 +3260,6 @@ static int __btrfs_free_extent(struct btrfs_trans_handle *trans,
                        }
                } else {
                        btrfs_set_extent_refs(leaf, ei, refs);
-                       btrfs_mark_buffer_dirty(trans, leaf);
                }
                if (found_extent) {
                        ret = remove_extent_backref(trans, extent_root, path,
@@ -4835,7 +4827,6 @@ static int alloc_reserved_file_extent(struct btrfs_trans_handle *trans,
                btrfs_set_extent_data_ref_count(leaf, ref, ref_mod);
        }
 
-       btrfs_mark_buffer_dirty(trans, path->nodes[0]);
        btrfs_free_path(path);
 
        return alloc_reserved_extent(trans, ins->objectid, ins->offset);
@@ -4910,7 +4901,6 @@ static int alloc_reserved_tree_block(struct btrfs_trans_handle *trans,
                btrfs_set_extent_inline_ref_offset(leaf, iref, node->ref_root);
        }
 
-       btrfs_mark_buffer_dirty(trans, leaf);
        btrfs_free_path(path);
 
        return alloc_reserved_extent(trans, node->bytenr, fs_info->nodesize);