Whamcloud - gitweb
LU-4913 mgc: mgc import reconnect race 67/9967/6
authorAndriy Skulysh <Andriy_Skulysh@xyratex.com>
Thu, 15 May 2014 12:29:12 +0000 (15:29 +0300)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 23 May 2014 05:26:35 +0000 (05:26 +0000)
commitcae32fb38f0754ab2f8eae89ffe9151c6c194ef8
tree41fd9100c2cd57e86b2abbb5abfb419eb8c1689e
parent7936ec229c7f62cfbf5a0e4ff5933149967e7c8f
LU-4913 mgc: mgc import reconnect race

mgc import can be reconnected by pinger or
ptlrpc_reconnect_import().
ptlrpc_invalidate_import() isn't protected against
alteration of imp_invalid state. Import can be
reconnected by pinger which makes imp_invalid
equal to false. Thus LASSERT(imp->imp_invalid) fails
in ptlrpc_invalidate_import().

It is safe to call ptlrpc_invalidate_import() when
import is deactivated, but ptlrpc_reconnect_import() doesn't
deactivate it.
Let's use only pinger when available to reconnect import

Xyratex-bug-id: MRP-1746
Change-Id: I2feb45c5f3e96da30dd5639d5824068f8a126c7d
Signed-off-by: Andriy Skulysh <Andriy_Skulysh@xyratex.com>
Reviewed-on: http://review.whamcloud.com/9967
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/mgs/mgs_handler.c
lustre/obdclass/obd_mount.c
lustre/ptlrpc/import.c
lustre/ptlrpc/pinger.c
lustre/tests/conf-sanity.sh