All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] btrfs: minor block group cleanups
@ 2020-06-03 10:10 Anand Jain
  2020-06-03 10:10 ` [PATCH 1/3] btrfs: fix btrfs_return_cluster_to_free_space() return Anand Jain
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Anand Jain @ 2020-06-03 10:10 UTC (permalink / raw)
  To: linux-btrfs

Minor cleanup patches.
1/3 cleansup the return value of btrfs_return_cluster_to_free_space().
2/3 and 3/3 together cleanups block group reference count.

2/3 and 3/3 are related. However 1/3 is independent to the rest of the
patches in this set.

Anand Jain (3):
  btrfs: fix btrfs_return_cluster_to_free_space() return
  btrfs: rename btrfs_block_group::count
  btrfs: use helper btrfs_get_block_group

 fs/btrfs/block-group.c      |  8 ++++----
 fs/btrfs/block-group.h      |  2 +-
 fs/btrfs/free-space-cache.c | 17 +++++++----------
 fs/btrfs/free-space-cache.h |  2 +-
 4 files changed, 13 insertions(+), 16 deletions(-)

-- 
2.25.1


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

* [PATCH 1/3] btrfs: fix btrfs_return_cluster_to_free_space() return
  2020-06-03 10:10 [PATCH 0/3] btrfs: minor block group cleanups Anand Jain
@ 2020-06-03 10:10 ` Anand Jain
  2020-06-03 10:17   ` Nikolay Borisov
  2020-06-03 10:33   ` Johannes Thumshirn
  2020-06-03 10:10 ` [PATCH 2/3] btrfs: rename btrfs_block_group::count Anand Jain
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 15+ messages in thread
From: Anand Jain @ 2020-06-03 10:10 UTC (permalink / raw)
  To: linux-btrfs

__btrfs_return_cluster_to_free_space() returns only 0. And all its parent
functions don't need the return value either so make this a void function.

Further, as none of the callers of btrfs_return_cluster_to_free_space() is
actually using the return from this function, make this function also
return void.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
---
 fs/btrfs/free-space-cache.c | 13 +++++--------
 fs/btrfs/free-space-cache.h |  2 +-
 2 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c
index 55955bd424d7..1bf08c855edb 100644
--- a/fs/btrfs/free-space-cache.c
+++ b/fs/btrfs/free-space-cache.c
@@ -2703,7 +2703,7 @@ void btrfs_init_free_space_ctl(struct btrfs_block_group *block_group)
  * pointed to by the cluster, someone else raced in and freed the
  * cluster already.  In that case, we just return without changing anything
  */
-static int
+static void
 __btrfs_return_cluster_to_free_space(
 			     struct btrfs_block_group *block_group,
 			     struct btrfs_free_cluster *cluster)
@@ -2756,7 +2756,6 @@ __btrfs_return_cluster_to_free_space(
 out:
 	spin_unlock(&cluster->lock);
 	btrfs_put_block_group(block_group);
-	return 0;
 }
 
 static void __btrfs_remove_free_space_cache_locked(
@@ -2907,12 +2906,11 @@ u64 btrfs_find_space_for_alloc(struct btrfs_block_group *block_group,
  * Otherwise, it'll get a reference on the block group pointed to by the
  * cluster and remove the cluster from it.
  */
-int btrfs_return_cluster_to_free_space(
+void btrfs_return_cluster_to_free_space(
 			       struct btrfs_block_group *block_group,
 			       struct btrfs_free_cluster *cluster)
 {
 	struct btrfs_free_space_ctl *ctl;
-	int ret;
 
 	/* first, get a safe pointer to the block group */
 	spin_lock(&cluster->lock);
@@ -2920,12 +2918,12 @@ int btrfs_return_cluster_to_free_space(
 		block_group = cluster->block_group;
 		if (!block_group) {
 			spin_unlock(&cluster->lock);
-			return 0;
+			return;
 		}
 	} else if (cluster->block_group != block_group) {
 		/* someone else has already freed it don't redo their work */
 		spin_unlock(&cluster->lock);
-		return 0;
+		return;
 	}
 	atomic_inc(&block_group->count);
 	spin_unlock(&cluster->lock);
@@ -2934,14 +2932,13 @@ int btrfs_return_cluster_to_free_space(
 
 	/* now return any extents the cluster had on it */
 	spin_lock(&ctl->tree_lock);
-	ret = __btrfs_return_cluster_to_free_space(block_group, cluster);
+	__btrfs_return_cluster_to_free_space(block_group, cluster);
 	spin_unlock(&ctl->tree_lock);
 
 	btrfs_discard_queue_work(&block_group->fs_info->discard_ctl, block_group);
 
 	/* finally drop our ref */
 	btrfs_put_block_group(block_group);
-	return ret;
 }
 
 static u64 btrfs_alloc_from_bitmap(struct btrfs_block_group *block_group,
diff --git a/fs/btrfs/free-space-cache.h b/fs/btrfs/free-space-cache.h
index 2e0a8077aa74..e3d5e0ad8f8e 100644
--- a/fs/btrfs/free-space-cache.h
+++ b/fs/btrfs/free-space-cache.h
@@ -136,7 +136,7 @@ void btrfs_init_free_cluster(struct btrfs_free_cluster *cluster);
 u64 btrfs_alloc_from_cluster(struct btrfs_block_group *block_group,
 			     struct btrfs_free_cluster *cluster, u64 bytes,
 			     u64 min_start, u64 *max_extent_size);
-int btrfs_return_cluster_to_free_space(
+void btrfs_return_cluster_to_free_space(
 			       struct btrfs_block_group *block_group,
 			       struct btrfs_free_cluster *cluster);
 int btrfs_trim_block_group(struct btrfs_block_group *block_group,
-- 
2.25.1


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

* [PATCH 2/3] btrfs: rename btrfs_block_group::count
  2020-06-03 10:10 [PATCH 0/3] btrfs: minor block group cleanups Anand Jain
  2020-06-03 10:10 ` [PATCH 1/3] btrfs: fix btrfs_return_cluster_to_free_space() return Anand Jain
