public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] btrfs: delayed_ref parameter cleanup
@ 2022-12-12  9:02 Johannes Thumshirn
  2022-12-12  9:02 ` [PATCH 1/4] btrfs: drop unused trans parameter of drop_delayed_ref Johannes Thumshirn
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Johannes Thumshirn @ 2022-12-12  9:02 UTC (permalink / raw)
  To: linux-btrfs; +Cc: Johannes Thumshirn

While looking at the delayed_ref code for the RST series I've discovered, that
drop_delayed_ref is using a btrfs_trans_handle without even using it. After
having it removed I've identified more uses of the trans in the callchain that
are unused after drop_delayed_ref got rid of it.

Johannes Thumshirn (4):
  btrfs: drop unused trans parameter of drop_delayed_ref
  btrfs: remove trans parameter of merge_ref
  btrfs: drop trans parameter of insert_delayed_ref
  btrfs: directly pass in fs_info to btrfs_merge_delayed_refs

 fs/btrfs/delayed-ref.c | 24 ++++++++++--------------
 fs/btrfs/delayed-ref.h |  2 +-
 fs/btrfs/extent-tree.c |  4 ++--
 3 files changed, 13 insertions(+), 17 deletions(-)


base-commit: b7af0635c87ff78d6bd523298ab7471f9ffd3ce5
-- 
2.38.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/4] btrfs: drop unused trans parameter of drop_delayed_ref
  2022-12-12  9:02 [PATCH 0/4] btrfs: delayed_ref parameter cleanup Johannes Thumshirn
@ 2022-12-12  9:02 ` Johannes Thumshirn
  2022-12-12  9:21   ` Qu Wenruo
  2022-12-12  9:02 ` [PATCH 2/4] btrfs: remove trans parameter of merge_ref Johannes Thumshirn
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Johannes Thumshirn @ 2022-12-12  9:02 UTC (permalink / raw)
  To: linux-btrfs; +Cc: Johannes Thumshirn

drop_delayed_ref() doesn't use the btrfs_trans_handle it gets passed in,
so remove it.

Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
---
 fs/btrfs/delayed-ref.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c
index 573ebab886e2..663e7493926f 100644
--- a/fs/btrfs/delayed-ref.c
+++ b/fs/btrfs/delayed-ref.c
@@ -437,8 +437,7 @@ int btrfs_delayed_ref_lock(struct btrfs_delayed_ref_root *delayed_refs,
 	return 0;
 }
 
