From patchwork Wed Jun 3 10:10:18 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 11585465 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7A72F913 for ; Wed, 3 Jun 2020 10:10:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 59EF02067B for ; Wed, 3 Jun 2020 10:10:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="a4av9FXu" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726958AbgFCKKk (ORCPT ); Wed, 3 Jun 2020 06:10:40 -0400 Received: from aserp2120.oracle.com ([141.146.126.78]:49172 "EHLO aserp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726935AbgFCKKe (ORCPT ); Wed, 3 Jun 2020 06:10:34 -0400 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 053A6wtI156632 for ; Wed, 3 Jun 2020 10:10:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=corp-2020-01-29; bh=BNMpI8zAdG7p/Ux1BsXW8txaixkLmmqCmrjNTkdGQ9k=; b=a4av9FXuf0b/zn2V3dSTa8gXL1p7I1OLCyzqf+bvbn7TMBogCjzHbamYT3Ho9xC9H591 gNCN5Kq8eoKTdjuMfIlA8nSqKLAIMm2cep7JUmMEVTTXvfnljYkTGdLRStd1CDVrMy5Y Fp1sxjoYM/VAtQs/Jb/FlKy6JOvuE3tSL5y9jXmZlfhdgb7xty/IK6syL3WjEfbpNAOb eSRB6bhhYAgOZlqMDLGe+Nf55TIWllTUF1QcPifwKhA6DvC6Pk1u+IqCNOw21hO6GYjC DsV4Prs7oQKOz1I8aq6IEfD4YpSXgVfvUInrUjxyyECm3uWi7mm/JIAe8UAj9nJ8nXWh 0g== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by aserp2120.oracle.com with ESMTP id 31bfem8dad-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Wed, 03 Jun 2020 10:10:32 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 053A80E2034791 for ; Wed, 3 Jun 2020 10:10:32 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserp3020.oracle.com with ESMTP id 31c25rpnmb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 03 Jun 2020 10:10:32 +0000 Received: from abhmp0009.oracle.com (abhmp0009.oracle.com [141.146.116.15]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 053AAWYc003600 for ; Wed, 3 Jun 2020 10:10:32 GMT Received: from localhost.localdomain (/39.109.231.106) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 03 Jun 2020 03:10:31 -0700 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [PATCH 1/3] btrfs: fix btrfs_return_cluster_to_free_space() return Date: Wed, 3 Jun 2020 18:10:18 +0800 Message-Id: <20200603101020.143372-2-anand.jain@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200603101020.143372-1-anand.jain@oracle.com> References: <20200603101020.143372-1-anand.jain@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9640 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=3 spamscore=0 malwarescore=0 bulkscore=0 mlxscore=0 phishscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2006030079 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9640 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 suspectscore=3 mlxlogscore=999 priorityscore=1501 bulkscore=0 phishscore=0 clxscore=1015 impostorscore=0 adultscore=0 spamscore=0 mlxscore=0 lowpriorityscore=0 cotscore=-2147483648 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2006030079 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org __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 Reviewed-by: Nikolay Borisov Reviewed-by: Johannes Thumshirn --- 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, From patchwork Wed Jun 3 10:10:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 11585477 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 51D1C90 for ; Wed, 3 Jun 2020 10:12:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3961B206A2 for ; Wed, 3 Jun 2020 10:12:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="ZsJk8LT3" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726755AbgFCKMg (ORCPT ); Wed, 3 Jun 2020 06:12:36 -0400 Received: from aserp2120.oracle.com ([141.146.126.78]:50568 "EHLO aserp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725888AbgFCKMg (ORCPT ); Wed, 3 Jun 2020 06:12:36 -0400 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 053A75Di156683 for ; Wed, 3 Jun 2020 10:12:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=corp-2020-01-29; bh=YZAFvT5KhYXMYxXhwHwxCvP3dsJ1tmlqJqq0dPUwWX8=; b=ZsJk8LT3gYEzBGK53HcjiSWPS/Ncf6diWQ0kgwO3jChyy4H44jmWIwX1MOsziVWWbAhV BP8B8XXX7hxKHa8I8W9L90nQogvOuPwk08uBEEA0HnSC+Et77DdWNmlerWpTc2dNWipY SudniDKZXmpNRHbjjAvzkmLKsASDMtvMu82YIH24H4FUxxwaQg8VLsk9+JvcMdfl74JX oCnXBeKiDCdhdFd8FTSMR4io7Z1eX/0d1SpN+jsV/5fPXcuFU3c1zc3+LkLbIiBZoAe8 m1hH9siGPJVNjIVMHWf3LhN3DQlo0airYHW7/Bz1WA2J/V5FOjrA85WfrogaadoCReu/ tw== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by aserp2120.oracle.com with ESMTP id 31bfem8djb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Wed, 03 Jun 2020 10:12:35 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 053A81RB089337 for ; Wed, 3 Jun 2020 10:10:34 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userp3020.oracle.com with ESMTP id 31dju30dbx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 03 Jun 2020 10:10:34 +0000 Received: from abhmp0009.oracle.com (abhmp0009.oracle.com [141.146.116.15]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 053AAXkt003611 for ; Wed, 3 Jun 2020 10:10:33 GMT Received: from localhost.localdomain (/39.109.231.106) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 03 Jun 2020 03:10:33 -0700 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [PATCH 2/3] btrfs: rename btrfs_block_group::count Date: Wed, 3 Jun 2020 18:10:19 +0800 Message-Id: <20200603101020.143372-3-anand.jain@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200603101020.143372-1-anand.jain@oracle.com> References: <20200603101020.143372-1-anand.jain@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9640 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 mlxscore=0 adultscore=0 bulkscore=0 suspectscore=3 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2006030079 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9640 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 suspectscore=3 mlxlogscore=999 priorityscore=1501 bulkscore=0 phishscore=0 clxscore=1015 impostorscore=0 adultscore=0 spamscore=0 mlxscore=0 lowpriorityscore=0 cotscore=-2147483648 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2006030079 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org 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 --- 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; From patchwork Wed Jun 3 10:10:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Jain X-Patchwork-Id: 11585467 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id D2F4690 for ; Wed, 3 Jun 2020 10:10:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BA996206A2 for ; Wed, 3 Jun 2020 10:10:42 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="gxhfcxXB" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726933AbgFCKKm (ORCPT ); Wed, 3 Jun 2020 06:10:42 -0400 Received: from userp2130.oracle.com ([156.151.31.86]:35300 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725854AbgFCKKh (ORCPT ); Wed, 3 Jun 2020 06:10:37 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 053A8FgT151597 for ; Wed, 3 Jun 2020 10:10:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=corp-2020-01-29; bh=iVxpIwl29vvOoBRDO5Qxh0p4PbSDOr7arl2yZg2MiVk=; b=gxhfcxXBv7k4yXsrgrER0aQ1dJLK1A0UTXVSry9oWOCdfJrswJKWOvLujBso/f15YRLP n1yqdToZBeVO8pmIVb0E8LKCWt3V5u3Xb+/myMU6klmU+hmAqyDf0Ep6dEgOoFgLan1o TLrnIChHxA+q4RT0N9kweI76AvC7ZFZT9zNSWfDWp/xe9I0uioBtNbS2XCbrtzQv5qhE 68XJ1l7TNPTg63Nhm/NYm9042rhNSBbjISeB3FePZ3WUrjJuAQcOmR6bHwoOIhdScJIG Rphj4XLf3yvQGPYF0dsUoJgxKixU26fDF29xl0FO+4eJbl+37a4/nAZW/2dKVPZvaYQR qw== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by userp2130.oracle.com with ESMTP id 31bewr0h80-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Wed, 03 Jun 2020 10:10:36 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 053A7x2Z034705 for ; Wed, 3 Jun 2020 10:10:35 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserp3020.oracle.com with ESMTP id 31c25rpnqq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 03 Jun 2020 10:10:35 +0000 Received: from abhmp0009.oracle.com (abhmp0009.oracle.com [141.146.116.15]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 053AAZi1029568 for ; Wed, 3 Jun 2020 10:10:35 GMT Received: from localhost.localdomain (/39.109.231.106) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 03 Jun 2020 03:10:34 -0700 From: Anand Jain To: linux-btrfs@vger.kernel.org Subject: [PATCH 3/3] btrfs: use helper btrfs_get_block_group Date: Wed, 3 Jun 2020 18:10:20 +0800 Message-Id: <20200603101020.143372-4-anand.jain@oracle.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200603101020.143372-1-anand.jain@oracle.com> References: <20200603101020.143372-1-anand.jain@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9640 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=3 spamscore=0 malwarescore=0 bulkscore=0 mlxscore=0 phishscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2006030079 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9640 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 bulkscore=0 phishscore=0 suspectscore=3 impostorscore=0 cotscore=-2147483648 lowpriorityscore=0 mlxscore=0 adultscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2006030079 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org 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 Reviewed-by: Nikolay Borisov Reviewed-by: Johannes Thumshirn --- 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;