@ 2020-06-03 10:10 ` Anand Jain
  2020-06-03 10:19   ` Filipe Manana
  2020-06-03 10:23   ` Nikolay Borisov
  2020-06-03 10:10 ` [PATCH 3/3] btrfs: use helper btrfs_get_block_group Anand Jain
  2020-06-04 16:56 ` [PATCH 0/3] btrfs: minor block group cleanups David Sterba
  3 siblings, 2 replies; 15+ messages in thread
From: Anand Jain @ 2020-06-03 10:10 UTC (permalink / raw)
  To: linux-btrfs

The name 'count' is a very commonly used name. It is often difficult to
review the code to check if there is any leak. So rename it to
'bg_count', which is unique enough.

This patch also serves as a preparatory patch to either make sure
btrfs_get_block_group() is used instead of open coded the same or just
open code every where as btrfs_get_block_group() is a one-liner.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
---
 fs/btrfs/block-group.c      | 8 ++++----
 fs/btrfs/block-group.h      | 2 +-
 fs/btrfs/free-space-cache.c | 4 ++--
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c
index 31ca2cfb7e3e..8111f6750063 100644
--- a/fs/btrfs/block-group.c
+++ b/fs/btrfs/block-group.c
@@ -118,12 +118,12 @@ u64 btrfs_get_alloc_profile(struct btrfs_fs_info *fs_info, u64 orig_flags)
 
 void btrfs_get_block_group(struct btrfs_block_group *cache)
 {
-	atomic_inc(&cache->count);
+	atomic_inc(&cache->bg_count);
 }
 
 void btrfs_put_block_group(struct btrfs_block_group *cache)
 {
-	if (atomic_dec_and_test(&cache->count)) {
+	if (atomic_dec_and_test(&cache->bg_count)) {
 		WARN_ON(cache->pinned > 0);
 		WARN_ON(cache->reserved > 0);
 
@@ -1805,7 +1805,7 @@ static struct btrfs_block_group *btrfs_create_block_group_cache(
 
 	cache->discard_index = BTRFS_DISCARD_INDEX_UNUSED;
 
-	atomic_set(&cache->count, 1);
+	atomic_set(&cache->bg_count, 1);
 	spin_lock_init(&cache->lock);
 	init_rwsem(&cache->data_rwsem);
 	INIT_LIST_HEAD(&cache->list);
@@ -3379,7 +3379,7 @@ int btrfs_free_block_groups(struct btrfs_fs_info *info)
 		ASSERT(list_empty(&block_group->dirty_list));
 		ASSERT(list_empty(&block_group->io_list));
 		ASSERT(list_empty(&block_group->bg_list));
-		ASSERT(atomic_read(&block_group->count) == 1);
+		ASSERT(atomic_read(&block_group->bg_count) == 1);
 		btrfs_put_block_group(block_group);
 
 		spin_lock(&info->block_group_cache_lock);
diff --git a/fs/btrfs/block-group.h b/fs/btrfs/block-group.h
index b6ee70a039c7..f0ef8be08747 100644
--- a/fs/btrfs/block-group.h
+++ b/fs/btrfs/block-group.h
@@ -115,7 +115,7 @@ struct btrfs_block_group {
 	struct list_head list;
 
 	/* Usage count */
-	atomic_t count;
+	atomic_t bg_count;
 
 	/*
 	 * List of struct btrfs_free_clusters for this block group.
diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c
index 1bf08c855edb..169b1117c1a3 100644
--- a/fs/btrfs/free-space-cache.c
+++ b/fs/btrfs/free-space-cache.c
@@ -2925,7 +2925,7 @@ void btrfs_return_cluster_to_free_space(
 		spin_unlock(&cluster->lock);
 		return;
 	}
-	atomic_inc(&block_group->count);
+	atomic_inc(&block_group->bg_count);
 	spin_unlock(&cluster->lock);
 
 	ctl = block_group->free_space_ctl;
@@ -3355,7 +3355,7 @@ int btrfs_find_space_cluster(struct btrfs_block_group *block_group,
 		list_del_init(&entry->list);
 
 	if (!ret) {
-		atomic_inc(&block_group->count);
+		atomic_inc(&block_group->bg_count);
 		list_add_tail(&cluster->block_group_list,
 			      &block_group->cluster_list);
 		cluster->block_group = block_group;
-- 
2.25.1


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

* [PATCH 3/3] btrfs: use helper btrfs_get_block_group
  2020-06-03 10:10 [PATCH 0/3] btrfs: minor block group cleanups Anand Jain
  2020-06-03 10:10 ` [PATCH 1/3] btrfs: fix btrfs_return_cluster_to_free_space() return Anand Jain
  2020-06-03 10:10 ` [PATCH 2/3] btrfs: rename btrfs_block_group::count Anand Jain
@ 2020-06-03 10:10 ` Anand Jain
  2020-06-03 10:24   ` Nikolay Borisov
  2020-06-03 10:34   ` Johannes Thumshirn
  2020-06-04 16:56 ` [PATCH 0/3] btrfs: minor block group cleanups David Sterba
  3 siblings, 2 replies; 15+ messages in thread
From: Anand Jain @ 2020-06-03 10:10 UTC (permalink / raw)
  To: linux-btrfs

Use the helper function where it is open coded to increment the
block_group reference count 'bg_count' so that it is less confusing
while reviewing the code. As btrfs_get_block_group() is a one-liner
we could have open-coded it, but its partner function
btrfs_put_block_group() isn't one-liner which does the free part in it.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
---
 fs/btrfs/free-space-cache.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c
index 169b1117c1a3..867204b48ccf 100644
--- a/fs/btrfs/free-space-cache.c
+++ b/fs/btrfs/free-space-cache.c
@@ -2925,7 +2925,7 @@ void btrfs_return_cluster_to_free_space(
 		spin_unlock(&cluster->lock);
 		return;
 	}
-	atomic_inc(&block_group->bg_count);
+	btrfs_get_block_group(block_group);
 	spin_unlock(&cluster->lock);
 
 	ctl = block_group->free_space_ctl;
@@ -3355,7 +3355,7 @@ int btrfs_find_space_cluster(struct btrfs_block_group *block_group,
 		list_del_init(&entry->list);
 
 	if (!ret) {
-		atomic_inc(&block_group->bg_count);
+		btrfs_get_block_group(block_group);
 		list_add_tail(&cluster->block_group_list,
 			      &block_group->cluster_list);
 		cluster->block_group = block_group;
-- 
2.25.1


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

* Re: [PATCH 1/3] btrfs: fix btrfs_return_cluster_to_free_space() return
  2020-06-03 10:10 ` [PATCH 1/3] btrfs: fix btrfs_return_cluster_to_free_space() return Anand Jain