-static inline void drop_delayed_ref(struct btrfs_trans_handle *trans,
-				    struct btrfs_delayed_ref_root *delayed_refs,
+static inline void drop_delayed_ref(struct btrfs_delayed_ref_root *delayed_refs,
 				    struct btrfs_delayed_ref_head *head,
 				    struct btrfs_delayed_ref_node *ref)
 {
@@ -482,10 +481,10 @@ static bool merge_ref(struct btrfs_trans_handle *trans,
 			mod = -next->ref_mod;
 		}
 
-		drop_delayed_ref(trans, delayed_refs, head, next);
+		drop_delayed_ref(delayed_refs, head, next);
 		ref->ref_mod += mod;
 		if (ref->ref_mod == 0) {
-			drop_delayed_ref(trans, delayed_refs, head, ref);
+			drop_delayed_ref(delayed_refs, head, ref);
 			done = true;
 		} else {
 			/*
@@ -641,7 +640,7 @@ static int insert_delayed_ref(struct btrfs_trans_handle *trans,
 
 	/* remove existing tail if its ref_mod is zero */
 	if (exist->ref_mod == 0)
-		drop_delayed_ref(trans, root, href, exist);
+		drop_delayed_ref(root, href, exist);
 	spin_unlock(&href->lock);
 	return ret;
 inserted:
-- 
2.38.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 2/4] btrfs: remove trans parameter of merge_ref
  2022-12-12  9:02 [PATCH 0/4] btrfs: delayed_ref parameter cleanup Johannes Thumshirn
  2022-12-12  9:02 ` [PATCH 1/4] btrfs: drop unused trans parameter of drop_delayed_ref Johannes Thumshirn
@ 2022-12-12  9:02 ` Johannes Thumshirn
  2022-12-12  9:22   ` Qu Wenruo
  2022-12-12  9:02 ` [PATCH 3/4] btrfs: drop trans parameter of insert_delayed_ref Johannes Thumshirn
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Johannes Thumshirn @ 2022-12-12  9:02 UTC (permalink / raw)
  To: linux-btrfs; +Cc: Johannes Thumshirn

Now that drop_delayed_ref() doesn't get the btrfs_trans_handle passed in
anymore, we can get rid of it in merge_ref() as well.

Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
---
 fs/btrfs/delayed-ref.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c
index 663e7493926f..046ba49b8f94 100644
--- a/fs/btrfs/delayed-ref.c
+++ b/fs/btrfs/delayed-ref.c
@@ -451,8 +451,7 @@ static inline void drop_delayed_ref(struct btrfs_delayed_ref_root *delayed_refs,
 	atomic_dec(&delayed_refs->num_entries);
 }
 
-static bool merge_ref(struct btrfs_trans_handle *trans,
-		      struct btrfs_delayed_ref_root *delayed_refs,
+static bool merge_ref(struct btrfs_delayed_ref_root *delayed_refs,
 		      struct btrfs_delayed_ref_head *head,
 		      struct btrfs_delayed_ref_node *ref,
 		      u64 seq)
@@ -523,7 +522,7 @@ void btrfs_merge_delayed_refs(struct btrfs_trans_handle *trans,
 		ref = rb_entry(node, struct btrfs_delayed_ref_node, ref_node);
 		if (seq && ref->seq >= seq)
 			continue;
-		if (merge_ref(trans, delayed_refs, head, ref, seq))
+		if (merge_ref(delayed_refs, head, ref, seq))
 			goto again;
 	}
 }
-- 
2.38.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 3/4] btrfs: drop trans parameter of insert_delayed_ref
  2022-12-12  9:02 [PATCH 0/4] btrfs: delayed_ref parameter cleanup Johannes Thumshirn
  2022-12-12  9:02 ` [PATCH 1/4] btrfs: drop unused trans parameter of drop_delayed_ref Johannes Thumshirn
  2022-12-12  9:02 ` [PATCH 2/4] btrfs: remove trans parameter of merge_ref Johannes Thumshirn
@ 2022-12-12  9:02 ` Johannes Thumshirn
  2022-12-12  9:22   ` Qu Wenruo
  2022-12-12  9:02 ` [PATCH 4/4] btrfs: directly pass in fs_info to btrfs_merge_delayed_refs Johannes Thumshirn
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Johannes Thumshirn @ 2022-12-12  9:02 UTC (permalink / raw)
  To: linux-btrfs; +Cc: Johannes Thumshirn

Now that drop_delayed_ref() doesn't need a btrfs_trans_handle, drop it
from insert_delayed_ref() as well.

Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
---
 fs/btrfs/delayed-ref.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c
index 046ba49b8f94..678ce95c04ac 100644
--- a/fs/btrfs/delayed-ref.c
+++ b/fs/btrfs/delayed-ref.c
@@ -599,8 +599,7 @@ void btrfs_delete_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
  * Return 0 for insert.
  * Return >0 for merge.
  */
-static int insert_delayed_ref(struct btrfs_trans_handle *trans,
-			      struct btrfs_delayed_ref_root *root,
+static int insert_delayed_ref(struct btrfs_delayed_ref_root *root,
 			      struct btrfs_delayed_ref_head *href,
 			      struct btrfs_delayed_ref_node *ref)
 {
@@ -976,7 +975,7 @@ int btrfs_add_delayed_tree_ref(struct btrfs_trans_handle *trans,
 	head_ref = add_delayed_ref_head(trans, head_ref, record,
 					action, &qrecord_inserted);
 
-	ret = insert_delayed_ref(trans, delayed_refs, head_ref, &ref->node);
+	ret = insert_delayed_ref(delayed_refs, head_ref, &ref->node);
 	spin_unlock(&delayed_refs->lock);
 
 	/*
@@ -1068,7 +1067,7 @@ int btrfs_add_delayed_data_ref(struct btrfs_trans_handle *trans,
 	head_ref = add_delayed_ref_head(trans, head_ref, record,
 					action, &qrecord_inserted);
 
-	ret = insert_delayed_ref(trans, delayed_refs, head_ref, &ref->node);
+	ret = insert_delayed_ref(delayed_refs, head_ref, &ref->node);
 	spin_unlock(&delayed_refs->lock);
 
 	/*
-- 
2.38.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 4/4] btrfs: directly pass in fs_info to btrfs_merge_delayed_refs
  2022-12-12  9:02 [PATCH 0/4] btrfs: delayed_ref parameter cleanup Johannes Thumshirn
                   ` (2 preceding siblings ...)
  2022-12-12  9:02 ` [PATCH 3/4] btrfs: drop trans parameter of insert_delayed_ref Johannes Thumshirn
@ 2022-12-12  9:02 ` Johannes Thumshirn
  2022-12-12  9:25   ` Qu Wenruo
  2022-12-12 19:05 ` [PATCH 0/4] btrfs: delayed_ref parameter cleanup Josef Bacik
  2022-12-20  9:17 ` Johannes Thumshirn
  5 siblings, 1 reply; 12+ messages in thread
From: Johannes Thumshirn @ 2022-12-12  9:02 UTC (permalink / raw)
  To: linux-btrfs; +Cc: Johannes Thumshirn

Now that none of the functions called by btrfs_merge_delayed_refs() needs
a btrfs_trans_handle, directly pass in a btrfs_fs_info to
btrfs_merge_delayed_refs().

Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
---
 fs/btrfs/delayed-ref.c | 3 +--
 fs/btrfs/delayed-ref.h | 2 +-
 fs/btrfs/extent-tree.c | 4 ++--
 3 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c
index 678ce95c04ac..886ffb232eac 100644
--- a/fs/btrfs/delayed-ref.c
+++ b/fs/btrfs/delayed-ref.c
@@ -497,11 +497,10 @@ static bool merge_ref(struct btrfs_delayed_ref_root *delayed_refs,
 	return done;
 }
 
-void btrfs_merge_delayed_refs(struct btrfs_trans_handle *trans,
+void btrfs_merge_delayed_refs(struct btrfs_fs_info *fs_info,
 			      struct btrfs_delayed_ref_root *delayed_refs,
 			      struct btrfs_delayed_ref_head *head)
 {
-	struct btrfs_fs_info *fs_info = trans->fs_info;
 	struct btrfs_delayed_ref_node *ref;
 	struct rb_node *node;
 	u64 seq = 0;
diff --git a/fs/btrfs/delayed-ref.h b/fs/btrfs/delayed-ref.h
index d6304b690ec4..2eb34abf700f 100644
--- a/fs/btrfs/delayed-ref.h
+++ b/fs/btrfs/delayed-ref.h
@@ -357,7 +357,7 @@ int btrfs_add_delayed_data_ref(struct btrfs_trans_handle *trans,
 int btrfs_add_delayed_extent_op(struct btrfs_trans_handle *trans,
 				u64 bytenr, u64 num_bytes,
 				struct btrfs_delayed_extent_op *extent_op);
-void btrfs_merge_delayed_refs(struct btrfs_trans_handle *trans,
+void btrfs_merge_delayed_refs(struct btrfs_fs_info *fs_info,
 			      struct btrfs_delayed_ref_root *delayed_refs,
 			      struct btrfs_delayed_ref_head *head);
 
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 892d78c1853c..eaa1fb2850d7 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -1963,7 +1963,7 @@ static int btrfs_run_delayed_refs_for_head(struct btrfs_trans_handle *trans,
 		cond_resched();
 
 		spin_lock(&locked_ref->lock);
-		btrfs_merge_delayed_refs(trans, delayed_refs, locked_ref);
+		btrfs_merge_delayed_refs(fs_info, delayed_refs, locked_ref);
 	}
 
 	return 0;
@@ -2010,7 +2010,7 @@ static noinline int __btrfs_run_delayed_refs(struct btrfs_trans_handle *trans,
 		 * insert_inline_extent_backref()).
 		 */
 		spin_lock(&locked_ref->lock);
-		btrfs_merge_delayed_refs(trans, delayed_refs, locked_ref);
+		btrfs_merge_delayed_refs(fs_info, delayed_refs, locked_ref);
 
 		ret = btrfs_run_delayed_refs_for_head(trans, locked_ref,
 						      &actual_count);
-- 
2.38.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/4] btrfs: drop unused trans parameter of drop_delayed_ref
  2022-12-12  9:02 ` [PATCH 1/4] btrfs: drop unused trans parameter of drop_delayed_ref Johannes Thumshirn
@ 2022-12-12  9:21   ` Qu Wenruo
  0 siblings, 0 replies; 12+ messages in thread
From: Qu Wenruo @ 2022-12-12  9:21 UTC (permalink / raw)
  To: Johannes Thumshirn, linux-btrfs



On 2022/12/12 17:02, Johannes Thumshirn wrote:
> drop_delayed_ref() doesn't use the btrfs_trans_handle it gets passed in,
> so remove it.
> 
> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>

Reviewed-by: Qu Wenruo <wqu@suse.com>

Thanks,
Qu
> ---
>   fs/btrfs/delayed-ref.c | 9 ++++-----
>   1 file changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c
> index 573ebab886e2..663e7493926f 100644
> --- a/fs/btrfs/delayed-ref.c
> +++ b/fs/btrfs/delayed-ref.c
> @@ -437,8 +437,7 @@ int btrfs_delayed_ref_lock(struct btrfs_delayed_ref_root *delayed_refs,
>   	return 0;
>   }
>   
> -static inline void drop_delayed_ref(struct btrfs_trans_handle *trans,
> -				    struct btrfs_delayed_ref_root *delayed_refs,
> +static inline void drop_delayed_ref(struct btrfs_delayed_ref_root *delayed_refs,
>   				    struct btrfs_delayed_ref_head *head,
>   				    struct btrfs_delayed_ref_node *ref)
>   {
> @@ -482,10 +481,10 @@ static bool merge_ref(struct btrfs_trans_handle *trans,
>   			mod = -next->ref_mod;
>   		}
>   
> -		drop_delayed_ref(trans, delayed_refs, head, next);
> +		drop_delayed_ref(delayed_refs, head, next);
>   		ref->ref_mod += mod;
>   		if (ref->ref_mod == 0) {
> -			drop_delayed_ref(trans, delayed_refs, head, ref);
> +			drop_delayed_ref(delayed_refs, head, ref);
>   			done = true;
>   		} else {
>   			/*
> @@ -641,7 +640,7 @@ static int insert_delayed_ref(struct btrfs_trans_handle *trans,
>   
>   	/* remove existing tail if its ref_mod is zero */
>   	if (exist->ref_mod == 0)
> -		drop_delayed_ref(trans, root, href, exist);
> +		drop_delayed_ref(root, href, exist);
>   	spin_unlock(&href->lock);
>   	return ret;
>   inserted:

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/4] btrfs: remove trans parameter of merge_ref
  2022-12-12  9:02 ` [PATCH 2/4] btrfs: remove trans parameter of merge_ref Johannes Thumshirn
@ 2022-12-12  9:22   ` Qu Wenruo
  0 siblings, 0 replies; 12+ messages in thread
From: Qu Wenruo @ 2022-12-12  9:22 UTC (permalink / raw)
  To: Johannes Thumshirn, linux-btrfs



On 2022/12/12 17:02, Johannes Thumshirn wrote:
> Now that drop_delayed_ref() doesn't get the btrfs_trans_handle passed in
> anymore, we can get rid of it in merge_ref() as well.
> 
> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>

Reviewed-by: Qu Wenruo <wqu@suse.com>

Thanks,
Qu
> ---
>   fs/btrfs/delayed-ref.c | 5 ++---
>   1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c
> index 663e7493926f..046ba49b8f94 100644
> --- a/fs/btrfs/delayed-ref.c
> +++ b/fs/btrfs/delayed-ref.c
> @@ -451,8 +451,7 @@ static inline void drop_delayed_ref(struct btrfs_delayed_ref_root *delayed_refs,
>   	atomic_dec(&delayed_refs->num_entries);
>   }
>   
> -static bool merge_ref(struct btrfs_trans_handle *trans,
> -		      struct btrfs_delayed_ref_root *delayed_refs,
> +static bool merge_ref(struct btrfs_delayed_ref_root *delayed_refs,
>   		      struct btrfs_delayed_ref_head *head,
>   		      struct btrfs_delayed_ref_node *ref,
>   		      u64 seq)
> @@ -523,7 +522,7 @@ void btrfs_merge_delayed_refs(struct btrfs_trans_handle *trans,
>   		ref = rb_entry(node, struct btrfs_delayed_ref_node, ref_node);
>   		if (seq && ref->seq >= seq)
>   			continue;
> -		if (merge_ref(trans, delayed_refs, head, ref, seq))
> +		if (merge_ref(delayed_refs, head, ref, seq))
>   			goto again;
>   	}
>   }

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 3/4] btrfs: drop trans parameter of insert_delayed_ref
  2022-12-12  9:02 ` [PATCH 3/4] btrfs: drop trans parameter of insert_delayed_ref Johannes Thumshirn
@ 2022-12-12  9:22   ` Qu Wenruo
  0 siblings, 0 replies; 12+ messages in thread
From: Qu Wenruo @ 2022-12-12  9:22 UTC (permalink / raw)
  To: Johannes Thumshirn, linux-btrfs



On 2022/12/12 17:02, Johannes Thumshirn wrote:
> Now that drop_delayed_ref() doesn't need a btrfs_trans_handle, drop it
> from insert_delayed_ref() as well.
> 
> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>

Reviewed-by: Qu Wenruo <wqu@suse.com>

Thanks,
Qu
> ---
>   fs/btrfs/delayed-ref.c | 7 +++----
>   1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c
> index 046ba49b8f94..678ce95c04ac 100644
> --- a/fs/btrfs/delayed-ref.c
> +++ b/fs/btrfs/delayed-ref.c
> @@ -599,8 +599,7 @@ void btrfs_delete_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
>    * Return 0 for insert.
>    * Return >0 for merge.
>    */
> -static int insert_delayed_ref(struct btrfs_trans_handle *trans,
> -			      struct btrfs_delayed_ref_root *root,
> +static int insert_delayed_ref(struct btrfs_delayed_ref_root *root,
>   			      struct btrfs_delayed_ref_head *href,
>   			      struct btrfs_delayed_ref_node *ref)
>   {
> @@ -976,7 +975,7 @@ int btrfs_add_delayed_tree_ref(struct btrfs_trans_handle *trans,
>   	head_ref = add_delayed_ref_head(trans, head_ref, record,
>   					action, &qrecord_inserted);
>   
> -	ret = insert_delayed_ref(trans, delayed_refs, head_ref, &ref->node);
> +	ret = insert_delayed_ref(delayed_refs, head_ref, &ref->node);
>   	spin_unlock(&delayed_refs->lock);
>   
>   	/*
> @@ -1068,7 +1067,7 @@ int btrfs_add_delayed_data_ref(struct btrfs_trans_handle *trans,
>   	head_ref = add_delayed_ref_head(trans, head_ref, record,
>   					action, &qrecord_inserted);
>   
> -	ret = insert_delayed_ref(trans, delayed_refs, head_ref, &ref->node);
> +	ret = insert_delayed_ref(delayed_refs, head_ref, &ref->node);
>   	spin_unlock(&delayed_refs->lock);
>   
>   	/*

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 4/4] btrfs: directly pass in fs_info to btrfs_merge_delayed_refs
  2022-12-12  9:02 ` [PATCH 4/4] btrfs: directly pass in fs_info to btrfs_merge_delayed_refs Johannes Thumshirn
@ 2022-12-12  9:25   ` Qu Wenruo
  0 siblings, 0 replies; 12+ messages in thread
From: Qu Wenruo @ 2022-12-12  9:25 UTC (permalink / raw)
  To: Johannes Thumshirn, linux-btrfs



On 2022/12/12 17:02, Johannes Thumshirn wrote:
> Now that none of the functions called by btrfs_merge_delayed_refs() needs
> a btrfs_trans_handle, directly pass in a btrfs_fs_info to
> btrfs_merge_delayed_refs().
> 
> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>

Reviewed-by: Qu Wenruo <wqu@suse.com>

Thanks,
Qu
> ---
>   fs/btrfs/delayed-ref.c | 3 +--
>   fs/btrfs/delayed-ref.h | 2 +-
>   fs/btrfs/extent-tree.c | 4 ++--
>   3 files changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c
> index 678ce95c04ac..886ffb232eac 100644
> --- a/fs/btrfs/delayed-ref.c
> +++ b/fs/btrfs/delayed-ref.c
> @@ -497,11 +497,10 @@ static bool merge_ref(struct btrfs_delayed_ref_root *delayed_refs,
>   	return done;
>   }
>   
> -void btrfs_merge_delayed_refs(struct btrfs_trans_handle *trans,
> +void btrfs_merge_delayed_refs(struct btrfs_fs_info *fs_info,
>   			      struct btrfs_delayed_ref_root *delayed_refs,
>   			      struct btrfs_delayed_ref_head *head)
>   {
> -	struct btrfs_fs_info *fs_info = trans->fs_info;
>   	struct btrfs_delayed_ref_node *ref;
>   	struct rb_node *node;
>   	u64 seq = 0;
> diff --git a/fs/btrfs/delayed-ref.h b/fs/btrfs/delayed-ref.h
> index d6304b690ec4..2eb34abf700f 100644
> --- a/fs/btrfs/delayed-ref.h
> +++ b/fs/btrfs/delayed-ref.h
> @@ -357,7 +357,7 @@ int btrfs_add_delayed_data_ref(struct btrfs_trans_handle *trans,
>   int btrfs_add_delayed_extent_op(struct btrfs_trans_handle *trans,
>   				u64 bytenr, u64 num_bytes,
>   				struct btrfs_delayed_extent_op *extent_op);
> -void btrfs_merge_delayed_refs(struct btrfs_trans_handle *trans,
> +void btrfs_merge_delayed_refs(struct btrfs_fs_info *fs_info,
>   			      struct btrfs_delayed_ref_root *delayed_refs,
>   			      struct btrfs_delayed_ref_head *head);
>   
> diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
> index 892d78c1853c..eaa1fb2850d7 100644
> --- a/fs/btrfs/extent-tree.c
> +++ b/fs/btrfs/extent-tree.c
> @@ -1963,7 +1963,7 @@ static int btrfs_run_delayed_refs_for_head(struct btrfs_trans_handle *trans,
>   		cond_resched();
>   
>   		spin_lock(&locked_ref->lock);
> -		btrfs_merge_delayed_refs(trans, delayed_refs, locked_ref);
> +		btrfs_merge_delayed_refs(fs_info, delayed_refs, locked_ref);
>   	}
>   
>   	return 0;
> @@ -2010,7 +2010,7 @@ static noinline int __btrfs_run_delayed_refs(struct btrfs_trans_handle *trans,
>   		 * insert_inline_extent_backref()).
>   		 */
>   		spin_lock(&locked_ref->lock);
> -		btrfs_merge_delayed_refs(trans, delayed_refs, locked_ref);
> +		btrfs_merge_delayed_refs(fs_info, delayed_refs, locked_ref);
>   
>   		ret = btrfs_run_delayed_refs_for_head(trans, locked_ref,
>   						      &actual_count);

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 0/4] btrfs: delayed_ref parameter cleanup
  2022-12-12  9:02 [PATCH 0/4] btrfs: delayed_ref parameter cleanup Johannes Thumshirn
                   ` (3 preceding siblings ...)
  2022-12-12  9:02 ` [PATCH 4/4] btrfs: directly pass in fs_info to btrfs_merge_delayed_refs Johannes Thumshirn
@ 2022-12-12 19:05 ` Josef Bacik
  2022-12-20  9:17 ` Johannes Thumshirn
  5 siblings, 0 replies; 12+ messages in thread
From: Josef Bacik @ 2022-12-12 19:05 UTC (permalink / raw)
  To: Johannes Thumshirn; +Cc: linux-btrfs

On Mon, Dec 12, 2022 at 01:02:45AM -0800, Johannes Thumshirn wrote:
> While looking at the delayed_ref code for the RST series I've discovered, that
> drop_delayed_ref is using a btrfs_trans_handle without even using it. After
> having it removed I've identified more uses of the trans in the callchain that
> are unused after drop_delayed_ref got rid of it.
>

You can add

Reviewed-by: Josef Bacik <josef@toxicpanda.com>

to the series, thanks,

Josef

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 0/4] btrfs: delayed_ref parameter cleanup
  2022-12-12  9:02 [PATCH 0/4] btrfs: delayed_ref parameter cleanup Johannes Thumshirn
                   ` (4 preceding siblings ...)
  2022-12-12 19:05 ` [PATCH 0/4] btrfs: delayed_ref parameter cleanup Josef Bacik
@ 2022-12-20  9:17 ` Johannes Thumshirn
  2022-12-20 18:33   ` David Sterba
  5 siblings, 1 reply; 12+ messages in thread
From: Johannes Thumshirn @ 2022-12-20  9:17 UTC (permalink / raw)
  To: linux-btrfs@vger.kernel.org

On 12.12.22 10:03, Johannes Thumshirn wrote:
> While looking at the delayed_ref code for the RST series I've discovered, that
> drop_delayed_ref is using a btrfs_trans_handle without even using it. After
> having it removed I've identified more uses of the trans in the callchain that
> are unused after drop_delayed_ref got rid of it.
> 
> Johannes Thumshirn (4):
>   btrfs: drop unused trans parameter of drop_delayed_ref
>   btrfs: remove trans parameter of merge_ref
>   btrfs: drop trans parameter of insert_delayed_ref
>   btrfs: directly pass in fs_info to btrfs_merge_delayed_refs
> 
>  fs/btrfs/delayed-ref.c | 24 ++++++++++--------------
>  fs/btrfs/delayed-ref.h |  2 +-
>  fs/btrfs/extent-tree.c |  4 ++--
>  3 files changed, 13 insertions(+), 17 deletions(-)
> 
> 
> base-commit: b7af0635c87ff78d6bd523298ab7471f9ffd3ce5
Ping?

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 0/4] btrfs: delayed_ref parameter cleanup
  2022-12-20  9:17 ` Johannes Thumshirn
@ 2022-12-20 18:33   ` David Sterba
  0 siblings, 0 replies; 12+ messages in thread
From: David Sterba @ 2022-12-20 18:33 UTC (permalink / raw)
  To: Johannes Thumshirn; +Cc: linux-btrfs@vger.kernel.org

On Tue, Dec 20, 2022 at 09:17:22AM +0000, Johannes Thumshirn wrote:
> On 12.12.22 10:03, Johannes Thumshirn wrote:
> > While looking at the delayed_ref code for the RST series I've discovered, that
> > drop_delayed_ref is using a btrfs_trans_handle without even using it. After
> > having it removed I've identified more uses of the trans in the callchain that
> > are unused after drop_delayed_ref got rid of it.
> > 
> > Johannes Thumshirn (4):
> >   btrfs: drop unused trans parameter of drop_delayed_ref
> >   btrfs: remove trans parameter of merge_ref
> >   btrfs: drop trans parameter of insert_delayed_ref
> >   btrfs: directly pass in fs_info to btrfs_merge_delayed_refs
> > 
> >  fs/btrfs/delayed-ref.c | 24 ++++++++++--------------
> >  fs/btrfs/delayed-ref.h |  2 +-
> >  fs/btrfs/extent-tree.c |  4 ++--
> >  3 files changed, 13 insertions(+), 17 deletions(-)
> > 
> > 
> > base-commit: b7af0635c87ff78d6bd523298ab7471f9ffd3ce5
> Ping?

The patchset has been in misc-next for some time, I forgot to send the
mail.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2022-12-20 18:34 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-12  9:02 [PATCH 0/4] btrfs: delayed_ref parameter cleanup Johannes Thumshirn
2022-12-12  9:02 ` [PATCH 1/4] btrfs: drop unused trans parameter of drop_delayed_ref Johannes Thumshirn
2022-12-12  9:21   ` Qu Wenruo
2022-12-12  9:02 ` [PATCH 2/4] btrfs: remove trans parameter of merge_ref Johannes Thumshirn
2022-12-12  9:22   ` Qu Wenruo
2022-12-12  9:02 ` [PATCH 3/4] btrfs: drop trans parameter of insert_delayed_ref Johannes Thumshirn
2022-12-12  9:22   ` Qu Wenruo
2022-12-12  9:02 ` [PATCH 4/4] btrfs: directly pass in fs_info to btrfs_merge_delayed_refs Johannes Thumshirn
2022-12-12  9:25   ` Qu Wenruo
2022-12-12 19:05 ` [PATCH 0/4] btrfs: delayed_ref parameter cleanup Josef Bacik
2022-12-20  9:17 ` Johannes Thumshirn
2022-12-20 18:33   ` David Sterba

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox