All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/19] qgroup unused parameter cleanup
@ 2018-07-18  6:45 Lu Fengqi
  2018-07-18  6:45 ` [PATCH 01/19] btrfs: qgroup: Drop quota_root parameter from add_qgroup_relation_item Lu Fengqi
                   ` (20 more replies)
  0 siblings, 21 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

The transaction handler can provide fs_info, so we can fetch fs_info or
quota_root(indirectly) from trans. Just remove the redundant parameter
from qgroup functions.

No functional change.

Lu Fengqi (19):
  btrfs: qgroup: Drop quota_root parameter from add_qgroup_relation_item
  btrfs: qgroup: Drop quota_root parameter from del_qgroup_relation_item
  btrfs: qgroup: Drop quota_root parameter from del_qgroup_item
  btrfs: qgroup: Drop root parameter from update_qgroup_limit_item
  btrfs: qgroup: Drop root parameter from update_qgroup_info_item
  btrfs: qgroup: Drop quota_root and fs_info parameters from
    update_qgroup_status_item
  btrfs: qgroup: Drop fs_info parameter from btrfs_add_qgroup_relation
  btrfs: qgroup: Drop fs_info parameter from __del_qgroup_relation
  btrfs: qgroup: Drop fs_info parameter from btrfs_del_qgroup_relation
  btrfs: qgroup: Drop fs_info parameter from btrfs_create_qgroup
  btrfs: qgroup: Drop fs_info parameter from btrfs_remove_qgroup
  btrfs: qgroup: Drop fs_info parameter from btrfs_limit_qgroup
  btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_trace_extent
  btrfs: qgroup: Drop fs_info parameter from
    btrfs_qgroup_trace_leaf_items
  btrfs: qgroup: Drop root parameter from btrfs_qgroup_trace_subtree
  btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_account_extent
  btrfs: qgroup: Drop fs_info parameter from btrfs_run_qgroups
  btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_inherit
  btrfs: qgroup: Drop fs_info parameter from qgroup_rescan_leaf

 fs/btrfs/extent-tree.c        |   4 +-
 fs/btrfs/ioctl.c              |  18 ++--
 fs/btrfs/qgroup.c             | 163 +++++++++++++++++-----------------
 fs/btrfs/qgroup.h             |  40 ++++-----
 fs/btrfs/relocation.c         |   5 +-
 fs/btrfs/tests/qgroup-tests.c |  24 ++---
 fs/btrfs/transaction.c        |   5 +-
 fs/btrfs/tree-log.c           |   2 +-
 8 files changed, 123 insertions(+), 138 deletions(-)

-- 
2.18.0




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

* [PATCH 01/19] btrfs: qgroup: Drop quota_root parameter from add_qgroup_relation_item
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:45 ` [PATCH 02/19] btrfs: qgroup: Drop quota_root parameter from del_qgroup_relation_item Lu Fengqi
                   ` (19 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/qgroup.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 06e0e9b39340..489f0ff8036e 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -530,11 +530,11 @@ void btrfs_free_qgroup_config(struct btrfs_fs_info *fs_info)
 	fs_info->qgroup_ulist = NULL;
 }
 
-static int add_qgroup_relation_item(struct btrfs_trans_handle *trans,
-				    struct btrfs_root *quota_root,
-				    u64 src, u64 dst)
+static int add_qgroup_relation_item(struct btrfs_trans_handle *trans, u64 src,
+				    u64 dst)
 {
 	int ret;
+	struct btrfs_root *quota_root = trans->fs_info->quota_root;
 	struct btrfs_path *path;
 	struct btrfs_key key;
 
@@ -1273,11 +1273,11 @@ int btrfs_add_qgroup_relation(struct btrfs_trans_handle *trans,
 		}
 	}
 
-	ret = add_qgroup_relation_item(trans, quota_root, src, dst);
+	ret = add_qgroup_relation_item(trans, src, dst);
 	if (ret)
 		goto out;
 
-	ret = add_qgroup_relation_item(trans, quota_root, dst, src);
+	ret = add_qgroup_relation_item(trans, dst, src);
 	if (ret) {
 		del_qgroup_relation_item(trans, quota_root, src, dst);
 		goto out;
@@ -2294,12 +2294,12 @@ int btrfs_qgroup_inherit(struct btrfs_trans_handle *trans,
 		for (i = 0; i < inherit->num_qgroups; ++i, ++i_qgroups) {
 			if (*i_qgroups == 0)
 				continue;
-			ret = add_qgroup_relation_item(trans, quota_root,
-						       objectid, *i_qgroups);
+			ret = add_qgroup_relation_item(trans, objectid,
+						       *i_qgroups);
 			if (ret && ret != -EEXIST)
 				goto out;
-			ret = add_qgroup_relation_item(trans, quota_root,
-						       *i_qgroups, objectid);
+			ret = add_qgroup_relation_item(trans, *i_qgroups,
+						       objectid);
 			if (ret && ret != -EEXIST)
 				goto out;
 		}
-- 
2.18.0




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

* [PATCH 02/19] btrfs: qgroup: Drop quota_root parameter from del_qgroup_relation_item
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
  2018-07-18  6:45 ` [PATCH 01/19] btrfs: qgroup: Drop quota_root parameter from add_qgroup_relation_item Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:45 ` [PATCH 03/19] btrfs: qgroup: Drop quota_root parameter from del_qgroup_item Lu Fengqi
                   ` (18 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/qgroup.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 489f0ff8036e..4c852ded1d52 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -554,11 +554,11 @@ static int add_qgroup_relation_item(struct btrfs_trans_handle *trans, u64 src,
 	return ret;
 }
 
-static int del_qgroup_relation_item(struct btrfs_trans_handle *trans,
-				    struct btrfs_root *quota_root,
-				    u64 src, u64 dst)
+static int del_qgroup_relation_item(struct btrfs_trans_handle *trans, u64 src,
+				    u64 dst)
 {
 	int ret;
+	struct btrfs_root *quota_root = trans->fs_info->quota_root;
 	struct btrfs_path *path;
 	struct btrfs_key key;
 
@@ -1279,7 +1279,7 @@ int btrfs_add_qgroup_relation(struct btrfs_trans_handle *trans,
 
 	ret = add_qgroup_relation_item(trans, dst, src);
 	if (ret) {
-		del_qgroup_relation_item(trans, quota_root, src, dst);
+		del_qgroup_relation_item(trans, src, dst);
 		goto out;
 	}
 
@@ -1333,8 +1333,8 @@ static int __del_qgroup_relation(struct btrfs_trans_handle *trans,
 	ret = -ENOENT;
 	goto out;
 exist:
-	ret = del_qgroup_relation_item(trans, quota_root, src, dst);
-	err = del_qgroup_relation_item(trans, quota_root, dst, src);
+	ret = del_qgroup_relation_item(trans, src, dst);
+	err = del_qgroup_relation_item(trans, dst, src);
 	if (err && !ret)
 		ret = err;
 
-- 
2.18.0




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

* [PATCH 03/19] btrfs: qgroup: Drop quota_root parameter from del_qgroup_item
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
  2018-07-18  6:45 ` [PATCH 01/19] btrfs: qgroup: Drop quota_root parameter from add_qgroup_relation_item Lu Fengqi
  2018-07-18  6:45 ` [PATCH 02/19] btrfs: qgroup: Drop quota_root parameter from del_qgroup_relation_item Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:45 ` [PATCH 04/19] btrfs: qgroup: Drop root parameter from update_qgroup_limit_item Lu Fengqi
                   ` (17 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/qgroup.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 4c852ded1d52..6eb65a0e912e 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -653,10 +653,10 @@ static int add_qgroup_item(struct btrfs_trans_handle *trans,
 	return ret;
 }
 
-static int del_qgroup_item(struct btrfs_trans_handle *trans,
-			   struct btrfs_root *quota_root, u64 qgroupid)
+static int del_qgroup_item(struct btrfs_trans_handle *trans, u64 qgroupid)
 {
 	int ret;
+	struct btrfs_root *quota_root = trans->fs_info->quota_root;
 	struct btrfs_path *path;
 	struct btrfs_key key;
 
@@ -1419,7 +1419,7 @@ int btrfs_remove_qgroup(struct btrfs_trans_handle *trans,
 			goto out;
 		}
 	}
-	ret = del_qgroup_item(trans, quota_root, qgroupid);
+	ret = del_qgroup_item(trans, qgroupid);
 	if (ret && ret != -ENOENT)
 		goto out;
 
-- 
2.18.0




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

* [PATCH 04/19] btrfs: qgroup: Drop root parameter from update_qgroup_limit_item
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (2 preceding siblings ...)
  2018-07-18  6:45 ` [PATCH 03/19] btrfs: qgroup: Drop quota_root parameter from del_qgroup_item Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:45 ` [PATCH 05/19] btrfs: qgroup: Drop root parameter from update_qgroup_info_item Lu Fengqi
                   ` (16 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/qgroup.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 6eb65a0e912e..763bcb3f24da 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -700,9 +700,9 @@ static int del_qgroup_item(struct btrfs_trans_handle *trans, u64 qgroupid)
 }
 
 static int update_qgroup_limit_item(struct btrfs_trans_handle *trans,
-				    struct btrfs_root *root,
 				    struct btrfs_qgroup *qgroup)
 {
+	struct btrfs_root *quota_root = trans->fs_info->quota_root;
 	struct btrfs_path *path;
 	struct btrfs_key key;
 	struct extent_buffer *l;
@@ -718,7 +718,7 @@ static int update_qgroup_limit_item(struct btrfs_trans_handle *trans,
 	if (!path)
 		return -ENOMEM;
 
-	ret = btrfs_search_slot(trans, root, &key, path, 0, 1);
+	ret = btrfs_search_slot(trans, quota_root, &key, path, 0, 1);
 	if (ret > 0)
 		ret = -ENOENT;
 
@@ -1508,7 +1508,7 @@ int btrfs_limit_qgroup(struct btrfs_trans_handle *trans,
 
 	spin_unlock(&fs_info->qgroup_lock);
 
-	ret = update_qgroup_limit_item(trans, quota_root, qgroup);
+	ret = update_qgroup_limit_item(trans, qgroup);
 	if (ret) {
 		fs_info->qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT;
 		btrfs_info(fs_info, "unable to update quota limit for %llu",
@@ -2213,7 +2213,7 @@ int btrfs_run_qgroups(struct btrfs_trans_handle *trans,
 		if (ret)
 			fs_info->qgroup_flags |=
 					BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT;
-		ret = update_qgroup_limit_item(trans, quota_root, qgroup);
+		ret = update_qgroup_limit_item(trans, qgroup);
 		if (ret)
 			fs_info->qgroup_flags |=
 					BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT;
@@ -2322,7 +2322,7 @@ int btrfs_qgroup_inherit(struct btrfs_trans_handle *trans,
 		dstgroup->rsv_rfer = inherit->lim.rsv_rfer;
 		dstgroup->rsv_excl = inherit->lim.rsv_excl;
 
-		ret = update_qgroup_limit_item(trans, quota_root, dstgroup);
+		ret = update_qgroup_limit_item(trans, dstgroup);
 		if (ret) {
 			fs_info->qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT;
 			btrfs_info(fs_info,
-- 
2.18.0




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

* [PATCH 05/19] btrfs: qgroup: Drop root parameter from update_qgroup_info_item
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (3 preceding siblings ...)
  2018-07-18  6:45 ` [PATCH 04/19] btrfs: qgroup: Drop root parameter from update_qgroup_limit_item Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:45 ` [PATCH 06/19] btrfs: qgroup: Drop quota_root and fs_info parameters from update_qgroup_status_item Lu Fengqi
                   ` (15 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/qgroup.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 763bcb3f24da..d405b09ca6db 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -742,9 +742,10 @@ static int update_qgroup_limit_item(struct btrfs_trans_handle *trans,
 }
 
 static int update_qgroup_info_item(struct btrfs_trans_handle *trans,
-				   struct btrfs_root *root,
 				   struct btrfs_qgroup *qgroup)
 {
+	struct btrfs_fs_info *fs_info = trans->fs_info;
+	struct btrfs_root *quota_root = fs_info->quota_root;
 	struct btrfs_path *path;
 	struct btrfs_key key;
 	struct extent_buffer *l;
@@ -752,7 +753,7 @@ static int update_qgroup_info_item(struct btrfs_trans_handle *trans,
 	int ret;
 	int slot;
 
-	if (btrfs_is_testing(root->fs_info))
+	if (btrfs_is_testing(fs_info))
 		return 0;
 
 	key.objectid = 0;
@@ -763,7 +764,7 @@ static int update_qgroup_info_item(struct btrfs_trans_handle *trans,
 	if (!path)
 		return -ENOMEM;
 
-	ret = btrfs_search_slot(trans, root, &key, path, 0, 1);
+	ret = btrfs_search_slot(trans, quota_root, &key, path, 0, 1);
 	if (ret > 0)
 		ret = -ENOENT;
 
@@ -2209,7 +2210,7 @@ int btrfs_run_qgroups(struct btrfs_trans_handle *trans,
 					  struct btrfs_qgroup, dirty);
 		list_del_init(&qgroup->dirty);
 		spin_unlock(&fs_info->qgroup_lock);
-		ret = update_qgroup_info_item(trans, quota_root, qgroup);
+		ret = update_qgroup_info_item(trans, qgroup);
 		if (ret)
 			fs_info->qgroup_flags |=
 					BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT;
-- 
2.18.0




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

* [PATCH 06/19] btrfs: qgroup: Drop quota_root and fs_info parameters from update_qgroup_status_item
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (4 preceding siblings ...)
  2018-07-18  6:45 ` [PATCH 05/19] btrfs: qgroup: Drop root parameter from update_qgroup_info_item Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:45 ` [PATCH 07/19] btrfs: qgroup: Drop fs_info parameter from btrfs_add_qgroup_relation Lu Fengqi
                   ` (14 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

They can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/qgroup.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index d405b09ca6db..73608075db4e 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -787,10 +787,10 @@ static int update_qgroup_info_item(struct btrfs_trans_handle *trans,
 	return ret;
 }
 
-static int update_qgroup_status_item(struct btrfs_trans_handle *trans,
-				     struct btrfs_fs_info *fs_info,
-				    struct btrfs_root *root)
+static int update_qgroup_status_item(struct btrfs_trans_handle *trans)
 {
+	struct btrfs_fs_info *fs_info = trans->fs_info;
+	struct btrfs_root *quota_root = fs_info->quota_root;
 	struct btrfs_path *path;
 	struct btrfs_key key;
 	struct extent_buffer *l;
@@ -806,7 +806,7 @@ static int update_qgroup_status_item(struct btrfs_trans_handle *trans,
 	if (!path)
 		return -ENOMEM;
 
-	ret = btrfs_search_slot(trans, root, &key, path, 0, 1);
+	ret = btrfs_search_slot(trans, quota_root, &key, path, 0, 1);
 	if (ret > 0)
 		ret = -ENOENT;
 
@@ -2226,7 +2226,7 @@ int btrfs_run_qgroups(struct btrfs_trans_handle *trans,
 		fs_info->qgroup_flags &= ~BTRFS_QGROUP_STATUS_FLAG_ON;
 	spin_unlock(&fs_info->qgroup_lock);
 
-	ret = update_qgroup_status_item(trans, fs_info, quota_root);
+	ret = update_qgroup_status_item(trans);
 	if (ret)
 		fs_info->qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT;
 
@@ -2794,7 +2794,7 @@ static void btrfs_qgroup_rescan_worker(struct btrfs_work *work)
 			  err);
 		goto done;
 	}
-	ret = update_qgroup_status_item(trans, fs_info, fs_info->quota_root);
+	ret = update_qgroup_status_item(trans);
 	if (ret < 0) {
 		err = ret;
 		btrfs_err(fs_info, "fail to update qgroup status: %d", err);
-- 
2.18.0




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

* [PATCH 07/19] btrfs: qgroup: Drop fs_info parameter from btrfs_add_qgroup_relation
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (5 preceding siblings ...)
  2018-07-18  6:45 ` [PATCH 06/19] btrfs: qgroup: Drop quota_root and fs_info parameters from update_qgroup_status_item Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:45 ` [PATCH 08/19] btrfs: qgroup: Drop fs_info parameter from __del_qgroup_relation Lu Fengqi
                   ` (13 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/ioctl.c  | 3 +--
 fs/btrfs/qgroup.c | 5 +++--
 fs/btrfs/qgroup.h | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 3f7b6fc6febf..b8e3c1c3519e 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -5169,8 +5169,7 @@ static long btrfs_ioctl_qgroup_assign(struct file *file, void __user *arg)
 	}
 
 	if (sa->assign) {
-		ret = btrfs_add_qgroup_relation(trans, fs_info,
-						sa->src, sa->dst);
+		ret = btrfs_add_qgroup_relation(trans, sa->src, sa->dst);
 	} else {
 		ret = btrfs_del_qgroup_relation(trans, fs_info,
 						sa->src, sa->dst);
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 73608075db4e..9e709a01bfaa 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -1235,9 +1235,10 @@ static int quick_update_accounting(struct btrfs_fs_info *fs_info,
 	return ret;
 }
 
-int btrfs_add_qgroup_relation(struct btrfs_trans_handle *trans,
-			      struct btrfs_fs_info *fs_info, u64 src, u64 dst)
+int btrfs_add_qgroup_relation(struct btrfs_trans_handle *trans, u64 src,
+			      u64 dst)
 {
+	struct btrfs_fs_info *fs_info = trans->fs_info;
 	struct btrfs_root *quota_root;
 	struct btrfs_qgroup *parent;
 	struct btrfs_qgroup *member;
diff --git a/fs/btrfs/qgroup.h b/fs/btrfs/qgroup.h
index bec7c9b17a8e..cb4d0e58f486 100644
--- a/fs/btrfs/qgroup.h
+++ b/fs/btrfs/qgroup.h
@@ -147,8 +147,8 @@ int btrfs_qgroup_rescan(struct btrfs_fs_info *fs_info);
 void btrfs_qgroup_rescan_resume(struct btrfs_fs_info *fs_info);
 int btrfs_qgroup_wait_for_completion(struct btrfs_fs_info *fs_info,
 				     bool interruptible);
-int btrfs_add_qgroup_relation(struct btrfs_trans_handle *trans,
-			      struct btrfs_fs_info *fs_info, u64 src, u64 dst);
+int btrfs_add_qgroup_relation(struct btrfs_trans_handle *trans, u64 src,
+			      u64 dst);
 int btrfs_del_qgroup_relation(struct btrfs_trans_handle *trans,
 			      struct btrfs_fs_info *fs_info, u64 src, u64 dst);
 int btrfs_create_qgroup(struct btrfs_trans_handle *trans,
-- 
2.18.0




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

* [PATCH 08/19] btrfs: qgroup: Drop fs_info parameter from __del_qgroup_relation
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (6 preceding siblings ...)
  2018-07-18  6:45 ` [PATCH 07/19] btrfs: qgroup: Drop fs_info parameter from btrfs_add_qgroup_relation Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:45 ` [PATCH 09/19] btrfs: qgroup: Drop fs_info parameter from btrfs_del_qgroup_relation Lu Fengqi
                   ` (12 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/qgroup.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 9e709a01bfaa..51e43dbedbbc 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -1299,9 +1299,10 @@ int btrfs_add_qgroup_relation(struct btrfs_trans_handle *trans, u64 src,
 	return ret;
 }
 
-static int __del_qgroup_relation(struct btrfs_trans_handle *trans,
-			      struct btrfs_fs_info *fs_info, u64 src, u64 dst)
+static int __del_qgroup_relation(struct btrfs_trans_handle *trans, u64 src,
+				 u64 dst)
 {
+	struct btrfs_fs_info *fs_info = trans->fs_info;
 	struct btrfs_root *quota_root;
 	struct btrfs_qgroup *parent;
 	struct btrfs_qgroup *member;
@@ -1355,7 +1356,7 @@ int btrfs_del_qgroup_relation(struct btrfs_trans_handle *trans,
 	int ret = 0;
 
 	mutex_lock(&fs_info->qgroup_ioctl_lock);
-	ret = __del_qgroup_relation(trans, fs_info, src, dst);
+	ret = __del_qgroup_relation(trans, src, dst);
 	mutex_unlock(&fs_info->qgroup_ioctl_lock);
 
 	return ret;
@@ -1428,9 +1429,8 @@ int btrfs_remove_qgroup(struct btrfs_trans_handle *trans,
 	while (!list_empty(&qgroup->groups)) {
 		list = list_first_entry(&qgroup->groups,
 					struct btrfs_qgroup_list, next_group);
-		ret = __del_qgroup_relation(trans, fs_info,
-					   qgroupid,
-					   list->group->qgroupid);
+		ret = __del_qgroup_relation(trans, qgroupid,
+					    list->group->qgroupid);
 		if (ret)
 			goto out;
 	}
-- 
2.18.0




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

* [PATCH 09/19] btrfs: qgroup: Drop fs_info parameter from btrfs_del_qgroup_relation
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (7 preceding siblings ...)
  2018-07-18  6:45 ` [PATCH 08/19] btrfs: qgroup: Drop fs_info parameter from __del_qgroup_relation Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:45 ` [PATCH 10/19] btrfs: qgroup: Drop fs_info parameter from btrfs_create_qgroup Lu Fengqi
                   ` (11 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/ioctl.c  | 3 +--
 fs/btrfs/qgroup.c | 5 +++--
 fs/btrfs/qgroup.h | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index b8e3c1c3519e..15a9f9b9d8bc 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -5171,8 +5171,7 @@ static long btrfs_ioctl_qgroup_assign(struct file *file, void __user *arg)
 	if (sa->assign) {
 		ret = btrfs_add_qgroup_relation(trans, sa->src, sa->dst);
 	} else {
-		ret = btrfs_del_qgroup_relation(trans, fs_info,
-						sa->src, sa->dst);
+		ret = btrfs_del_qgroup_relation(trans, sa->src, sa->dst);
 	}
 
 	/* update qgroup status and info */
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 51e43dbedbbc..6acb4658e844 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -1350,9 +1350,10 @@ static int __del_qgroup_relation(struct btrfs_trans_handle *trans, u64 src,
 	return ret;
 }
 
-int btrfs_del_qgroup_relation(struct btrfs_trans_handle *trans,
-			      struct btrfs_fs_info *fs_info, u64 src, u64 dst)
+int btrfs_del_qgroup_relation(struct btrfs_trans_handle *trans, u64 src,
+			      u64 dst)
 {
+	struct btrfs_fs_info *fs_info = trans->fs_info;
 	int ret = 0;
 
 	mutex_lock(&fs_info->qgroup_ioctl_lock);
diff --git a/fs/btrfs/qgroup.h b/fs/btrfs/qgroup.h
index cb4d0e58f486..539d4c449f26 100644
--- a/fs/btrfs/qgroup.h
+++ b/fs/btrfs/qgroup.h
@@ -149,8 +149,8 @@ int btrfs_qgroup_wait_for_completion(struct btrfs_fs_info *fs_info,
 				     bool interruptible);
 int btrfs_add_qgroup_relation(struct btrfs_trans_handle *trans, u64 src,
 			      u64 dst);
-int btrfs_del_qgroup_relation(struct btrfs_trans_handle *trans,
-			      struct btrfs_fs_info *fs_info, u64 src, u64 dst);
+int btrfs_del_qgroup_relation(struct btrfs_trans_handle *trans, u64 src,
+			      u64 dst);
 int btrfs_create_qgroup(struct btrfs_trans_handle *trans,
 			struct btrfs_fs_info *fs_info, u64 qgroupid);
 int btrfs_remove_qgroup(struct btrfs_trans_handle *trans,
-- 
2.18.0




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

* [PATCH 10/19] btrfs: qgroup: Drop fs_info parameter from btrfs_create_qgroup
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (8 preceding siblings ...)
  2018-07-18  6:45 ` [PATCH 09/19] btrfs: qgroup: Drop fs_info parameter from btrfs_del_qgroup_relation Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:45 ` [PATCH 11/19] btrfs: qgroup: Drop fs_info parameter from btrfs_remove_qgroup Lu Fengqi
                   ` (10 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/ioctl.c              | 2 +-
 fs/btrfs/qgroup.c             | 4 ++--
 fs/btrfs/qgroup.h             | 3 +--
 fs/btrfs/tests/qgroup-tests.c | 4 ++--
 4 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 15a9f9b9d8bc..ef0cdbdae98a 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -5225,7 +5225,7 @@ static long btrfs_ioctl_qgroup_create(struct file *file, void __user *arg)
 	}
 
 	if (sa->create) {
-		ret = btrfs_create_qgroup(trans, fs_info, sa->qgroupid);
+		ret = btrfs_create_qgroup(trans, sa->qgroupid);
 	} else {
 		ret = btrfs_remove_qgroup(trans, fs_info, sa->qgroupid);
 	}
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 6acb4658e844..5f6ea125f24d 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -1363,9 +1363,9 @@ int btrfs_del_qgroup_relation(struct btrfs_trans_handle *trans, u64 src,
 	return ret;
 }
 
-int btrfs_create_qgroup(struct btrfs_trans_handle *trans,
-			struct btrfs_fs_info *fs_info, u64 qgroupid)
+int btrfs_create_qgroup(struct btrfs_trans_handle *trans, u64 qgroupid)
 {
+	struct btrfs_fs_info *fs_info = trans->fs_info;
 	struct btrfs_root *quota_root;
 	struct btrfs_qgroup *qgroup;
 	int ret = 0;
diff --git a/fs/btrfs/qgroup.h b/fs/btrfs/qgroup.h
index 539d4c449f26..03adfedd9d01 100644
--- a/fs/btrfs/qgroup.h
+++ b/fs/btrfs/qgroup.h
@@ -151,8 +151,7 @@ int btrfs_add_qgroup_relation(struct btrfs_trans_handle *trans, u64 src,
 			      u64 dst);
 int btrfs_del_qgroup_relation(struct btrfs_trans_handle *trans, u64 src,
 			      u64 dst);
-int btrfs_create_qgroup(struct btrfs_trans_handle *trans,
-			struct btrfs_fs_info *fs_info, u64 qgroupid);
+int btrfs_create_qgroup(struct btrfs_trans_handle *trans, u64 qgroupid);
 int btrfs_remove_qgroup(struct btrfs_trans_handle *trans,
 			      struct btrfs_fs_info *fs_info, u64 qgroupid);
 int btrfs_limit_qgroup(struct btrfs_trans_handle *trans,
diff --git a/fs/btrfs/tests/qgroup-tests.c b/fs/btrfs/tests/qgroup-tests.c
index ace94db09d29..b5e332d45d37 100644
--- a/fs/btrfs/tests/qgroup-tests.c
+++ b/fs/btrfs/tests/qgroup-tests.c
@@ -216,7 +216,7 @@ static int test_no_shared_qgroup(struct btrfs_root *root,
 	btrfs_init_dummy_trans(&trans, fs_info);
 
 	test_msg("qgroup basic add");
-	ret = btrfs_create_qgroup(NULL, fs_info, BTRFS_FS_TREE_OBJECTID);
+	ret = btrfs_create_qgroup(&trans, BTRFS_FS_TREE_OBJECTID);
 	if (ret) {
 		test_err("couldn't create a qgroup %d", ret);
 		return ret;
@@ -322,7 +322,7 @@ static int test_multiple_refs(struct btrfs_root *root,
 	 * We have BTRFS_FS_TREE_OBJECTID created already from the
 	 * previous test.
 	 */
-	ret = btrfs_create_qgroup(NULL, fs_info, BTRFS_FIRST_FREE_OBJECTID);
+	ret = btrfs_create_qgroup(&trans, BTRFS_FIRST_FREE_OBJECTID);
 	if (ret) {
 		test_err("couldn't create a qgroup %d", ret);
 		return ret;
-- 
2.18.0




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

* [PATCH 11/19] btrfs: qgroup: Drop fs_info parameter from btrfs_remove_qgroup
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (9 preceding siblings ...)
  2018-07-18  6:45 ` [PATCH 10/19] btrfs: qgroup: Drop fs_info parameter from btrfs_create_qgroup Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:45 ` [PATCH 12/19] btrfs: qgroup: Drop fs_info parameter from btrfs_limit_qgroup Lu Fengqi
                   ` (9 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/ioctl.c  | 3 +--
 fs/btrfs/qgroup.c | 4 ++--
 fs/btrfs/qgroup.h | 3 +--
 3 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index ef0cdbdae98a..25bb192a3775 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -5193,7 +5193,6 @@ static long btrfs_ioctl_qgroup_assign(struct file *file, void __user *arg)
 static long btrfs_ioctl_qgroup_create(struct file *file, void __user *arg)
 {
 	struct inode *inode = file_inode(file);
-	struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
 	struct btrfs_root *root = BTRFS_I(inode)->root;
 	struct btrfs_ioctl_qgroup_create_args *sa;
 	struct btrfs_trans_handle *trans;
@@ -5227,7 +5226,7 @@ static long btrfs_ioctl_qgroup_create(struct file *file, void __user *arg)
 	if (sa->create) {
 		ret = btrfs_create_qgroup(trans, sa->qgroupid);
 	} else {
-		ret = btrfs_remove_qgroup(trans, fs_info, sa->qgroupid);
+		ret = btrfs_remove_qgroup(trans, sa->qgroupid);
 	}
 
 	err = btrfs_end_transaction(trans);
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 5f6ea125f24d..09256114aaa6 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -1397,9 +1397,9 @@ int btrfs_create_qgroup(struct btrfs_trans_handle *trans, u64 qgroupid)
 	return ret;
 }
 
-int btrfs_remove_qgroup(struct btrfs_trans_handle *trans,
-			struct btrfs_fs_info *fs_info, u64 qgroupid)
+int btrfs_remove_qgroup(struct btrfs_trans_handle *trans, u64 qgroupid)
 {
+	struct btrfs_fs_info *fs_info = trans->fs_info;
 	struct btrfs_root *quota_root;
 	struct btrfs_qgroup *qgroup;
 	struct btrfs_qgroup_list *list;
diff --git a/fs/btrfs/qgroup.h b/fs/btrfs/qgroup.h
index 03adfedd9d01..41516dddf123 100644
--- a/fs/btrfs/qgroup.h
+++ b/fs/btrfs/qgroup.h
@@ -152,8 +152,7 @@ int btrfs_add_qgroup_relation(struct btrfs_trans_handle *trans, u64 src,
 int btrfs_del_qgroup_relation(struct btrfs_trans_handle *trans, u64 src,
 			      u64 dst);
 int btrfs_create_qgroup(struct btrfs_trans_handle *trans, u64 qgroupid);
-int btrfs_remove_qgroup(struct btrfs_trans_handle *trans,
-			      struct btrfs_fs_info *fs_info, u64 qgroupid);
+int btrfs_remove_qgroup(struct btrfs_trans_handle *trans, u64 qgroupid);
 int btrfs_limit_qgroup(struct btrfs_trans_handle *trans,
 		       struct btrfs_fs_info *fs_info, u64 qgroupid,
 		       struct btrfs_qgroup_limit *limit);
-- 
2.18.0




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

* [PATCH 12/19] btrfs: qgroup: Drop fs_info parameter from btrfs_limit_qgroup
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (10 preceding siblings ...)
  2018-07-18  6:45 ` [PATCH 11/19] btrfs: qgroup: Drop fs_info parameter from btrfs_remove_qgroup Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:45 ` [PATCH 13/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_trace_extent Lu Fengqi
                   ` (8 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/ioctl.c  | 3 +--
 fs/btrfs/qgroup.c | 4 ++--
 fs/btrfs/qgroup.h | 3 +--
 3 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 25bb192a3775..a92f07831627 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -5243,7 +5243,6 @@ static long btrfs_ioctl_qgroup_create(struct file *file, void __user *arg)
 static long btrfs_ioctl_qgroup_limit(struct file *file, void __user *arg)
 {
 	struct inode *inode = file_inode(file);
-	struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
 	struct btrfs_root *root = BTRFS_I(inode)->root;
 	struct btrfs_ioctl_qgroup_limit_args *sa;
 	struct btrfs_trans_handle *trans;
@@ -5276,7 +5275,7 @@ static long btrfs_ioctl_qgroup_limit(struct file *file, void __user *arg)
 		qgroupid = root->root_key.objectid;
 	}
 
-	ret = btrfs_limit_qgroup(trans, fs_info, qgroupid, &sa->lim);
+	ret = btrfs_limit_qgroup(trans, qgroupid, &sa->lim);
 
 	err = btrfs_end_transaction(trans);
 	if (err && !ret)
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 09256114aaa6..c85c1a0e933a 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -1444,10 +1444,10 @@ int btrfs_remove_qgroup(struct btrfs_trans_handle *trans, u64 qgroupid)
 	return ret;
 }
 
-int btrfs_limit_qgroup(struct btrfs_trans_handle *trans,
-		       struct btrfs_fs_info *fs_info, u64 qgroupid,
+int btrfs_limit_qgroup(struct btrfs_trans_handle *trans, u64 qgroupid,
 		       struct btrfs_qgroup_limit *limit)
 {
+	struct btrfs_fs_info *fs_info = trans->fs_info;
 	struct btrfs_root *quota_root;
 	struct btrfs_qgroup *qgroup;
 	int ret = 0;
diff --git a/fs/btrfs/qgroup.h b/fs/btrfs/qgroup.h
index 41516dddf123..385367989ed6 100644
--- a/fs/btrfs/qgroup.h
+++ b/fs/btrfs/qgroup.h
@@ -153,8 +153,7 @@ int btrfs_del_qgroup_relation(struct btrfs_trans_handle *trans, u64 src,
 			      u64 dst);
 int btrfs_create_qgroup(struct btrfs_trans_handle *trans, u64 qgroupid);
 int btrfs_remove_qgroup(struct btrfs_trans_handle *trans, u64 qgroupid);
-int btrfs_limit_qgroup(struct btrfs_trans_handle *trans,
-		       struct btrfs_fs_info *fs_info, u64 qgroupid,
+int btrfs_limit_qgroup(struct btrfs_trans_handle *trans, u64 qgroupid,
 		       struct btrfs_qgroup_limit *limit);
 int btrfs_read_qgroup_config(struct btrfs_fs_info *fs_info);
 void btrfs_free_qgroup_config(struct btrfs_fs_info *fs_info);
-- 
2.18.0




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

* [PATCH 13/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_trace_extent
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (11 preceding siblings ...)
  2018-07-18  6:45 ` [PATCH 12/19] btrfs: qgroup: Drop fs_info parameter from btrfs_limit_qgroup Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:58   ` Qu Wenruo
  2018-07-18  8:28   ` [PATCH v2 " Lu Fengqi
  2018-07-18  6:45 ` [PATCH 14/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_trace_leaf_items Lu Fengqi
                   ` (7 subsequent siblings)
  20 siblings, 2 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/qgroup.c   | 13 ++++++-------
 fs/btrfs/qgroup.h   |  5 ++---
 fs/btrfs/tree-log.c |  2 +-
 3 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index c85c1a0e933a..01add73cb2aa 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -1579,10 +1579,10 @@ int btrfs_qgroup_trace_extent_post(struct btrfs_fs_info *fs_info,
 	return 0;
 }
 
-int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans,
-		struct btrfs_fs_info *fs_info, u64 bytenr, u64 num_bytes,
-		gfp_t gfp_flag)
+int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans, u64 bytenr,
+			      u64 num_bytes, gfp_t gfp_flag)
 {
+	struct btrfs_fs_info *fs_info = trans->fs_info;
 	struct btrfs_qgroup_extent_record *record;
 	struct btrfs_delayed_ref_root *delayed_refs;
 	int ret;
@@ -1644,8 +1644,8 @@ int btrfs_qgroup_trace_leaf_items(struct btrfs_trans_handle *trans,
 
 		num_bytes = btrfs_file_extent_disk_num_bytes(eb, fi);
 
-		ret = btrfs_qgroup_trace_extent(trans, fs_info, bytenr,
-						num_bytes, GFP_NOFS);
+		ret = btrfs_qgroup_trace_extent(trans, bytenr, num_bytes,
+						GFP_NOFS);
 		if (ret)
 			return ret;
 	}
@@ -1796,8 +1796,7 @@ int btrfs_qgroup_trace_subtree(struct btrfs_trans_handle *trans,
 			btrfs_set_lock_blocking_rw(eb, BTRFS_READ_LOCK);
 			path->locks[level] = BTRFS_READ_LOCK_BLOCKING;
 
-			ret = btrfs_qgroup_trace_extent(trans, fs_info,
-							child_bytenr,
+			ret = btrfs_qgroup_trace_extent(trans, child_bytenr,
 							fs_info->nodesize,
 							GFP_NOFS);
 			if (ret)
diff --git a/fs/btrfs/qgroup.h b/fs/btrfs/qgroup.h
index 385367989ed6..0215dc0b1710 100644
--- a/fs/btrfs/qgroup.h
+++ b/fs/btrfs/qgroup.h
@@ -212,9 +212,8 @@ int btrfs_qgroup_trace_extent_post(struct btrfs_fs_info *fs_info,
  * Return <0 for error, like memory allocation failure or invalid parameter
  * (NULL trans)
  */
-int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans,
-		struct btrfs_fs_info *fs_info, u64 bytenr, u64 num_bytes,
-		gfp_t gfp_flag);
+int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans, u64 bytenr,
+			      u64 num_bytes, gfp_t gfp_flag);
 
 /*
  * Inform qgroup to trace all leaf items of data
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index 7b7498f1f641..10f6a4223897 100644
--- a/fs/btrfs/tree-log.c
+++ b/fs/btrfs/tree-log.c
@@ -685,7 +685,7 @@ static noinline int replay_one_extent(struct btrfs_trans_handle *trans,
 		 * as the owner of the file extent changed from log tree
 		 * (doesn't affect qgroup) to fs/file tree(affects qgroup)
 		 */
-		ret = btrfs_qgroup_trace_extent(trans, fs_info,
+		ret = btrfs_qgroup_trace_extent(trans,
 				btrfs_file_extent_disk_bytenr(eb, item),
 				btrfs_file_extent_disk_num_bytes(eb, item),
 				GFP_NOFS);
-- 
2.18.0




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

* [PATCH 14/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_trace_leaf_items
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (12 preceding siblings ...)
  2018-07-18  6:45 ` [PATCH 13/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_trace_extent Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:45 ` [PATCH 15/19] btrfs: qgroup: Drop root parameter from btrfs_qgroup_trace_subtree Lu Fengqi
                   ` (6 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/extent-tree.c | 2 +-
 fs/btrfs/qgroup.c      | 8 ++++----
 fs/btrfs/qgroup.h      | 1 -
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index ced26ba8d392..51da902a0ad7 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -8760,7 +8760,7 @@ static noinline int walk_up_proc(struct btrfs_trans_handle *trans,
 			else
 				ret = btrfs_dec_ref(trans, root, eb, 0);
 			BUG_ON(ret); /* -ENOMEM */
-			ret = btrfs_qgroup_trace_leaf_items(trans, fs_info, eb);
+			ret = btrfs_qgroup_trace_leaf_items(trans, eb);
 			if (ret) {
 				btrfs_err_rl(fs_info,
 					     "error %d accounting leaf items. Quota is out of sync, rescan required.",
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 01add73cb2aa..5cce45c30735 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -1612,9 +1612,9 @@ int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans, u64 bytenr,
 }
 
 int btrfs_qgroup_trace_leaf_items(struct btrfs_trans_handle *trans,
-				  struct btrfs_fs_info *fs_info,
 				  struct extent_buffer *eb)
 {
+	struct btrfs_fs_info *fs_info = trans->fs_info;
 	int nr = btrfs_header_nritems(eb);
 	int i, extent_type, ret;
 	struct btrfs_key key;
@@ -1738,7 +1738,7 @@ int btrfs_qgroup_trace_subtree(struct btrfs_trans_handle *trans,
 	}
 
 	if (root_level == 0) {
-		ret = btrfs_qgroup_trace_leaf_items(trans, fs_info, root_eb);
+		ret = btrfs_qgroup_trace_leaf_items(trans, root_eb);
 		goto out;
 	}
 
@@ -1804,8 +1804,8 @@ int btrfs_qgroup_trace_subtree(struct btrfs_trans_handle *trans,
 		}
 
 		if (level == 0) {
-			ret = btrfs_qgroup_trace_leaf_items(trans,fs_info,
-							   path->nodes[level]);
+			ret = btrfs_qgroup_trace_leaf_items(trans,
+							    path->nodes[level]);
 			if (ret)
 				goto out;
 
diff --git a/fs/btrfs/qgroup.h b/fs/btrfs/qgroup.h
index 0215dc0b1710..9d434a01d467 100644
--- a/fs/btrfs/qgroup.h
+++ b/fs/btrfs/qgroup.h
@@ -222,7 +222,6 @@ int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans, u64 bytenr,
  * Return <0 for error(ENOMEM)
  */
 int btrfs_qgroup_trace_leaf_items(struct btrfs_trans_handle *trans,
-				  struct btrfs_fs_info *fs_info,
 				  struct extent_buffer *eb);
 /*
  * Inform qgroup to trace a whole subtree, including all its child tree
-- 
2.18.0




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

* [PATCH 15/19] btrfs: qgroup: Drop root parameter from btrfs_qgroup_trace_subtree
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (13 preceding siblings ...)
  2018-07-18  6:45 ` [PATCH 14/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_trace_leaf_items Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:45 ` [PATCH 16/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_account_extent Lu Fengqi
                   ` (5 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

The fs_info can be fetched from the transaction handle directly.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/extent-tree.c | 2 +-
 fs/btrfs/qgroup.c      | 3 +--
 fs/btrfs/qgroup.h      | 1 -
 fs/btrfs/relocation.c  | 5 ++---
 4 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 51da902a0ad7..4f19bdca3214 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -8660,7 +8660,7 @@ static noinline int do_walk_down(struct btrfs_trans_handle *trans,
 		}
 
 		if (need_account) {
-			ret = btrfs_qgroup_trace_subtree(trans, root, next,
+			ret = btrfs_qgroup_trace_subtree(trans, next,
 							 generation, level - 1);
 			if (ret) {
 				btrfs_err_rl(fs_info,
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 5cce45c30735..92d757e3a2f5 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -1715,11 +1715,10 @@ static int adjust_slots_upwards(struct btrfs_path *path, int root_level)
 }
 
 int btrfs_qgroup_trace_subtree(struct btrfs_trans_handle *trans,
-			       struct btrfs_root *root,
 			       struct extent_buffer *root_eb,
 			       u64 root_gen, int root_level)
 {
-	struct btrfs_fs_info *fs_info = root->fs_info;
+	struct btrfs_fs_info *fs_info = trans->fs_info;
 	int ret = 0;
 	int level;
 	struct extent_buffer *eb = root_eb;
diff --git a/fs/btrfs/qgroup.h b/fs/btrfs/qgroup.h
index 9d434a01d467..b8f15ce6c83d 100644
--- a/fs/btrfs/qgroup.h
+++ b/fs/btrfs/qgroup.h
@@ -234,7 +234,6 @@ int btrfs_qgroup_trace_leaf_items(struct btrfs_trans_handle *trans,
  * Return <0 for error(ENOMEM or tree search error)
  */
 int btrfs_qgroup_trace_subtree(struct btrfs_trans_handle *trans,
-			       struct btrfs_root *root,
 			       struct extent_buffer *root_eb,
 			       u64 root_gen, int root_level);
 int
diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c
index b98d7a594542..d6bcf558789e 100644
--- a/fs/btrfs/relocation.c
+++ b/fs/btrfs/relocation.c
@@ -1879,13 +1879,12 @@ int replace_path(struct btrfs_trans_handle *trans,
 		 *    and tree block numbers, if current trans doesn't free
 		 *    data reloc tree inode.
 		 */
-		ret = btrfs_qgroup_trace_subtree(trans, src, parent,
+		ret = btrfs_qgroup_trace_subtree(trans, parent,
 				btrfs_header_generation(parent),
 				btrfs_header_level(parent));
 		if (ret < 0)
 			break;
-		ret = btrfs_qgroup_trace_subtree(trans, dest,
-				path->nodes[level],
+		ret = btrfs_qgroup_trace_subtree(trans, path->nodes[level],
 				btrfs_header_generation(path->nodes[level]),
 				btrfs_header_level(path->nodes[level]));
 		if (ret < 0)
-- 
2.18.0




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

* [PATCH 16/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_account_extent
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (14 preceding siblings ...)
  2018-07-18  6:45 ` [PATCH 15/19] btrfs: qgroup: Drop root parameter from btrfs_qgroup_trace_subtree Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:45 ` [PATCH 17/19] btrfs: qgroup: Drop fs_info parameter from btrfs_run_qgroups Lu Fengqi
                   ` (4 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/qgroup.c             | 20 ++++++++++----------
 fs/btrfs/qgroup.h             |  8 +++-----
 fs/btrfs/tests/qgroup-tests.c | 20 ++++++++++----------
 3 files changed, 23 insertions(+), 25 deletions(-)

diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 92d757e3a2f5..c0b684f279cf 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -2039,12 +2039,11 @@ static int maybe_fs_roots(struct ulist *roots)
 	return is_fstree(unode->val);
 }
 
-int
-btrfs_qgroup_account_extent(struct btrfs_trans_handle *trans,
-			    struct btrfs_fs_info *fs_info,
-			    u64 bytenr, u64 num_bytes,
-			    struct ulist *old_roots, struct ulist *new_roots)
+int btrfs_qgroup_account_extent(struct btrfs_trans_handle *trans, u64 bytenr,
+				u64 num_bytes, struct ulist *old_roots,
+				struct ulist *new_roots)
 {
+	struct btrfs_fs_info *fs_info = trans->fs_info;
 	struct ulist *qgroups = NULL;
 	struct ulist *tmp = NULL;
 	u64 seq;
@@ -2174,9 +2173,10 @@ int btrfs_qgroup_account_extents(struct btrfs_trans_handle *trans)
 				ulist_del(record->old_roots, qgroup_to_skip,
 					  0);
 			}
-			ret = btrfs_qgroup_account_extent(trans, fs_info,
-					record->bytenr, record->num_bytes,
-					record->old_roots, new_roots);
+			ret = btrfs_qgroup_account_extent(trans, record->bytenr,
+							  record->num_bytes,
+							  record->old_roots,
+							  new_roots);
 			record->old_roots = NULL;
 			new_roots = NULL;
 		}
@@ -2712,8 +2712,8 @@ qgroup_rescan_leaf(struct btrfs_fs_info *fs_info, struct btrfs_path *path,
 		if (ret < 0)
 			goto out;
 		/* For rescan, just pass old_roots as NULL */
-		ret = btrfs_qgroup_account_extent(trans, fs_info,
-				found.objectid, num_bytes, NULL, roots);
+		ret = btrfs_qgroup_account_extent(trans, found.objectid,
+						  num_bytes, NULL, roots);
 		if (ret < 0)
 			goto out;
 	}
diff --git a/fs/btrfs/qgroup.h b/fs/btrfs/qgroup.h
index b8f15ce6c83d..61b723b1e4d8 100644
--- a/fs/btrfs/qgroup.h
+++ b/fs/btrfs/qgroup.h
@@ -236,11 +236,9 @@ int btrfs_qgroup_trace_leaf_items(struct btrfs_trans_handle *trans,
 int btrfs_qgroup_trace_subtree(struct btrfs_trans_handle *trans,
 			       struct extent_buffer *root_eb,
 			       u64 root_gen, int root_level);
-int
-btrfs_qgroup_account_extent(struct btrfs_trans_handle *trans,
-			    struct btrfs_fs_info *fs_info,
-			    u64 bytenr, u64 num_bytes,
-			    struct ulist *old_roots, struct ulist *new_roots);
+int btrfs_qgroup_account_extent(struct btrfs_trans_handle *trans, u64 bytenr,
+				u64 num_bytes, struct ulist *old_roots,
+				struct ulist *new_roots);
 int btrfs_qgroup_account_extents(struct btrfs_trans_handle *trans);
 int btrfs_run_qgroups(struct btrfs_trans_handle *trans,
 		      struct btrfs_fs_info *fs_info);
diff --git a/fs/btrfs/tests/qgroup-tests.c b/fs/btrfs/tests/qgroup-tests.c
index b5e332d45d37..412b910b04cc 100644
--- a/fs/btrfs/tests/qgroup-tests.c
+++ b/fs/btrfs/tests/qgroup-tests.c
@@ -249,8 +249,8 @@ static int test_no_shared_qgroup(struct btrfs_root *root,
 		return ret;
 	}
 
-	ret = btrfs_qgroup_account_extent(&trans, fs_info, nodesize,
-					  nodesize, old_roots, new_roots);
+	ret = btrfs_qgroup_account_extent(&trans, nodesize, nodesize, old_roots,
+					  new_roots);
 	if (ret) {
 		test_err("couldn't account space for a qgroup %d", ret);
 		return ret;
@@ -285,8 +285,8 @@ static int test_no_shared_qgroup(struct btrfs_root *root,
 		return ret;
 	}
 
-	ret = btrfs_qgroup_account_extent(&trans, fs_info, nodesize,
-					  nodesize, old_roots, new_roots);
+	ret = btrfs_qgroup_account_extent(&trans, nodesize, nodesize, old_roots,
+					  new_roots);
 	if (ret) {
 		test_err("couldn't account space for a qgroup %d", ret);
 		return -EINVAL;
@@ -350,8 +350,8 @@ static int test_multiple_refs(struct btrfs_root *root,
 		return ret;
 	}
 
-	ret = btrfs_qgroup_account_extent(&trans, fs_info, nodesize,
-					  nodesize, old_roots, new_roots);
+	ret = btrfs_qgroup_account_extent(&trans, nodesize, nodesize, old_roots,
+					  new_roots);
 	if (ret) {
 		test_err("couldn't account space for a qgroup %d", ret);
 		return ret;
@@ -385,8 +385,8 @@ static int test_multiple_refs(struct btrfs_root *root,
 		return ret;
 	}
 
-	ret = btrfs_qgroup_account_extent(&trans, fs_info, nodesize,
-					  nodesize, old_roots, new_roots);
+	ret = btrfs_qgroup_account_extent(&trans, nodesize, nodesize, old_roots,
+					  new_roots);
 	if (ret) {
 		test_err("couldn't account space for a qgroup %d", ret);
 		return ret;
@@ -426,8 +426,8 @@ static int test_multiple_refs(struct btrfs_root *root,
 		return ret;
 	}
 
-	ret = btrfs_qgroup_account_extent(&trans, fs_info, nodesize,
-					  nodesize, old_roots, new_roots);
+	ret = btrfs_qgroup_account_extent(&trans, nodesize, nodesize, old_roots,
+					  new_roots);
 	if (ret) {
 		test_err("couldn't account space for a qgroup %d", ret);
 		return ret;
-- 
2.18.0




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

* [PATCH 17/19] btrfs: qgroup: Drop fs_info parameter from btrfs_run_qgroups
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (15 preceding siblings ...)
  2018-07-18  6:45 ` [PATCH 16/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_account_extent Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:45 ` [PATCH 18/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_inherit Lu Fengqi
                   ` (3 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/ioctl.c       | 2 +-
 fs/btrfs/qgroup.c      | 4 ++--
 fs/btrfs/qgroup.h      | 3 +--
 fs/btrfs/transaction.c | 2 +-
 4 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index a92f07831627..e78836df93ff 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -5175,7 +5175,7 @@ static long btrfs_ioctl_qgroup_assign(struct file *file, void __user *arg)
 	}
 
 	/* update qgroup status and info */
-	err = btrfs_run_qgroups(trans, fs_info);
+	err = btrfs_run_qgroups(trans);
 	if (err < 0)
 		btrfs_handle_fs_error(fs_info, err,
 				      "failed to update qgroup status and info");
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index c0b684f279cf..b96f344cfb7e 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -2194,9 +2194,9 @@ int btrfs_qgroup_account_extents(struct btrfs_trans_handle *trans)
 /*
  * called from commit_transaction. Writes all changed qgroups to disk.
  */
-int btrfs_run_qgroups(struct btrfs_trans_handle *trans,
-		      struct btrfs_fs_info *fs_info)
+int btrfs_run_qgroups(struct btrfs_trans_handle *trans)
 {
+	struct btrfs_fs_info *fs_info = trans->fs_info;
 	struct btrfs_root *quota_root = fs_info->quota_root;
 	int ret = 0;
 
diff --git a/fs/btrfs/qgroup.h b/fs/btrfs/qgroup.h
index 61b723b1e4d8..2c8960f9028c 100644
--- a/fs/btrfs/qgroup.h
+++ b/fs/btrfs/qgroup.h
@@ -240,8 +240,7 @@ int btrfs_qgroup_account_extent(struct btrfs_trans_handle *trans, u64 bytenr,
 				u64 num_bytes, struct ulist *old_roots,
 				struct ulist *new_roots);
 int btrfs_qgroup_account_extents(struct btrfs_trans_handle *trans);
-int btrfs_run_qgroups(struct btrfs_trans_handle *trans,
-		      struct btrfs_fs_info *fs_info);
+int btrfs_run_qgroups(struct btrfs_trans_handle *trans);
 int btrfs_qgroup_inherit(struct btrfs_trans_handle *trans,
 			 struct btrfs_fs_info *fs_info, u64 srcid, u64 objectid,
 			 struct btrfs_qgroup_inherit *inherit);
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index ebe50dfb8947..0cbd55c498a1 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -1152,7 +1152,7 @@ static noinline int commit_cowonly_roots(struct btrfs_trans_handle *trans)
 	ret = btrfs_run_dev_replace(trans, fs_info);
 	if (ret)
 		return ret;
-	ret = btrfs_run_qgroups(trans, fs_info);
+	ret = btrfs_run_qgroups(trans);
 	if (ret)
 		return ret;
 
-- 
2.18.0




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

* [PATCH 18/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_inherit
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (16 preceding siblings ...)
  2018-07-18  6:45 ` [PATCH 17/19] btrfs: qgroup: Drop fs_info parameter from btrfs_run_qgroups Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  6:45 ` [PATCH 19/19] btrfs: qgroup: Drop fs_info parameter from qgroup_rescan_leaf Lu Fengqi
                   ` (2 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/ioctl.c       | 2 +-
 fs/btrfs/qgroup.c      | 6 +++---
 fs/btrfs/qgroup.h      | 5 ++---
 fs/btrfs/transaction.c | 3 +--
 4 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index e78836df93ff..1f8f8a34aaec 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -601,7 +601,7 @@ static noinline int create_subvol(struct inode *dir,
 	trans->block_rsv = &block_rsv;
 	trans->bytes_reserved = block_rsv.size;
 
-	ret = btrfs_qgroup_inherit(trans, fs_info, 0, objectid, inherit);
+	ret = btrfs_qgroup_inherit(trans, 0, objectid, inherit);
 	if (ret)
 		goto fail;
 
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index b96f344cfb7e..98eb2e314030 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -2239,13 +2239,13 @@ int btrfs_run_qgroups(struct btrfs_trans_handle *trans)
  * cause a transaction abort so we take extra care here to only error
  * when a readonly fs is a reasonable outcome.
  */
-int btrfs_qgroup_inherit(struct btrfs_trans_handle *trans,
-			 struct btrfs_fs_info *fs_info, u64 srcid, u64 objectid,
-			 struct btrfs_qgroup_inherit *inherit)
+int btrfs_qgroup_inherit(struct btrfs_trans_handle *trans, u64 srcid,
+			 u64 objectid, struct btrfs_qgroup_inherit *inherit)
 {
 	int ret = 0;
 	int i;
 	u64 *i_qgroups;
+	struct btrfs_fs_info *fs_info = trans->fs_info;
 	struct btrfs_root *quota_root = fs_info->quota_root;
 	struct btrfs_qgroup *srcgroup;
 	struct btrfs_qgroup *dstgroup;
diff --git a/fs/btrfs/qgroup.h b/fs/btrfs/qgroup.h
index 2c8960f9028c..54b8bb282c0e 100644
--- a/fs/btrfs/qgroup.h
+++ b/fs/btrfs/qgroup.h
@@ -241,9 +241,8 @@ int btrfs_qgroup_account_extent(struct btrfs_trans_handle *trans, u64 bytenr,
 				struct ulist *new_roots);
 int btrfs_qgroup_account_extents(struct btrfs_trans_handle *trans);
 int btrfs_run_qgroups(struct btrfs_trans_handle *trans);
-int btrfs_qgroup_inherit(struct btrfs_trans_handle *trans,
-			 struct btrfs_fs_info *fs_info, u64 srcid, u64 objectid,
-			 struct btrfs_qgroup_inherit *inherit);
+int btrfs_qgroup_inherit(struct btrfs_trans_handle *trans, u64 srcid,
+			 u64 objectid, struct btrfs_qgroup_inherit *inherit);
 void btrfs_qgroup_free_refroot(struct btrfs_fs_info *fs_info,
 			       u64 ref_root, u64 num_bytes,
 			       enum btrfs_qgroup_rsv_type type);
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 0cbd55c498a1..aec208cbff00 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -1355,8 +1355,7 @@ static int qgroup_account_snapshot(struct btrfs_trans_handle *trans,
 		goto out;
 
 	/* Now qgroup are all updated, we can inherit it to new qgroups */
-	ret = btrfs_qgroup_inherit(trans, fs_info,
-				   src->root_key.objectid, dst_objectid,
+	ret = btrfs_qgroup_inherit(trans, src->root_key.objectid, dst_objectid,
 				   inherit);
 	if (ret < 0)
 		goto out;
-- 
2.18.0




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

* [PATCH 19/19] btrfs: qgroup: Drop fs_info parameter from qgroup_rescan_leaf
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (17 preceding siblings ...)
  2018-07-18  6:45 ` [PATCH 18/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_inherit Lu Fengqi
@ 2018-07-18  6:45 ` Lu Fengqi
  2018-07-18  7:00 ` [PATCH 00/19] qgroup unused parameter cleanup Qu Wenruo
  2018-07-18 13:36 ` David Sterba
  20 siblings, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  6:45 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
 fs/btrfs/qgroup.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 98eb2e314030..941fb06ff28b 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -2641,10 +2641,10 @@ static bool is_last_leaf(struct btrfs_path *path)
  * returns < 0 on error, 0 when more leafs are to be scanned.
  * returns 1 when done.
  */
-static int
-qgroup_rescan_leaf(struct btrfs_fs_info *fs_info, struct btrfs_path *path,
-		   struct btrfs_trans_handle *trans)
+static int qgroup_rescan_leaf(struct btrfs_trans_handle *trans,
+			      struct btrfs_path *path)
 {
+	struct btrfs_fs_info *fs_info = trans->fs_info;
 	struct btrfs_key found;
 	struct extent_buffer *scratch_leaf = NULL;
 	struct ulist *roots = NULL;
@@ -2759,7 +2759,7 @@ static void btrfs_qgroup_rescan_worker(struct btrfs_work *work)
 		if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)) {
 			err = -EINTR;
 		} else {
-			err = qgroup_rescan_leaf(fs_info, path, trans);
+			err = qgroup_rescan_leaf(trans, path);
 		}
 		if (err > 0)
 			btrfs_commit_transaction(trans);
-- 
2.18.0




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

* Re: [PATCH 13/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_trace_extent
  2018-07-18  6:45 ` [PATCH 13/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_trace_extent Lu Fengqi
@ 2018-07-18  6:58   ` Qu Wenruo
  2018-07-18  7:54     ` Lu Fengqi
  2018-07-18  8:28   ` [PATCH v2 " Lu Fengqi
  1 sibling, 1 reply; 26+ messages in thread
From: Qu Wenruo @ 2018-07-18  6:58 UTC (permalink / raw)
  To: Lu Fengqi, linux-btrfs


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



On 2018年07月18日 14:45, Lu Fengqi wrote:
> It can be fetched from the transaction handle.
> 
> Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
> ---
>  fs/btrfs/qgroup.c   | 13 ++++++-------
>  fs/btrfs/qgroup.h   |  5 ++---
>  fs/btrfs/tree-log.c |  2 +-
>  3 files changed, 9 insertions(+), 11 deletions(-)
> 
> diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
> index c85c1a0e933a..01add73cb2aa 100644
> --- a/fs/btrfs/qgroup.c
> +++ b/fs/btrfs/qgroup.c
> @@ -1579,10 +1579,10 @@ int btrfs_qgroup_trace_extent_post(struct btrfs_fs_info *fs_info,
>  	return 0;
>  }
>  
> -int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans,
> -		struct btrfs_fs_info *fs_info, u64 bytenr, u64 num_bytes,
> -		gfp_t gfp_flag)
> +int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans, u64 bytenr,
> +			      u64 num_bytes, gfp_t gfp_flag)
>  {
> +	struct btrfs_fs_info *fs_info = trans->fs_info;

Just lines below, we do extra WARN_ON(trans == NULL).
So if we really hit some case with NULL trans, this would cause a NULL
pointer dereference.

Although I have to admit, I'm a little paranoid about possible NULL
trans passed in.
So maybe it's a good timing to remove that WARN_ON() too?

Thanks,
Qu

>  	struct btrfs_qgroup_extent_record *record;
>  	struct btrfs_delayed_ref_root *delayed_refs;
>  	int ret;
> @@ -1644,8 +1644,8 @@ int btrfs_qgroup_trace_leaf_items(struct btrfs_trans_handle *trans,
>  
>  		num_bytes = btrfs_file_extent_disk_num_bytes(eb, fi);
>  
> -		ret = btrfs_qgroup_trace_extent(trans, fs_info, bytenr,
> -						num_bytes, GFP_NOFS);
> +		ret = btrfs_qgroup_trace_extent(trans, bytenr, num_bytes,
> +						GFP_NOFS);
>  		if (ret)
>  			return ret;
>  	}
> @@ -1796,8 +1796,7 @@ int btrfs_qgroup_trace_subtree(struct btrfs_trans_handle *trans,
>  			btrfs_set_lock_blocking_rw(eb, BTRFS_READ_LOCK);
>  			path->locks[level] = BTRFS_READ_LOCK_BLOCKING;
>  
> -			ret = btrfs_qgroup_trace_extent(trans, fs_info,
> -							child_bytenr,
> +			ret = btrfs_qgroup_trace_extent(trans, child_bytenr,
>  							fs_info->nodesize,
>  							GFP_NOFS);
>  			if (ret)
> diff --git a/fs/btrfs/qgroup.h b/fs/btrfs/qgroup.h
> index 385367989ed6..0215dc0b1710 100644
> --- a/fs/btrfs/qgroup.h
> +++ b/fs/btrfs/qgroup.h
> @@ -212,9 +212,8 @@ int btrfs_qgroup_trace_extent_post(struct btrfs_fs_info *fs_info,
>   * Return <0 for error, like memory allocation failure or invalid parameter
>   * (NULL trans)
>   */
> -int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans,
> -		struct btrfs_fs_info *fs_info, u64 bytenr, u64 num_bytes,
> -		gfp_t gfp_flag);
> +int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans, u64 bytenr,
> +			      u64 num_bytes, gfp_t gfp_flag);
>  
>  /*
>   * Inform qgroup to trace all leaf items of data
> diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
> index 7b7498f1f641..10f6a4223897 100644
> --- a/fs/btrfs/tree-log.c
> +++ b/fs/btrfs/tree-log.c
> @@ -685,7 +685,7 @@ static noinline int replay_one_extent(struct btrfs_trans_handle *trans,
>  		 * as the owner of the file extent changed from log tree
>  		 * (doesn't affect qgroup) to fs/file tree(affects qgroup)
>  		 */
> -		ret = btrfs_qgroup_trace_extent(trans, fs_info,
> +		ret = btrfs_qgroup_trace_extent(trans,
>  				btrfs_file_extent_disk_bytenr(eb, item),
>  				btrfs_file_extent_disk_num_bytes(eb, item),
>  				GFP_NOFS);
> 


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

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

* Re: [PATCH 00/19] qgroup unused parameter cleanup
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (18 preceding siblings ...)
  2018-07-18  6:45 ` [PATCH 19/19] btrfs: qgroup: Drop fs_info parameter from qgroup_rescan_leaf Lu Fengqi
@ 2018-07-18  7:00 ` Qu Wenruo
  2018-07-18 13:36 ` David Sterba
  20 siblings, 0 replies; 26+ messages in thread
From: Qu Wenruo @ 2018-07-18  7:00 UTC (permalink / raw)
  To: Lu Fengqi, linux-btrfs


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



On 2018年07月18日 14:45, Lu Fengqi wrote:
> The transaction handler can provide fs_info, so we can fetch fs_info or
> quota_root(indirectly) from trans. Just remove the redundant parameter
> from qgroup functions.
> 
> No functional change.

The whole serious looks pretty good.

Although for some call sites, we have extra check on NULL trans and
return -EINVAL (should be ASSERT though).
Maybe it's a good time to remove that paranoid check?

Thanks,
Qu

> 
> Lu Fengqi (19):
>   btrfs: qgroup: Drop quota_root parameter from add_qgroup_relation_item
>   btrfs: qgroup: Drop quota_root parameter from del_qgroup_relation_item
>   btrfs: qgroup: Drop quota_root parameter from del_qgroup_item
>   btrfs: qgroup: Drop root parameter from update_qgroup_limit_item
>   btrfs: qgroup: Drop root parameter from update_qgroup_info_item
>   btrfs: qgroup: Drop quota_root and fs_info parameters from
>     update_qgroup_status_item
>   btrfs: qgroup: Drop fs_info parameter from btrfs_add_qgroup_relation
>   btrfs: qgroup: Drop fs_info parameter from __del_qgroup_relation
>   btrfs: qgroup: Drop fs_info parameter from btrfs_del_qgroup_relation
>   btrfs: qgroup: Drop fs_info parameter from btrfs_create_qgroup
>   btrfs: qgroup: Drop fs_info parameter from btrfs_remove_qgroup
>   btrfs: qgroup: Drop fs_info parameter from btrfs_limit_qgroup
>   btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_trace_extent
>   btrfs: qgroup: Drop fs_info parameter from
>     btrfs_qgroup_trace_leaf_items
>   btrfs: qgroup: Drop root parameter from btrfs_qgroup_trace_subtree
>   btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_account_extent
>   btrfs: qgroup: Drop fs_info parameter from btrfs_run_qgroups
>   btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_inherit
>   btrfs: qgroup: Drop fs_info parameter from qgroup_rescan_leaf
> 
>  fs/btrfs/extent-tree.c        |   4 +-
>  fs/btrfs/ioctl.c              |  18 ++--
>  fs/btrfs/qgroup.c             | 163 +++++++++++++++++-----------------
>  fs/btrfs/qgroup.h             |  40 ++++-----
>  fs/btrfs/relocation.c         |   5 +-
>  fs/btrfs/tests/qgroup-tests.c |  24 ++---
>  fs/btrfs/transaction.c        |   5 +-
>  fs/btrfs/tree-log.c           |   2 +-
>  8 files changed, 123 insertions(+), 138 deletions(-)
> 


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

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

* Re: [PATCH 13/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_trace_extent
  2018-07-18  6:58   ` Qu Wenruo
@ 2018-07-18  7:54     ` Lu Fengqi
  2018-07-18  8:02       ` Qu Wenruo
  0 siblings, 1 reply; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  7:54 UTC (permalink / raw)
  To: Qu Wenruo; +Cc: linux-btrfs

On Wed, Jul 18, 2018 at 02:58:06PM +0800, Qu Wenruo wrote:
>
>
>On 2018年07月18日 14:45, Lu Fengqi wrote:
>> It can be fetched from the transaction handle.
>> 
>> Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
>> ---
>>  fs/btrfs/qgroup.c   | 13 ++++++-------
>>  fs/btrfs/qgroup.h   |  5 ++---
>>  fs/btrfs/tree-log.c |  2 +-
>>  3 files changed, 9 insertions(+), 11 deletions(-)
>> 
>> diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
>> index c85c1a0e933a..01add73cb2aa 100644
>> --- a/fs/btrfs/qgroup.c
>> +++ b/fs/btrfs/qgroup.c
>> @@ -1579,10 +1579,10 @@ int btrfs_qgroup_trace_extent_post(struct btrfs_fs_info *fs_info,
>>  	return 0;
>>  }
>>  
>> -int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans,
>> -		struct btrfs_fs_info *fs_info, u64 bytenr, u64 num_bytes,
>> -		gfp_t gfp_flag)
>> +int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans, u64 bytenr,
>> +			      u64 num_bytes, gfp_t gfp_flag)
>>  {
>> +	struct btrfs_fs_info *fs_info = trans->fs_info;
>
>Just lines below, we do extra WARN_ON(trans == NULL).
>So if we really hit some case with NULL trans, this would cause a NULL
>pointer dereference.
>
>Although I have to admit, I'm a little paranoid about possible NULL
>trans passed in.
>So maybe it's a good timing to remove that WARN_ON() too?

Sorry, I didn't notice this WARN_ON(trans == NULL). However, I have
confirmed that the callers of btrfs_qgroup_trace_{extent, leaf_items,
subtree} should never pass NULL as trans. In my opinion the WARN_ON() can
be removed without any bad effect.

-- 
Thanks,
Lu

>
>Thanks,
>Qu
>
>>  	struct btrfs_qgroup_extent_record *record;
>>  	struct btrfs_delayed_ref_root *delayed_refs;
>>  	int ret;
>> @@ -1644,8 +1644,8 @@ int btrfs_qgroup_trace_leaf_items(struct btrfs_trans_handle *trans,
>>  
>>  		num_bytes = btrfs_file_extent_disk_num_bytes(eb, fi);
>>  
>> -		ret = btrfs_qgroup_trace_extent(trans, fs_info, bytenr,
>> -						num_bytes, GFP_NOFS);
>> +		ret = btrfs_qgroup_trace_extent(trans, bytenr, num_bytes,
>> +						GFP_NOFS);
>>  		if (ret)
>>  			return ret;
>>  	}
>> @@ -1796,8 +1796,7 @@ int btrfs_qgroup_trace_subtree(struct btrfs_trans_handle *trans,
>>  			btrfs_set_lock_blocking_rw(eb, BTRFS_READ_LOCK);
>>  			path->locks[level] = BTRFS_READ_LOCK_BLOCKING;
>>  
>> -			ret = btrfs_qgroup_trace_extent(trans, fs_info,
>> -							child_bytenr,
>> +			ret = btrfs_qgroup_trace_extent(trans, child_bytenr,
>>  							fs_info->nodesize,
>>  							GFP_NOFS);
>>  			if (ret)
>> diff --git a/fs/btrfs/qgroup.h b/fs/btrfs/qgroup.h
>> index 385367989ed6..0215dc0b1710 100644
>> --- a/fs/btrfs/qgroup.h
>> +++ b/fs/btrfs/qgroup.h
>> @@ -212,9 +212,8 @@ int btrfs_qgroup_trace_extent_post(struct btrfs_fs_info *fs_info,
>>   * Return <0 for error, like memory allocation failure or invalid parameter
>>   * (NULL trans)
>>   */
>> -int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans,
>> -		struct btrfs_fs_info *fs_info, u64 bytenr, u64 num_bytes,
>> -		gfp_t gfp_flag);
>> +int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans, u64 bytenr,
>> +			      u64 num_bytes, gfp_t gfp_flag);
>>  
>>  /*
>>   * Inform qgroup to trace all leaf items of data
>> diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
>> index 7b7498f1f641..10f6a4223897 100644
>> --- a/fs/btrfs/tree-log.c
>> +++ b/fs/btrfs/tree-log.c
>> @@ -685,7 +685,7 @@ static noinline int replay_one_extent(struct btrfs_trans_handle *trans,
>>  		 * as the owner of the file extent changed from log tree
>>  		 * (doesn't affect qgroup) to fs/file tree(affects qgroup)
>>  		 */
>> -		ret = btrfs_qgroup_trace_extent(trans, fs_info,
>> +		ret = btrfs_qgroup_trace_extent(trans,
>>  				btrfs_file_extent_disk_bytenr(eb, item),
>>  				btrfs_file_extent_disk_num_bytes(eb, item),
>>  				GFP_NOFS);
>> 
>



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

* Re: [PATCH 13/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_trace_extent
  2018-07-18  7:54     ` Lu Fengqi
@ 2018-07-18  8:02       ` Qu Wenruo
  0 siblings, 0 replies; 26+ messages in thread
From: Qu Wenruo @ 2018-07-18  8:02 UTC (permalink / raw)
  To: Lu Fengqi; +Cc: linux-btrfs


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



On 2018年07月18日 15:54, Lu Fengqi wrote:
> On Wed, Jul 18, 2018 at 02:58:06PM +0800, Qu Wenruo wrote:
>>
>>
>> On 2018年07月18日 14:45, Lu Fengqi wrote:
>>> It can be fetched from the transaction handle.
>>>
>>> Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
>>> ---
>>>  fs/btrfs/qgroup.c   | 13 ++++++-------
>>>  fs/btrfs/qgroup.h   |  5 ++---
>>>  fs/btrfs/tree-log.c |  2 +-
>>>  3 files changed, 9 insertions(+), 11 deletions(-)
>>>
>>> diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
>>> index c85c1a0e933a..01add73cb2aa 100644
>>> --- a/fs/btrfs/qgroup.c
>>> +++ b/fs/btrfs/qgroup.c
>>> @@ -1579,10 +1579,10 @@ int btrfs_qgroup_trace_extent_post(struct btrfs_fs_info *fs_info,
>>>  	return 0;
>>>  }
>>>  
>>> -int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans,
>>> -		struct btrfs_fs_info *fs_info, u64 bytenr, u64 num_bytes,
>>> -		gfp_t gfp_flag)
>>> +int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans, u64 bytenr,
>>> +			      u64 num_bytes, gfp_t gfp_flag)
>>>  {
>>> +	struct btrfs_fs_info *fs_info = trans->fs_info;
>>
>> Just lines below, we do extra WARN_ON(trans == NULL).
>> So if we really hit some case with NULL trans, this would cause a NULL
>> pointer dereference.
>>
>> Although I have to admit, I'm a little paranoid about possible NULL
>> trans passed in.
>> So maybe it's a good timing to remove that WARN_ON() too?
> 
> Sorry, I didn't notice this WARN_ON(trans == NULL). However, I have
> confirmed that the callers of btrfs_qgroup_trace_{extent, leaf_items,
> subtree} should never pass NULL as trans. In my opinion the WARN_ON() can
> be removed without any bad effect.
> 
Then removing that WARN_ON() would be pretty nice.

Thanks,
Qu


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

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

* [PATCH v2 13/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_trace_extent
  2018-07-18  6:45 ` [PATCH 13/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_trace_extent Lu Fengqi
  2018-07-18  6:58   ` Qu Wenruo
@ 2018-07-18  8:28   ` Lu Fengqi
  1 sibling, 0 replies; 26+ messages in thread
From: Lu Fengqi @ 2018-07-18  8:28 UTC (permalink / raw)
  To: linux-btrfs

It can be fetched from the transaction handle. In addition, remove the
WARN_ON(trans == NULL) because there shouldn't hit this condition.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
---
v2:
Remove the WARN_ON(trans == NULL) suggested by Qu Wenruo.

 fs/btrfs/qgroup.c   | 15 ++++++---------
 fs/btrfs/qgroup.h   |  5 ++---
 fs/btrfs/tree-log.c |  2 +-
 3 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index c85c1a0e933a..7621ad34244f 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -1579,10 +1579,10 @@ int btrfs_qgroup_trace_extent_post(struct btrfs_fs_info *fs_info,
 	return 0;
 }
 
-int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans,
-		struct btrfs_fs_info *fs_info, u64 bytenr, u64 num_bytes,
-		gfp_t gfp_flag)
+int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans, u64 bytenr,
+			      u64 num_bytes, gfp_t gfp_flag)
 {
+	struct btrfs_fs_info *fs_info = trans->fs_info;
 	struct btrfs_qgroup_extent_record *record;
 	struct btrfs_delayed_ref_root *delayed_refs;
 	int ret;
@@ -1590,8 +1590,6 @@ int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans,
 	if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)
 	    || bytenr == 0 || num_bytes == 0)
 		return 0;
-	if (WARN_ON(trans == NULL))
-		return -EINVAL;
 	record = kmalloc(sizeof(*record), gfp_flag);
 	if (!record)
 		return -ENOMEM;
@@ -1644,8 +1642,8 @@ int btrfs_qgroup_trace_leaf_items(struct btrfs_trans_handle *trans,
 
 		num_bytes = btrfs_file_extent_disk_num_bytes(eb, fi);
 
-		ret = btrfs_qgroup_trace_extent(trans, fs_info, bytenr,
-						num_bytes, GFP_NOFS);
+		ret = btrfs_qgroup_trace_extent(trans, bytenr, num_bytes,
+						GFP_NOFS);
 		if (ret)
 			return ret;
 	}
@@ -1796,8 +1794,7 @@ int btrfs_qgroup_trace_subtree(struct btrfs_trans_handle *trans,
 			btrfs_set_lock_blocking_rw(eb, BTRFS_READ_LOCK);
 			path->locks[level] = BTRFS_READ_LOCK_BLOCKING;
 
-			ret = btrfs_qgroup_trace_extent(trans, fs_info,
-							child_bytenr,
+			ret = btrfs_qgroup_trace_extent(trans, child_bytenr,
 							fs_info->nodesize,
 							GFP_NOFS);
 			if (ret)
diff --git a/fs/btrfs/qgroup.h b/fs/btrfs/qgroup.h
index 385367989ed6..0215dc0b1710 100644
--- a/fs/btrfs/qgroup.h
+++ b/fs/btrfs/qgroup.h
@@ -212,9 +212,8 @@ int btrfs_qgroup_trace_extent_post(struct btrfs_fs_info *fs_info,
  * Return <0 for error, like memory allocation failure or invalid parameter
  * (NULL trans)
  */
-int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans,
-		struct btrfs_fs_info *fs_info, u64 bytenr, u64 num_bytes,
-		gfp_t gfp_flag);
+int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans, u64 bytenr,
+			      u64 num_bytes, gfp_t gfp_flag);
 
 /*
  * Inform qgroup to trace all leaf items of data
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index 7b7498f1f641..10f6a4223897 100644
--- a/fs/btrfs/tree-log.c
+++ b/fs/btrfs/tree-log.c
@@ -685,7 +685,7 @@ static noinline int replay_one_extent(struct btrfs_trans_handle *trans,
 		 * as the owner of the file extent changed from log tree
 		 * (doesn't affect qgroup) to fs/file tree(affects qgroup)
 		 */
-		ret = btrfs_qgroup_trace_extent(trans, fs_info,
+		ret = btrfs_qgroup_trace_extent(trans,
 				btrfs_file_extent_disk_bytenr(eb, item),
 				btrfs_file_extent_disk_num_bytes(eb, item),
 				GFP_NOFS);
-- 
2.18.0




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

* Re: [PATCH 00/19] qgroup unused parameter cleanup
  2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
                   ` (19 preceding siblings ...)
  2018-07-18  7:00 ` [PATCH 00/19] qgroup unused parameter cleanup Qu Wenruo
@ 2018-07-18 13:36 ` David Sterba
  20 siblings, 0 replies; 26+ messages in thread
From: David Sterba @ 2018-07-18 13:36 UTC (permalink / raw)
  To: Lu Fengqi; +Cc: linux-btrfs

On Wed, Jul 18, 2018 at 02:45:23PM +0800, Lu Fengqi wrote:
> The transaction handler can provide fs_info, so we can fetch fs_info or
> quota_root(indirectly) from trans. Just remove the redundant parameter
> from qgroup functions.

Added to misc-next now, thanks.

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

end of thread, other threads:[~2018-07-18 14:14 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-18  6:45 [PATCH 00/19] qgroup unused parameter cleanup Lu Fengqi
2018-07-18  6:45 ` [PATCH 01/19] btrfs: qgroup: Drop quota_root parameter from add_qgroup_relation_item Lu Fengqi
2018-07-18  6:45 ` [PATCH 02/19] btrfs: qgroup: Drop quota_root parameter from del_qgroup_relation_item Lu Fengqi
2018-07-18  6:45 ` [PATCH 03/19] btrfs: qgroup: Drop quota_root parameter from del_qgroup_item Lu Fengqi
2018-07-18  6:45 ` [PATCH 04/19] btrfs: qgroup: Drop root parameter from update_qgroup_limit_item Lu Fengqi
2018-07-18  6:45 ` [PATCH 05/19] btrfs: qgroup: Drop root parameter from update_qgroup_info_item Lu Fengqi
2018-07-18  6:45 ` [PATCH 06/19] btrfs: qgroup: Drop quota_root and fs_info parameters from update_qgroup_status_item Lu Fengqi
2018-07-18  6:45 ` [PATCH 07/19] btrfs: qgroup: Drop fs_info parameter from btrfs_add_qgroup_relation Lu Fengqi
2018-07-18  6:45 ` [PATCH 08/19] btrfs: qgroup: Drop fs_info parameter from __del_qgroup_relation Lu Fengqi
2018-07-18  6:45 ` [PATCH 09/19] btrfs: qgroup: Drop fs_info parameter from btrfs_del_qgroup_relation Lu Fengqi
2018-07-18  6:45 ` [PATCH 10/19] btrfs: qgroup: Drop fs_info parameter from btrfs_create_qgroup Lu Fengqi
2018-07-18  6:45 ` [PATCH 11/19] btrfs: qgroup: Drop fs_info parameter from btrfs_remove_qgroup Lu Fengqi
2018-07-18  6:45 ` [PATCH 12/19] btrfs: qgroup: Drop fs_info parameter from btrfs_limit_qgroup Lu Fengqi
2018-07-18  6:45 ` [PATCH 13/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_trace_extent Lu Fengqi
2018-07-18  6:58   ` Qu Wenruo
2018-07-18  7:54     ` Lu Fengqi
2018-07-18  8:02       ` Qu Wenruo
2018-07-18  8:28   ` [PATCH v2 " Lu Fengqi
2018-07-18  6:45 ` [PATCH 14/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_trace_leaf_items Lu Fengqi
2018-07-18  6:45 ` [PATCH 15/19] btrfs: qgroup: Drop root parameter from btrfs_qgroup_trace_subtree Lu Fengqi
2018-07-18  6:45 ` [PATCH 16/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_account_extent Lu Fengqi
2018-07-18  6:45 ` [PATCH 17/19] btrfs: qgroup: Drop fs_info parameter from btrfs_run_qgroups Lu Fengqi
2018-07-18  6:45 ` [PATCH 18/19] btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_inherit Lu Fengqi
2018-07-18  6:45 ` [PATCH 19/19] btrfs: qgroup: Drop fs_info parameter from qgroup_rescan_leaf Lu Fengqi
2018-07-18  7:00 ` [PATCH 00/19] qgroup unused parameter cleanup Qu Wenruo
2018-07-18 13:36 ` 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.