All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Cleanups around extent increment
@ 2018-06-18 11:59 Nikolay Borisov
  2018-06-18 11:59 ` [PATCH 1/3] btrfs: Remove fs_info argument from __btrfs_inc_extent_ref Nikolay Borisov
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Nikolay Borisov @ 2018-06-18 11:59 UTC (permalink / raw)
  To: linux-btrfs; +Cc: jeffm, Nikolay Borisov

Hello, 

This series improves the functions involved around extent reference increment. 
The first patch just removes a redundant argument, the second one documents the 
parameters of __btrfs_inc_extent_ref. It can be considered v2 of the standalone
version which Jeff had some input to. The final patch fixes a comment in 
lookup_inline_extent_backref which transpired while Jeff was revieweing the 
documentation patch. 

Nikolay Borisov (3):
  btrfs: Remove fs_info argument from __btrfs_inc_extent_ref
  btrfs: Document __btrfs_inc_extent_ref
  btrfs: Fix comment in lookup_inline_extent_backref

 fs/btrfs/extent-tree.c | 51 ++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 41 insertions(+), 10 deletions(-)

-- 
2.7.4


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

* [PATCH 1/3] btrfs: Remove fs_info argument from __btrfs_inc_extent_ref
  2018-06-18 11:59 [PATCH 0/3] Cleanups around extent increment Nikolay Borisov
@ 2018-06-18 11:59 ` Nikolay Borisov
  2018-06-19  5:24   ` Qu Wenruo
                     ` (2 more replies)
  2018-06-18 11:59 ` [PATCH 2/3] btrfs: Document __btrfs_inc_extent_ref Nikolay Borisov
                   ` (2 subsequent siblings)
  3 siblings, 3 replies; 10+ messages in thread
From: Nikolay Borisov @ 2018-06-18 11:59 UTC (permalink / raw)
  To: linux-btrfs; +Cc: jeffm, Nikolay Borisov

This function already takes a transaction which holds a reference to
the fs_info struct. Use that reference and remove the extra arg. No
functional changes.

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
---
 fs/btrfs/extent-tree.c | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 4850e538ab10..59645ced6fbc 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -2208,12 +2208,12 @@ int btrfs_inc_extent_ref(struct btrfs_trans_handle *trans,
 }
 
 static int __btrfs_inc_extent_ref(struct btrfs_trans_handle *trans,
-				  struct btrfs_fs_info *fs_info,
 				  struct btrfs_delayed_ref_node *node,
 				  u64 parent, u64 root_objectid,
 				  u64 owner, u64 offset, int refs_to_add,
 				  struct btrfs_delayed_extent_op *extent_op)
 {
+	struct btrfs_fs_info *fs_info = trans->fs_info;
 	struct btrfs_path *path;
 	struct extent_buffer *leaf;
 	struct btrfs_extent_item *item;
@@ -2297,10 +2297,9 @@ static int run_delayed_data_ref(struct btrfs_trans_handle *trans,
 						 ref->objectid, ref->offset,
 						 &ins, node->ref_mod);
 	} else if (node->action == BTRFS_ADD_DELAYED_REF) {
-		ret = __btrfs_inc_extent_ref(trans, fs_info, node, parent,
-					     ref_root, ref->objectid,
-					     ref->offset, node->ref_mod,
-					     extent_op);
+		ret = __btrfs_inc_extent_ref(trans, node, parent, ref_root,
+					     ref->objectid, ref->offset,
+					     node->ref_mod, extent_op);
 	} else if (node->action == BTRFS_DROP_DELAYED_REF) {
 		ret = __btrfs_free_extent(trans, fs_info, node, parent,
 					  ref_root, ref->objectid,
@@ -2450,10 +2449,8 @@ static int run_delayed_tree_ref(struct btrfs_trans_handle *trans,
 		BUG_ON(!extent_op || !extent_op->update_flags);
 		ret = alloc_reserved_tree_block(trans, node, extent_op);
 	} else if (node->action == BTRFS_ADD_DELAYED_REF) {
-		ret = __btrfs_inc_extent_ref(trans, fs_info, node,
-					     parent, ref_root,
-					     ref->level, 0, 1,
-					     extent_op);
+		ret = __btrfs_inc_extent_ref(trans, node, parent, ref_root,
+					     ref->level, 0, 1, extent_op);
 	} else if (node->action == BTRFS_DROP_DELAYED_REF) {
 		ret = __btrfs_free_extent(trans, fs_info, node,
 					  parent, ref_root,
-- 
2.7.4


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

* [PATCH 2/3] btrfs: Document __btrfs_inc_extent_ref
  2018-06-18 11:59 [PATCH 0/3] Cleanups around extent increment Nikolay Borisov
  2018-06-18 11:59 ` [PATCH 1/3] btrfs: Remove fs_info argument from __btrfs_inc_extent_ref Nikolay Borisov
@ 2018-06-18 11:59 ` Nikolay Borisov
  2018-06-19  5:28   ` Qu Wenruo
  2018-06-18 11:59 ` [PATCH 3/3] btrfs: Fix comment in lookup_inline_extent_backref Nikolay Borisov
  2018-06-19 13:35 ` [PATCH 0/3] Cleanups around extent increment David Sterba
  3 siblings, 1 reply; 10+ messages in thread
From: Nikolay Borisov @ 2018-06-18 11:59 UTC (permalink / raw)
  To: linux-btrfs; +Cc: jeffm, Nikolay Borisov

Here is a doc-only patch which tires to deobfuscate the terra-incognita
that arguments for delayed refs are.

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
---
 fs/btrfs/extent-tree.c | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 59645ced6fbc..39d0652bf3f3 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -2207,6 +2207,40 @@ int btrfs_inc_extent_ref(struct btrfs_trans_handle *trans,
 	return ret;
 }
 
+/*
+ * __btrfs_inc_extent_ref - insert backreference for a given extent
+ *
+ * @trans:	    Handle of transaction
+ *
+ * @node:	    The delayed ref node used to get the bytenr/length for
+ *		    extent whose references are incremented.
+ *
+ * @parent:	    If this is a shared extent (BTRFS_SHARED_DATA_REF_KEY/
+ *		    BTRFS_SHARED_BLOCK_REF_KEY) then it holds the logical
+ *		    bytenr of the parent block. Since new extents are always
+ *		    created with indirect references, this will only be the case
+ *		    when relocating a shared extent. In that case, root_objectid
+ *		    will be BTRFS_TREE_RELOC_OBJECTID. Otheriwse, parent must
+ *		    be 0
+ *
+ * @root_objectid:  The id of the root where this modification has originated,
+ *		    this can be either one of the well-known metadata trees or
+ *		    the subvolume id which references this extent.
+ *
+ * @owner:	    For data extents it is the inode number of the owning file.
+ *		    For metadata extents this parameter holds the level in the
+ *		    tree of the extent.
+ *
+ * @offset:	    For metadata extents the offset is ignored and is currently
+ *		    always passed as 0. For data extents it is the fileoffset
+ *		    this extent belongs to.
+ *
+ * @refs_to_add     Number of references to add
+ *
+ * @extent_op       Pointer to a structure, holding information necessary when
+ *                  updating a tree block's flags
+ *
+ */
 static int __btrfs_inc_extent_ref(struct btrfs_trans_handle *trans,
 				  struct btrfs_delayed_ref_node *node,
 				  u64 parent, u64 root_objectid,
-- 
2.7.4


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

* [PATCH 3/3] btrfs: Fix comment in lookup_inline_extent_backref
  2018-06-18 11:59 [PATCH 0/3] Cleanups around extent increment Nikolay Borisov
  2018-06-18 11:59 ` [PATCH 1/3] btrfs: Remove fs_info argument from __btrfs_inc_extent_ref Nikolay Borisov
  2018-06-18 11:59 ` [PATCH 2/3] btrfs: Document __btrfs_inc_extent_ref Nikolay Borisov
@ 2018-06-18 11:59 ` Nikolay Borisov
  2018-06-19 13:35 ` [PATCH 0/3] Cleanups around extent increment David Sterba
  3 siblings, 0 replies; 10+ messages in thread
From: Nikolay Borisov @ 2018-06-18 11:59 UTC (permalink / raw)
  To: linux-btrfs; +Cc: jeffm, Nikolay Borisov

The comment wrongfully states that the owner parameter is the level of
the parent block. In fact owner is the level of the current block and
by adding 1 to it we can eventually get to the parent/root.

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
---
 fs/btrfs/extent-tree.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 39d0652bf3f3..a470a07d4f2a 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -1635,7 +1635,7 @@ int lookup_inline_extent_backref(struct btrfs_trans_handle *trans,
 		extra_size = -1;
 
 	/*
-	 * Owner is our parent level, so we can just add one to get the level
+	 * Owner is our level, so we can just add one to get the level
 	 * for the block we are interested in.
 	 */
 	if (skinny_metadata && owner < BTRFS_FIRST_FREE_OBJECTID) {
-- 
2.7.4


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

* Re: [PATCH 1/3] btrfs: Remove fs_info argument from __btrfs_inc_extent_ref
  2018-06-18 11:59 ` [PATCH 1/3] btrfs: Remove fs_info argument from __btrfs_inc_extent_ref Nikolay Borisov
@ 2018-06-19  5:24   ` Qu Wenruo
  2018-06-19 13:01   ` Nikolay Borisov
  2018-06-19 19:31   ` Jeff Mahoney
  2 siblings, 0 replies; 10+ messages in thread
From: Qu Wenruo @ 2018-06-19  5:24 UTC (permalink / raw)
  To: Nikolay Borisov, linux-btrfs; +Cc: jeffm



On 2018年06月18日 19:59, Nikolay Borisov wrote:
> This function already takes a transaction which holds a reference to
> the fs_info struct. Use that reference and remove the extra arg. No
> functional changes.
> 
> Signed-off-by: Nikolay Borisov <nborisov@suse.com>

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

Thanks,
Qu

> ---
>  fs/btrfs/extent-tree.c | 15 ++++++---------
>  1 file changed, 6 insertions(+), 9 deletions(-)
> 
> diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
> index 4850e538ab10..59645ced6fbc 100644
> --- a/fs/btrfs/extent-tree.c
> +++ b/fs/btrfs/extent-tree.c
> @@ -2208,12 +2208,12 @@ int btrfs_inc_extent_ref(struct btrfs_trans_handle *trans,
>  }
>  
>  static int __btrfs_inc_extent_ref(struct btrfs_trans_handle *trans,
> -				  struct btrfs_fs_info *fs_info,
>  				  struct btrfs_delayed_ref_node *node,
>  				  u64 parent, u64 root_objectid,
>  				  u64 owner, u64 offset, int refs_to_add,
>  				  struct btrfs_delayed_extent_op *extent_op)
>  {
> +	struct btrfs_fs_info *fs_info = trans->fs_info;
>  	struct btrfs_path *path;
>  	struct extent_buffer *leaf;
>  	struct btrfs_extent_item *item;
> @@ -2297,10 +2297,9 @@ static int run_delayed_data_ref(struct btrfs_trans_handle *trans,
>  						 ref->objectid, ref->offset,
>  						 &ins, node->ref_mod);
>  	} else if (node->action == BTRFS_ADD_DELAYED_REF) {
> -		ret = __btrfs_inc_extent_ref(trans, fs_info, node, parent,
> -					     ref_root, ref->objectid,
> -					     ref->offset, node->ref_mod,
> -					     extent_op);
> +		ret = __btrfs_inc_extent_ref(trans, node, parent, ref_root,
> +					     ref->objectid, ref->offset,
> +					     node->ref_mod, extent_op);
>  	} else if (node->action == BTRFS_DROP_DELAYED_REF) {
>  		ret = __btrfs_free_extent(trans, fs_info, node, parent,
>  					  ref_root, ref->objectid,
> @@ -2450,10 +2449,8 @@ static int run_delayed_tree_ref(struct btrfs_trans_handle *trans,
>  		BUG_ON(!extent_op || !extent_op->update_flags);
>  		ret = alloc_reserved_tree_block(trans, node, extent_op);
>  	} else if (node->action == BTRFS_ADD_DELAYED_REF) {
> -		ret = __btrfs_inc_extent_ref(trans, fs_info, node,
> -					     parent, ref_root,
> -					     ref->level, 0, 1,
> -					     extent_op);
> +		ret = __btrfs_inc_extent_ref(trans, node, parent, ref_root,
> +					     ref->level, 0, 1, extent_op);
>  	} else if (node->action == BTRFS_DROP_DELAYED_REF) {
>  		ret = __btrfs_free_extent(trans, fs_info, node,
>  					  parent, ref_root,
> 

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

* Re: [PATCH 2/3] btrfs: Document __btrfs_inc_extent_ref
  2018-06-18 11:59 ` [PATCH 2/3] btrfs: Document __btrfs_inc_extent_ref Nikolay Borisov
@ 2018-06-19  5:28   ` Qu Wenruo
  0 siblings, 0 replies; 10+ messages in thread
From: Qu Wenruo @ 2018-06-19  5:28 UTC (permalink / raw)
  To: Nikolay Borisov, linux-btrfs; +Cc: jeffm



On 2018年06月18日 19:59, Nikolay Borisov wrote:
> Here is a doc-only patch which tires to deobfuscate the terra-incognita
> that arguments for delayed refs are.
> 
> Signed-off-by: Nikolay Borisov <nborisov@suse.com>

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

> ---
>  fs/btrfs/extent-tree.c | 34 ++++++++++++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)
> 
> diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
> index 59645ced6fbc..39d0652bf3f3 100644
> --- a/fs/btrfs/extent-tree.c
> +++ b/fs/btrfs/extent-tree.c
> @@ -2207,6 +2207,40 @@ int btrfs_inc_extent_ref(struct btrfs_trans_handle *trans,
>  	return ret;
>  }
>  
> +/*
> + * __btrfs_inc_extent_ref - insert backreference for a given extent
> + *
> + * @trans:	    Handle of transaction
> + *
> + * @node:	    The delayed ref node used to get the bytenr/length for
> + *		    extent whose references are incremented.
> + *
> + * @parent:	    If this is a shared extent (BTRFS_SHARED_DATA_REF_KEY/
> + *		    BTRFS_SHARED_BLOCK_REF_KEY) then it holds the logical
> + *		    bytenr of the parent block. Since new extents are always
> + *		    created with indirect references, this will only be the case
> + *		    when relocating a shared extent. In that case, root_objectid
> + *		    will be BTRFS_TREE_RELOC_OBJECTID. Otheriwse, parent must
> + *		    be 0
> + *
> + * @root_objectid:  The id of the root where this modification has originated,
> + *		    this can be either one of the well-known metadata trees or
> + *		    the subvolume id which references this extent.
> + *
> + * @owner:	    For data extents it is the inode number of the owning file.
> + *		    For metadata extents this parameter holds the level in the
> + *		    tree of the extent.

@owner the naming itself is a little confusing, but it's the necessary evil.
Or we will have too many parameters.

Thanks,
Qu

> + *
> + * @offset:	    For metadata extents the offset is ignored and is currently
> + *		    always passed as 0. For data extents it is the fileoffset
> + *		    this extent belongs to.
> + *
> + * @refs_to_add     Number of references to add
> + *
> + * @extent_op       Pointer to a structure, holding information necessary when
> + *                  updating a tree block's flags
> + *
> + */
>  static int __btrfs_inc_extent_ref(struct btrfs_trans_handle *trans,
>  				  struct btrfs_delayed_ref_node *node,
>  				  u64 parent, u64 root_objectid,
> 

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

* Re: [PATCH 1/3] btrfs: Remove fs_info argument from __btrfs_inc_extent_ref
  2018-06-18 11:59 ` [PATCH 1/3] btrfs: Remove fs_info argument from __btrfs_inc_extent_ref Nikolay Borisov
  2018-06-19  5:24   ` Qu Wenruo
@ 2018-06-19 13:01   ` Nikolay Borisov
  2018-06-19 19:31   ` Jeff Mahoney
  2 siblings, 0 replies; 10+ messages in thread
From: Nikolay Borisov @ 2018-06-19 13:01 UTC (permalink / raw)
  To: linux-btrfs



On 18.06.2018 14:59, Nikolay Borisov wrote:
> This function already takes a transaction which holds a reference to
> the fs_info struct. Use that reference and remove the extra arg. No
> functional changes.
> 
> Signed-off-by: Nikolay Borisov <nborisov@suse.com>
> --- 

Please ignore this patch, since I'm going to re-send it as apart of a
larger series dealing specifically with fs_info cleanup. The other 2 are
good.

<snip>

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

* Re: [PATCH 0/3] Cleanups around extent increment
  2018-06-18 11:59 [PATCH 0/3] Cleanups around extent increment Nikolay Borisov
                   ` (2 preceding siblings ...)
  2018-06-18 11:59 ` [PATCH 3/3] btrfs: Fix comment in lookup_inline_extent_backref Nikolay Borisov
@ 2018-06-19 13:35 ` David Sterba
  3 siblings, 0 replies; 10+ messages in thread
From: David Sterba @ 2018-06-19 13:35 UTC (permalink / raw)
  To: Nikolay Borisov; +Cc: linux-btrfs, jeffm

On Mon, Jun 18, 2018 at 02:59:23PM +0300, Nikolay Borisov wrote:
> This series improves the functions involved around extent reference increment. 
> The first patch just removes a redundant argument, the second one documents the 
> parameters of __btrfs_inc_extent_ref. It can be considered v2 of the standalone
> version which Jeff had some input to. The final patch fixes a comment in 
> lookup_inline_extent_backref which transpired while Jeff was revieweing the 
> documentation patch. 
> 
> Nikolay Borisov (3):
>   btrfs: Remove fs_info argument from __btrfs_inc_extent_ref

>   btrfs: Document __btrfs_inc_extent_ref
>   btrfs: Fix comment in lookup_inline_extent_backref

2 and 3 added to misc-next, thanks.

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

* Re: [PATCH 1/3] btrfs: Remove fs_info argument from __btrfs_inc_extent_ref
  2018-06-18 11:59 ` [PATCH 1/3] btrfs: Remove fs_info argument from __btrfs_inc_extent_ref Nikolay Borisov
  2018-06-19  5:24   ` Qu Wenruo
  2018-06-19 13:01   ` Nikolay Borisov
@ 2018-06-19 19:31   ` Jeff Mahoney
  2018-06-19 22:36     ` Nikolay Borisov
  2 siblings, 1 reply; 10+ messages in thread
From: Jeff Mahoney @ 2018-06-19 19:31 UTC (permalink / raw)
  To: Nikolay Borisov, linux-btrfs


[-- Attachment #1.1: Type: text/plain, Size: 2855 bytes --]

On 6/18/18 7:59 AM, Nikolay Borisov wrote:
> This function already takes a transaction which holds a reference to
> the fs_info struct. Use that reference and remove the extra arg. No
> functional changes.

I like the idea here.  I wasn't sold at first, but I think if we can
standardize on taking only a trans handle when one is required and both
a trans and fs_info when it's optional, it'll make the code clearer.
This cleanup can percolate up the stack to cover pretty much all of
delayed refs.

Reviewed-by: Jeff Mahoney <jeffm@suse.com>

> Signed-off-by: Nikolay Borisov <nborisov@suse.com>
> ---
>  fs/btrfs/extent-tree.c | 15 ++++++---------
>  1 file changed, 6 insertions(+), 9 deletions(-)
> 
> diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
> index 4850e538ab10..59645ced6fbc 100644
> --- a/fs/btrfs/extent-tree.c
> +++ b/fs/btrfs/extent-tree.c
> @@ -2208,12 +2208,12 @@ int btrfs_inc_extent_ref(struct btrfs_trans_handle *trans,
>  }
>  
>  static int __btrfs_inc_extent_ref(struct btrfs_trans_handle *trans,
> -				  struct btrfs_fs_info *fs_info,
>  				  struct btrfs_delayed_ref_node *node,
>  				  u64 parent, u64 root_objectid,
>  				  u64 owner, u64 offset, int refs_to_add,
>  				  struct btrfs_delayed_extent_op *extent_op)
>  {
> +	struct btrfs_fs_info *fs_info = trans->fs_info;
>  	struct btrfs_path *path;
>  	struct extent_buffer *leaf;
>  	struct btrfs_extent_item *item;
> @@ -2297,10 +2297,9 @@ static int run_delayed_data_ref(struct btrfs_trans_handle *trans,
>  						 ref->objectid, ref->offset,
>  						 &ins, node->ref_mod);
>  	} else if (node->action == BTRFS_ADD_DELAYED_REF) {
> -		ret = __btrfs_inc_extent_ref(trans, fs_info, node, parent,
> -					     ref_root, ref->objectid,
> -					     ref->offset, node->ref_mod,
> -					     extent_op);
> +		ret = __btrfs_inc_extent_ref(trans, node, parent, ref_root,
> +					     ref->objectid, ref->offset,
> +					     node->ref_mod, extent_op);
>  	} else if (node->action == BTRFS_DROP_DELAYED_REF) {
>  		ret = __btrfs_free_extent(trans, fs_info, node, parent,
>  					  ref_root, ref->objectid,
> @@ -2450,10 +2449,8 @@ static int run_delayed_tree_ref(struct btrfs_trans_handle *trans,
>  		BUG_ON(!extent_op || !extent_op->update_flags);
>  		ret = alloc_reserved_tree_block(trans, node, extent_op);
>  	} else if (node->action == BTRFS_ADD_DELAYED_REF) {
> -		ret = __btrfs_inc_extent_ref(trans, fs_info, node,
> -					     parent, ref_root,
> -					     ref->level, 0, 1,
> -					     extent_op);
> +		ret = __btrfs_inc_extent_ref(trans, node, parent, ref_root,
> +					     ref->level, 0, 1, extent_op);
>  	} else if (node->action == BTRFS_DROP_DELAYED_REF) {
>  		ret = __btrfs_free_extent(trans, fs_info, node,
>  					  parent, ref_root,
> 


-- 
Jeff Mahoney
SUSE Labs


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH 1/3] btrfs: Remove fs_info argument from __btrfs_inc_extent_ref
  2018-06-19 19:31   ` Jeff Mahoney
@ 2018-06-19 22:36     ` Nikolay Borisov
  0 siblings, 0 replies; 10+ messages in thread
From: Nikolay Borisov @ 2018-06-19 22:36 UTC (permalink / raw)
  To: Jeff Mahoney, linux-btrfs



On 19.06.2018 22:31, Jeff Mahoney wrote:
> I like the idea here.  I wasn't sold at first, but I think if we can
> standardize on taking only a trans handle when one is required and both
> a trans and fs_info when it's optional, it'll make the code clearer.
> This cleanup can percolate up the stack to cover pretty much all of
> delayed refs.

I have a 25-something patches which do exactly this. Still WIP, will
likely send it tomorrow.

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

end of thread, other threads:[~2018-06-19 22:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-18 11:59 [PATCH 0/3] Cleanups around extent increment Nikolay Borisov
2018-06-18 11:59 ` [PATCH 1/3] btrfs: Remove fs_info argument from __btrfs_inc_extent_ref Nikolay Borisov
2018-06-19  5:24   ` Qu Wenruo
2018-06-19 13:01   ` Nikolay Borisov
2018-06-19 19:31   ` Jeff Mahoney
2018-06-19 22:36     ` Nikolay Borisov
2018-06-18 11:59 ` [PATCH 2/3] btrfs: Document __btrfs_inc_extent_ref Nikolay Borisov
2018-06-19  5:28   ` Qu Wenruo
2018-06-18 11:59 ` [PATCH 3/3] btrfs: Fix comment in lookup_inline_extent_backref Nikolay Borisov
2018-06-19 13:35 ` [PATCH 0/3] Cleanups around extent increment David Sterba

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.