@ 2020-06-03 10:17   ` Nikolay Borisov
  2020-06-03 10:33   ` Johannes Thumshirn
  1 sibling, 0 replies; 15+ messages in thread
From: Nikolay Borisov @ 2020-06-03 10:17 UTC (permalink / raw)
  To: Anand Jain, linux-btrfs



On 3.06.20 г. 13:10 ч., Anand Jain wrote:
> __btrfs_return_cluster_to_free_space() returns only 0. And all its parent
> functions don't need the return value either so make this a void function.
> 
> Further, as none of the callers of btrfs_return_cluster_to_free_space() is
> actually using the return from this function, make this function also
> return void.
> 
> Signed-off-by: Anand Jain <anand.jain@oracle.com>

Reviewed-by: Nikolay Borisov <nborisov@suse.com>

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

* Re: [PATCH 2/3] btrfs: rename btrfs_block_group::count
  2020-06-03 10:10 ` [PATCH 2/3] btrfs: rename btrfs_block_group::count Anand Jain
@ 2020-06-03 10:19   ` Filipe Manana
  2020-06-03 10:43     ` Anand Jain
  2020-06-03 10:23   ` Nikolay Borisov
  1 sibling, 1 reply; 15+ messages in thread
From: Filipe Manana @ 2020-06-03 10:19 UTC (permalink / raw)
  To: Anand Jain; +Cc: linux-btrfs

On Wed, Jun 3, 2020 at 11:13 AM Anand Jain <anand.jain@oracle.com> wrote:
>
> The name 'count' is a very commonly used name. It is often difficult to
> review the code to check if there is any leak. So rename it to
> 'bg_count', which is unique enough.

Hum? Seriously?

count to bg_count?
It's a member of the block group structure, adding a bg_ prefix adds
no value at all, we know the count is related to the block group.
I could somewhat understand if you named it 'refcount' instead.

Thanks.

>
> This patch also serves as a preparatory patch to either make sure
> btrfs_get_block_group() is used instead of open coded the same or just
> open code every where as btrfs_get_block_group() is a one-liner.
>
> Signed-off-by: Anand Jain <anand.jain@oracle.com>
> ---
>  fs/btrfs/block-group.c      | 8 ++++----
>  fs/btrfs/block-group.h      | 2 +-
>  fs/btrfs/free-space-cache.c | 4 ++--
>  3 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c
> index 31ca2cfb7e3e..8111f6750063 100644
> --- a/fs/btrfs/block-group.c
> +++ b/fs/btrfs/block-group.c
> @@ -118,12 +118,12 @@ u64 btrfs_get_alloc_profile(struct btrfs_fs_info *fs_info, u64 orig_flags)
>
>  void btrfs_get_block_group(struct btrfs_block_group *cache)
>  {
> -       atomic_inc(&cache->count);
> +       atomic_inc(&cache->bg_count);
>  }
>
>  void btrfs_put_block_group(struct btrfs_block_group *cache)
>  {
> -       if (atomic_dec_and_test(&cache->count)) {
> +       if (atomic_dec_and_test(&cache->bg_count)) {
>                 WARN_ON(cache->pinned > 0);
>                 WARN_ON(cache->reserved > 0);
>
> @@ -1805,7 +1805,7 @@ static struct btrfs_block_group *btrfs_create_block_group_cache(
>
>         cache->discard_index = BTRFS_DISCARD_INDEX_UNUSED;
>
> -       atomic_set(&cache->count, 1);
> +       atomic_set(&cache->bg_count, 1);
>         spin_lock_init(&cache->lock);
>         init_rwsem(&cache->data_rwsem);
>         INIT_LIST_HEAD(&cache->list);
> @@ -3379,7 +3379,7 @@ int btrfs_free_block_groups(struct btrfs_fs_info *info)
>                 ASSERT(list_empty(&block_group->dirty_list));
>                 ASSERT(list_empty(&block_group->io_list));
>                 ASSERT(list_empty(&block_group->bg_list));
> -               ASSERT(atomic_read(&block_group->count) == 1);
> +               ASSERT(atomic_read(&block_group->bg_count) == 1);
>                 btrfs_put_block_group(block_group);
>
>                 spin_lock(&info->block_group_cache_lock);
> diff --git a/fs/btrfs/block-group.h b/fs/btrfs/block-group.h
> index b6ee70a039c7..f0ef8be08747 100644
> --- a/fs/btrfs/block-group.h
> +++ b/fs/btrfs/block-group.h
> @@ -115,7 +115,7 @@ struct btrfs_block_group {
>         struct list_head list;
>
>         /* Usage count */
> -       atomic_t count;
> +       atomic_t bg_count;
>
>         /*
>          * List of struct btrfs_free_clusters for this block group.
> diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c
> index 1bf08c855edb..169b1117c1a3 100644
> --- a/fs/btrfs/free-space-cache.c
> +++ b/fs/btrfs/free-space-cache.c
> @@ -2925,7 +2925,7 @@ void btrfs_return_cluster_to_free_space(
>                 spin_unlock(&cluster->lock);
>                 return;
>         }
> -       atomic_inc(&block_group->count);
> +       atomic_inc(&block_group->bg_count);
>         spin_unlock(&cluster->lock);
>
>         ctl = block_group->free_space_ctl;
> @@ -3355,7 +3355,7 @@ int btrfs_find_space_cluster(struct btrfs_block_group *block_group,
>                 list_del_init(&entry->list);
>
>         if (!ret) {
> -               atomic_inc(&block_group->count);
> +               atomic_inc(&block_group->bg_count);
>                 list_add_tail(&cluster->block_group_list,
>                               &block_group->cluster_list);
>                 cluster->block_group = block_group;
> --
> 2.25.1
>


-- 
Filipe David Manana,

“Whether you think you can, or you think you can't — you're right.”

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

* Re: [PATCH 2/3] btrfs: rename btrfs_block_group::count
  2020-06-03 10:10 ` [PATCH 2/3] btrfs: rename btrfs_block_group::count Anand Jain
  2020-06-03 10:19   ` Filipe Manana
@ 2020-06-03 10:23   ` Nikolay Borisov
  1 sibling, 0 replies; 15+ messages in thread
From: Nikolay Borisov @ 2020-06-03 10:23 UTC (permalink / raw)
  To: Anand Jain, linux-btrfs



On 3.06.20 г. 13:10 ч., Anand Jain wrote:
> The name 'count' is a very commonly used name. It is often difficult to
> review the code to check if there is any leak. So rename it to
> 'bg_count', which is unique enough.
> 
> This patch also serves as a preparatory patch to either make sure
> btrfs_get_block_group() is used instead of open coded the same or just
> open code every where as btrfs_get_block_group() is a one-liner.
> 
> Signed-off-by: Anand Jain <anand.jain@oracle.com>

This introduces unnecessary churn, instead if all uses happen through
the btrfs_get_block_group/put apis you can simply grep for those. All
other uses are RO. Also bg_count is not very descriptive given this is
really a refcount. Open-coding probably would be fine if this type is
switched to refcount_t rather than an atomic_t.

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

* Re: [PATCH 3/3] btrfs: use helper btrfs_get_block_group
  2020-06-03 10:10 ` [PATCH 3/3] btrfs: use helper btrfs_get_block_group Anand Jain
@ 2020-06-03 10:24   ` Nikolay Borisov
  2020-06-03 10:34   ` Johannes Thumshirn
  1 sibling, 0 replies; 15+ messages in thread
From: Nikolay Borisov @ 2020-06-03 10:24 UTC (permalink / raw)
  To: Anand Jain, linux-btrfs



On 3.06.20 г. 13:10 ч., Anand Jain wrote:
> Use the helper function where it is open coded to increment the
> block_group reference count 'bg_count' so that it is less confusing
> while reviewing the code. As btrfs_get_block_group() is a one-liner
> we could have open-coded it, but its partner function
> btrfs_put_block_group() isn't one-liner which does the free part in it.
> 
> Signed-off-by: Anand Jain <anand.jain@oracle.com>


Reviewed-by: Nikolay Borisov <nborisov@suse.com>

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

* Re: [PATCH 1/3] btrfs: fix btrfs_return_cluster_to_free_space() return
  2020-06-03 10:10 ` [PATCH 1/3] btrfs: fix btrfs_return_cluster_to_free_space() return Anand Jain
  2020-06-03 10:17   ` Nikolay Borisov
@ 2020-06-03 10:33   ` Johannes Thumshirn
  1 sibling, 0 replies; 15+ messages in thread
From: Johannes Thumshirn @ 2020-06-03 10:33 UTC (permalink / raw)
  To: Anand Jain, linux-btrfs

Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>

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

* Re: [PATCH 3/3] btrfs: use helper btrfs_get_block_group
  2020-06-03 10:10 ` [PATCH 3/3] btrfs: use helper btrfs_get_block_group Anand Jain
  2020-06-03 10:24   ` Nikolay Borisov
@ 2020-06-03 10:34   ` Johannes Thumshirn
  1 sibling, 0 replies; 15+ messages in thread
From: Johannes Thumshirn @ 2020-06-03 10:34 UTC (permalink / raw)
  To: Anand Jain, linux-btrfs

Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>

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

* Re: [PATCH 2/3] btrfs: rename btrfs_block_group::count
  2020-06-03 10:19   ` Filipe Manana
@ 2020-06-03 10:43     ` Anand Jain
  2020-06-03 10:49       ` Filipe Manana
  0 siblings, 1 reply; 15+ messages in thread
From: Anand Jain @ 2020-06-03 10:43 UTC (permalink / raw)
  To: fdmanana; +Cc: linux-btrfs



On 3/6/20 6:19 pm, Filipe Manana wrote:
> On Wed, Jun 3, 2020 at 11:13 AM Anand Jain <anand.jain@oracle.com> wrote:
>>
>> The name 'count' is a very commonly used name. It is often difficult to
>> review the code to check if there is any leak. So rename it to
>> 'bg_count', which is unique enough.
> 
> Hum? Seriously?
> 
> count to bg_count?
> It's a member of the block group structure, adding a bg_ prefix adds
> no value at all, we know the count is related to the block group.
> I could somewhat understand if you named it 'refcount' instead.


Oh right. Now, bg_count does not make sense to me as well.

Something like bg_refcount is better so that it is easy to search
where all its been used. IMO.

Are we ok with btrfs_block_group::bg_refcount instead ?

Thanks,
Anand


> Thanks.

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

* Re: [PATCH 2/3] btrfs: rename btrfs_block_group::count
  2020-06-03 10:43     ` Anand Jain
@ 2020-06-03 10:49       ` Filipe Manana
  2020-06-03 11:38         ` Anand Jain
  0 siblings, 1 reply; 15+ messages in thread
From: Filipe Manana @ 2020-06-03 10:49 UTC (permalink / raw)
  To: Anand Jain; +Cc: linux-btrfs

On Wed, Jun 3, 2020 at 11:43 AM Anand Jain <anand.jain@oracle.com> wrote:
>
>
>
> On 3/6/20 6:19 pm, Filipe Manana wrote:
> > On Wed, Jun 3, 2020 at 11:13 AM Anand Jain <anand.jain@oracle.com> wrote:
> >>
> >> The name 'count' is a very commonly used name. It is often difficult to
> >> review the code to check if there is any leak. So rename it to
> >> 'bg_count', which is unique enough.
> >
> > Hum? Seriously?
> >
> > count to bg_count?
> > It's a member of the block group structure, adding a bg_ prefix adds
> > no value at all, we know the count is related to the block group.
> > I could somewhat understand if you named it 'refcount' instead.
>
>
> Oh right. Now, bg_count does not make sense to me as well.
>
> Something like bg_refcount is better so that it is easy to search
> where all its been used. IMO.
>
> Are we ok with btrfs_block_group::bg_refcount instead ?

Why rename at all?
It's pretty obvious it's a reference count. Count/counter is not an
unusual name to use for a reference count, it even has get and put
helpers...

>
> Thanks,
> Anand
>
>
> > Thanks.



-- 
Filipe David Manana,

“Whether you think you can, or you think you can't — you're right.”

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

* Re: [PATCH 2/3] btrfs: rename btrfs_block_group::count
  2020-06-03 10:49       ` Filipe Manana
@ 2020-06-03 11:38         ` Anand Jain
  2020-06-03 11:54           ` Filipe Manana
  0 siblings, 1 reply; 15+ messages in thread
From: Anand Jain @ 2020-06-03 11:38 UTC (permalink / raw)
  To: fdmanana; +Cc: linux-btrfs


> 
> Why rename at all?
> It's pretty obvious it's a reference count. Count/counter is not an
> unusual name to use for a reference count, it even has get and put
> helpers...

I understand as the member count is in btrfs_block_group so prefix bg_ 
looks redundant, but prefix bg_ is still useful. With out the prefix, 
the grep ">count" *.c didn't help straight away to verify where is 
block_group count used. At two places we missed using the get helper 
which the patch 3/3 fixed.

It's ok to drop this rename patch if you find it's not inline with the 
rest of the codes.

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

* Re: [PATCH 2/3] btrfs: rename btrfs_block_group::count
  2020-06-03 11:38         ` Anand Jain
@ 2020-06-03 11:54           ` Filipe Manana
  0 siblings, 0 replies; 15+ messages in thread
From: Filipe Manana @ 2020-06-03 11:54 UTC (permalink / raw)
  To: Anand Jain; +Cc: linux-btrfs

On Wed, Jun 3, 2020 at 12:38 PM Anand Jain <anandsuveer@gmail.com> wrote:
>
>
> >
> > Why rename at all?
> > It's pretty obvious it's a reference count. Count/counter is not an
> > unusual name to use for a reference count, it even has get and put
> > helpers...
>
> I understand as the member count is in btrfs_block_group so prefix bg_
> looks redundant, but prefix bg_ is still useful. With out the prefix,
> the grep ">count" *.c didn't help straight away to verify where is

Following that logic, we would add the bg_ prefix to most members of
block_group...
It has members named 'start', 'length', 'flags', etc. Those are
generic too, many other structures have members with exactly those
names...

Don't take it wrong, but I don't find it useful at all.

Thanks.

> block_group count used. At two places we missed using the get helper
> which the patch 3/3 fixed.
>
> It's ok to drop this rename patch if you find it's not inline with the
> rest of the codes.



-- 
Filipe David Manana,

“Whether you think you can, or you think you can't — you're right.”

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

* Re: [PATCH 0/3] btrfs: minor block group cleanups
  2020-06-03 10:10 [PATCH 0/3] btrfs: minor block group cleanups Anand Jain
                   ` (2 preceding siblings ...)
  2020-06-03 10:10 ` [PATCH 3/3] btrfs: use helper btrfs_get_block_group Anand Jain
@ 2020-06-04 16:56 ` David Sterba
  3 siblings, 0 replies; 15+ messages in thread
From: David Sterba @ 2020-06-04 16:56 UTC (permalink / raw)
  To: Anand Jain; +Cc: linux-btrfs

On Wed, Jun 03, 2020 at 06:10:17PM +0800, Anand Jain wrote:
> Minor cleanup patches.
> 1/3 cleansup the return value of btrfs_return_cluster_to_free_space().
> 2/3 and 3/3 together cleanups block group reference count.
> 
> 2/3 and 3/3 are related. However 1/3 is independent to the rest of the
> patches in this set.
> 
> Anand Jain (3):
>   btrfs: fix btrfs_return_cluster_to_free_space() return
>   btrfs: rename btrfs_block_group::count
>   btrfs: use helper btrfs_get_block_group

1 and 3 applied but I don't recommend to spend time on cleaning up
free-space-cache.[ch] as it's going to be phased out.

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

end of thread, other threads:[~2020-06-04 16:56 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-03 10:10 [PATCH 0/3] btrfs: minor block group cleanups Anand Jain
2020-06-03 10:10 ` [PATCH 1/3] btrfs: fix btrfs_return_cluster_to_free_space() return Anand Jain
2020-06-03 10:17   ` Nikolay Borisov
2020-06-03 10:33   ` Johannes Thumshirn
2020-06-03 10:10 ` [PATCH 2/3] btrfs: rename btrfs_block_group::count Anand Jain
2020-06-03 10:19   ` Filipe Manana
2020-06-03 10:43     ` Anand Jain
2020-06-03 10:49       ` Filipe Manana
2020-06-03 11:38         ` Anand Jain
2020-06-03 11:54           ` Filipe Manana
2020-06-03 10:23   ` Nikolay Borisov
2020-06-03 10:10 ` [PATCH 3/3] btrfs: use helper btrfs_get_block_group Anand Jain
2020-06-03 10:24   ` Nikolay Borisov
2020-06-03 10:34   ` Johannes Thumshirn
2020-06-04 16:56 ` [PATCH 0/3] btrfs: minor block group cleanups 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.