Skip to content
Snippets Groups Projects
Commit be7f2079 authored by Johann Lombardi's avatar Johann Lombardi
Browse files

Branch b1_6

b=15069
i=rread
i=wangdi

Skip the "sleep until imp_inflight == 0" part when invalidating an mgc import
which is already invalid.
parent 943e3b15
No related merge requests found
...@@ -199,7 +199,14 @@ void ptlrpc_invalidate_import(struct obd_import *imp) ...@@ -199,7 +199,14 @@ void ptlrpc_invalidate_import(struct obd_import *imp)
atomic_inc(&imp->imp_inval_count); atomic_inc(&imp->imp_inval_count);
if (!imp->imp_invalid) /*
* If this is an invalid MGC connection, then don't bother
* waiting for imp_inflight to drop to 0.
*/
if (imp->imp_invalid && imp->imp_recon_bk && !imp->imp_obd->obd_no_recov)
goto out;
if (!imp->imp_invalid || imp->imp_obd->obd_no_recov)
ptlrpc_deactivate_import(imp); ptlrpc_deactivate_import(imp);
LASSERT(imp->imp_invalid); LASSERT(imp->imp_invalid);
...@@ -230,8 +237,9 @@ void ptlrpc_invalidate_import(struct obd_import *imp) ...@@ -230,8 +237,9 @@ void ptlrpc_invalidate_import(struct obd_import *imp)
LASSERT(atomic_read(&imp->imp_inflight) == 0); LASSERT(atomic_read(&imp->imp_inflight) == 0);
} }
out:
obd_import_event(imp->imp_obd, imp, IMP_EVENT_INVALIDATE); obd_import_event(imp->imp_obd, imp, IMP_EVENT_INVALIDATE);
atomic_dec(&imp->imp_inval_count); atomic_dec(&imp->imp_inval_count);
cfs_waitq_signal(&imp->imp_recovery_waitq); cfs_waitq_signal(&imp->imp_recovery_waitq);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment