[PATCH 05/47] staging/lustre/osc: don't activate deactivated obd_import

Oleg Drokin green at linuxhacker.ru
Sun Apr 27 17:06:29 UTC 2014


From: Hongchao Zhang <hongchao.zhang at intel.com>

In ptlrpc_activate_import(), obd_import->imp_deactive should
be checked if it is deactivated, otherwise it will trigger an
LBUG in ptlrpc_invalidate_import():

  ptlrpc_invalidate_import() ASSERTION(imp->imp_invalid) failed

Signed-off-by: Hongchao Zhang <hongchao.zhang at intel.com>
Reviewed-on: http://review.whamcloud.com/8747
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4386
Reviewed-by: Andreas Dilger <andreas.dilger at intel.com>
Reviewed-by: Fan Yong <fan.yong at intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin at intel.com>
---
 drivers/staging/lustre/lustre/ptlrpc/import.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/staging/lustre/lustre/ptlrpc/import.c b/drivers/staging/lustre/lustre/ptlrpc/import.c
index 537aa62..a04a1cc 100644
--- a/drivers/staging/lustre/lustre/ptlrpc/import.c
+++ b/drivers/staging/lustre/lustre/ptlrpc/import.c
@@ -381,6 +381,11 @@ void ptlrpc_activate_import(struct obd_import *imp)
 	struct obd_device *obd = imp->imp_obd;
 
 	spin_lock(&imp->imp_lock);
+	if (imp->imp_deactive != 0) {
+		spin_unlock(&imp->imp_lock);
+		return;
+	}
+
 	imp->imp_invalid = 0;
 	spin_unlock(&imp->imp_lock);
 	obd_import_event(obd, imp, IMP_EVENT_ACTIVE);
-- 
1.8.5.3



More information about the devel mailing list