Linux Btrfs filesystem development
 help / color / mirror / Atom feed
From: fdmanana@kernel.org
To: linux-btrfs@vger.kernel.org
Subject: [PATCH 03/20] btrfs: extent-tree: remove unnecessary calls to btrfs_mark_buffer_dirty()
Date: Wed, 18 Dec 2024 17:06:30 +0000	[thread overview]
Message-ID: <e83b5e64ce77dcb1082be206abf164047ec1a9bc.1734527445.git.fdmanana@suse.com> (raw)
In-Reply-To: <cover.1734527445.git.fdmanana@suse.com>

From: Filipe Manana <fdmanana@suse.com>

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.

Signed-off-by: Filipe Manana <fdmanana@suse.com>
---
 fs/btrfs/extent-tree.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index e849fc34d8d9..14889b62ef59 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -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 @@ static int run_delayed_extent_op(struct btrfs_trans_handle *trans,
 
 	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;
@@ -3268,7 +3261,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,
@@ -4836,7 +4828,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);
@@ -4911,7 +4902,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);
-- 
2.45.2


  parent reply	other threads:[~2024-12-18 17:06 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-18 17:06 [PATCH 00/20] btrfs: remove plenty of redundant btrfs_mark_buffer_dirty() calls fdmanana
2024-12-18 17:06 ` [PATCH 01/20] btrfs: tree-log: remove unnecessary calls to btrfs_mark_buffer_dirty() fdmanana
2024-12-18 17:06 ` [PATCH 02/20] btrfs: free-space-tree: " fdmanana
2024-12-18 17:06 ` fdmanana [this message]
2024-12-18 17:06 ` [PATCH 04/20] btrfs: block-group: " fdmanana
2024-12-18 17:06 ` [PATCH 05/20] btrfs: delayed-inode: remove unnecessary call " fdmanana
2024-12-18 17:06 ` [PATCH 06/20] btrfs: dev-replace: " fdmanana
2024-12-18 17:06 ` [PATCH 07/20] btrfs: dir-item: remove unnecessary calls " fdmanana
2024-12-18 17:06 ` [PATCH 08/20] btrfs: file: " fdmanana
2024-12-18 17:06 ` [PATCH 09/20] btrfs: file-item: " fdmanana
2024-12-18 17:06 ` [PATCH 10/20] btrfs: free-space-cache: " fdmanana
2024-12-18 17:06 ` [PATCH 11/20] btrfs: inode: " fdmanana
2024-12-18 17:06 ` [PATCH 12/20] btrfs: inode-item: " fdmanana
2024-12-18 17:06 ` [PATCH 13/20] btrfs: ioctl: remove unnecessary call " fdmanana
2024-12-18 17:06 ` [PATCH 14/20] btrfs: qgroup: remove unnecessary calls " fdmanana
2024-12-18 17:06 ` [PATCH 15/20] btrfs: raid-stripe-tree: remove unnecessary call " fdmanana
2024-12-18 17:06 ` [PATCH 16/20] btrfs: relocation: remove unnecessary calls " fdmanana
2024-12-18 17:06 ` [PATCH 17/20] btrfs: root-tree: " fdmanana
2024-12-18 17:06 ` [PATCH 18/20] btrfs: uuid-tree: remove unnecessary call " fdmanana
2024-12-18 17:06 ` [PATCH 19/20] btrfs: volumes: remove unnecessary calls " fdmanana
2024-12-18 17:06 ` [PATCH 20/20] btrfs: xattr: remove unnecessary call " fdmanana
2024-12-19  7:43 ` [PATCH 00/20] btrfs: remove plenty of redundant btrfs_mark_buffer_dirty() calls Johannes Thumshirn
2024-12-23 20:08 ` David Sterba
2025-01-06 10:54   ` Filipe Manana
2025-01-06 14:19     ` David Sterba
2025-01-06 15:43       ` Filipe Manana

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e83b5e64ce77dcb1082be206abf164047ec1a9bc.1734527445.git.fdmanana@suse.com \
    --to=fdmanana@kernel.org \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox