Whamcloud - gitweb
LU-4943 obdclass: detach MGC dev on error 29/10129/14
authorBobi Jam <bobijam.xu@intel.com>
Mon, 28 Apr 2014 15:40:27 +0000 (23:40 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Sat, 11 Oct 2014 04:10:03 +0000 (04:10 +0000)
commite0d53481a038828094a80ea1e36030772fcbf4e7
tree1c17613c20aed3971a0d8e75da97188fbaedf44d
parentf74ace3919d60dc05664caa32f5a79abc3a2fe91
LU-4943 obdclass: detach MGC dev on error

lustre_start_mgc() creates MGC device, if error happens later on
ll_fill_super(), this device is still attached, and later mount
fails by keep complaining that the MGC device's already in the
client node.

It turns out that the device was referenced by mgc config llog data
which is arranged in the mgc lock requeue thread re-trying to get its
mgc lock, and in normal case, this llog reference only released in
mgc_blocking_ast() when the system is umount.

This patch make mgc_precleanup() to wake up requeue thread to handle
the config llog data.

This patch also makes mgc_setup() wait for mgc_requeue_thread() start
before moving on.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: I83df8c68c1dbe4ef4ee879e04ab20df46fea9062
Reviewed-on: http://review.whamcloud.com/10129
Tested-by: Jenkins
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Ryan Haasken <haasken@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/mgc/mgc_request.c