The callback function of call_rcu() just calls kvfree(). So, use kvfree_rcu() instead of call_rcu() + callback function.
Signed-off-by: Li RongQing <[email protected]> --- fs/bcachefs/buckets.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/fs/bcachefs/buckets.c b/fs/bcachefs/buckets.c index 345b117a4..6d236fa 100644 --- a/fs/bcachefs/buckets.c +++ b/fs/bcachefs/buckets.c @@ -1270,14 +1270,6 @@ int bch2_buckets_nouse_alloc(struct bch_fs *c) return 0; } -static void bucket_gens_free_rcu(struct rcu_head *rcu) -{ - struct bucket_gens *buckets = - container_of(rcu, struct bucket_gens, rcu); - - kvfree(buckets); -} - int bch2_dev_buckets_resize(struct bch_fs *c, struct bch_dev *ca, u64 nbuckets) { struct bucket_gens *bucket_gens = NULL, *old_bucket_gens = NULL; @@ -1322,7 +1314,7 @@ int bch2_dev_buckets_resize(struct bch_fs *c, struct bch_dev *ca, u64 nbuckets) ret = 0; err: if (bucket_gens) - call_rcu(&bucket_gens->rcu, bucket_gens_free_rcu); + kvfree_rcu(bucket_gens, rcu); return ret; } -- 2.9.4
