summaryrefslogtreecommitdiffstats
path: root/drivers/staging/lustre/lustre/ldlm/ldlm_pool.c
diff options
context:
space:
mode:
authorOleg Drokin <green@linuxhacker.ru>2015-07-06 12:48:41 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-07-13 19:47:19 -0700
commitfaa7a4e3e03889267f66a98d85434b4ff7dd0087 (patch)
tree5364a12c5a8371cab5b6247103a6d7a180dfca54 /drivers/staging/lustre/lustre/ldlm/ldlm_pool.c
parent6a491f2b80f2806221ba3a5a3e26fbe945f82d83 (diff)
downloadop-kernel-dev-faa7a4e3e03889267f66a98d85434b4ff7dd0087.zip
op-kernel-dev-faa7a4e3e03889267f66a98d85434b4ff7dd0087.tar.gz
staging/lustre/ldlm: In ldlm_pools_fini make sure there was init first.
It turns out if you call ldlm_pools_fini without completing the ldlm_pools_init, then attempt to unregister not yet registered shrinkers makes the kernel very unhappy. So make sure we have them registered first. 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_pool.c')
-rw-r--r--drivers/staging/lustre/lustre/ldlm/ldlm_pool.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/staging/lustre/lustre/ldlm/ldlm_pool.c b/drivers/staging/lustre/lustre/ldlm/ldlm_pool.c
index 4519d77..c234acb 100644
--- a/drivers/staging/lustre/lustre/ldlm/ldlm_pool.c
+++ b/drivers/staging/lustre/lustre/ldlm/ldlm_pool.c
@@ -1486,8 +1486,10 @@ EXPORT_SYMBOL(ldlm_pools_init);
void ldlm_pools_fini(void)
{
- unregister_shrinker(&ldlm_pools_srv_shrinker);
- unregister_shrinker(&ldlm_pools_cli_shrinker);
+ if (ldlm_pools_thread) {
+ unregister_shrinker(&ldlm_pools_srv_shrinker);
+ unregister_shrinker(&ldlm_pools_cli_shrinker);
+ }
ldlm_pools_thread_stop();
}
EXPORT_SYMBOL(ldlm_pools_fini);
OpenPOWER on IntegriCloud