Whamcloud - gitweb
LU-989 ldlm: Fix client's import destruction
[fs/lustre-release.git] / lustre / ldlm / ldlm_lib.c
index 44bdcd4..6c13613 100644 (file)
@@ -226,6 +226,7 @@ void client_destroy_import(struct obd_import *imp)
         sptlrpc_import_sec_put(imp);
         class_import_put(imp);
 }
+EXPORT_SYMBOL(client_destroy_import);
 
 /* configure an RPC client OBD device
  *
@@ -428,6 +429,8 @@ int client_obd_cleanup(struct obd_device *obddev)
         ldlm_namespace_free_post(obddev->obd_namespace);
         obddev->obd_namespace = NULL;
 
+        LASSERT(obddev->u.cli.cl_import == NULL);
+
         ldlm_put_ref();
         RETURN(0);
 }
@@ -560,13 +563,6 @@ int client_disconnect_export(struct obd_export *exp)
 
         ptlrpc_invalidate_import(imp);
 
-        if (imp->imp_rq_pool) {
-                ptlrpc_free_rq_pool(imp->imp_rq_pool);
-                imp->imp_rq_pool = NULL;
-        }
-        client_destroy_import(imp);
-        cli->cl_import = NULL;
-
         EXIT;
 
  out_disconnect: