libceph: using kfree_rcu() to simplify the code
The callback function of call_rcu() just calls a kfree(), so we can use kfree_rcu() instead of call_rcu() + callback function. Signed-off-by: Wei Yongjun <weiyj.lk@gmail.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
parent
f52ec33cbd
commit
864364a29c
@ -84,12 +84,6 @@ retry:
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(ceph_find_or_create_string);
|
EXPORT_SYMBOL(ceph_find_or_create_string);
|
||||||
|
|
||||||
static void ceph_free_string(struct rcu_head *head)
|
|
||||||
{
|
|
||||||
struct ceph_string *cs = container_of(head, struct ceph_string, rcu);
|
|
||||||
kfree(cs);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ceph_release_string(struct kref *ref)
|
void ceph_release_string(struct kref *ref)
|
||||||
{
|
{
|
||||||
struct ceph_string *cs = container_of(ref, struct ceph_string, kref);
|
struct ceph_string *cs = container_of(ref, struct ceph_string, kref);
|
||||||
@ -101,7 +95,7 @@ void ceph_release_string(struct kref *ref)
|
|||||||
}
|
}
|
||||||
spin_unlock(&string_tree_lock);
|
spin_unlock(&string_tree_lock);
|
||||||
|
|
||||||
call_rcu(&cs->rcu, ceph_free_string);
|
kfree_rcu(cs, rcu);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(ceph_release_string);
|
EXPORT_SYMBOL(ceph_release_string);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user