Whamcloud - gitweb
LU-6684 lfsck: stop lfsck even if some servers offline 32/17032/6
authorFan Yong <fan.yong@intel.com>
Wed, 23 Sep 2015 05:40:46 +0000 (13:40 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 14 Jan 2016 03:59:26 +0000 (03:59 +0000)
commitafcf3026c6ad203b9882eaeac76326357f26fe71
treebaf5cedea59ffadb5f93a24748587b138afb1604
parentec9078afb635e8a64a4906b09dc99a2ab90e321b
LU-6684 lfsck: stop lfsck even if some servers offline

It is possible that during the LFSCK scanning, some server, MDT
or OST, maybe offline. At that time, if the LFSCK needs to talk
with such offline server, related RPC will trigger reconnect to
the offline server, and the LFSCK engine has to wait there till
the offline server become online or someone deactive the server
by force. Under such case, if the admin wants to stop the LFSCK,
the stop request will be blocked. It is NOT good usage.

This patch allows the lfsck_stop sponsor to send SIGINT signal
to the LFSCK engine to make it awake from the infinite waiting
status, then the LFSCK can be stopped even if some servers are
offline.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I07e7ae7ca98ebf213888b58d615ae8001d28afbe
Reviewed-on: http://review.whamcloud.com/17032
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/include/lustre_net.h
lustre/include/obd_support.h
lustre/lfsck/lfsck_engine.c
lustre/lfsck/lfsck_internal.h
lustre/lfsck/lfsck_layout.c
lustre/lfsck/lfsck_lib.c
lustre/lfsck/lfsck_namespace.c
lustre/obdclass/obd_mount_server.c
lustre/osp/osp_trans.c
lustre/ptlrpc/client.c
lustre/tests/sanity-lfsck.sh