diff options
author | Oleg Drokin <green@linuxhacker.ru> | 2015-10-01 00:12:28 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-10-02 11:17:19 +0200 |
commit | 4889fd37f50f361716764c26121e3b7cbf741bc3 (patch) | |
tree | 4fca9df4da192cf9c43190e91ec3f9e650206b04 /drivers/staging/lustre/lustre/ldlm/ldlm_resource.c | |
parent | 996cbc63df2538b36ae7ce192d333dcd2454789e (diff) | |
download | op-kernel-dev-4889fd37f50f361716764c26121e3b7cbf741bc3.zip op-kernel-dev-4889fd37f50f361716764c26121e3b7cbf741bc3.tar.gz |
staging/lustre/ldlm: Remove ldlm_namespace_free()
It was directly used only on the server. Client side part
was split into smaller chunks to avoid deadlocks.
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/lustre/lustre/ldlm/ldlm_resource.c')
-rw-r--r-- | drivers/staging/lustre/lustre/ldlm/ldlm_resource.c | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/drivers/staging/lustre/lustre/ldlm/ldlm_resource.c b/drivers/staging/lustre/lustre/ldlm/ldlm_resource.c index dac2ec2..cd65efe 100644 --- a/drivers/staging/lustre/lustre/ldlm/ldlm_resource.c +++ b/drivers/staging/lustre/lustre/ldlm/ldlm_resource.c @@ -948,33 +948,6 @@ void ldlm_namespace_free_post(struct ldlm_namespace *ns) ldlm_put_ref(); } -/** - * Cleanup the resource, and free namespace. - * bug 12864: - * Deadlock issue: - * proc1: destroy import - * class_disconnect_export(grab cl_sem) -> - * -> ldlm_namespace_free -> - * -> ldebugfs_remove(grab _lprocfs_lock). - * proc2: read proc info - * lprocfs_fops_read(grab _lprocfs_lock) -> - * -> osc_rd_active, etc(grab cl_sem). - * - * So that I have to split the ldlm_namespace_free into two parts - the first - * part ldlm_namespace_free_prior is used to cleanup the resource which is - * being used; the 2nd part ldlm_namespace_free_post is used to unregister the - * lprocfs entries, and then free memory. It will be called w/o cli->cl_sem - * held. - */ -void ldlm_namespace_free(struct ldlm_namespace *ns, - struct obd_import *imp, - int force) -{ - ldlm_namespace_free_prior(ns, imp, force); - ldlm_namespace_free_post(ns); -} -EXPORT_SYMBOL(ldlm_namespace_free); - void ldlm_namespace_get(struct ldlm_namespace *ns) { atomic_inc(&ns->ns_bref); |