Whamcloud - gitweb
LU-8569 lfsck: cleanup lfsck requests list before exit 23/22723/5
authorFan Yong <fan.yong@intel.com>
Sat, 16 Jul 2016 21:42:03 +0000 (05:42 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 20 Oct 2016 10:35:45 +0000 (10:35 +0000)
commit445da16c2ac0475b1c1077c822800b68cdbb7ce3
tree4871810a95ca5590356c75a3640f1e1e3f8679f3
parentbdb254df1060f1ad4b21d53396b5b4014c926758
LU-8569 lfsck: cleanup lfsck requests list before exit

When the lfsck assistant thread hits some failure and exit
at the second stage scanning, it does not cleanup the requests
list 'lfsck_assistant_data::lad_req_list', that may cause the
lfsck main engine hit "LASSERT(list_empty(&lad->lad_req_list))"
when handles double scan.

This patch unifies the assistant thread exit process: before
cleanup the list 'lfsck_assistant_data::lad_req_list' set the
thread as "stopping" to prevent more lfsck requests being added,
then cleanup the list 'lfsck_assistant_data::lad_req_list'.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I7facd20e2742c7ad5d4fbee1c975dacd8f6ea363
Reviewed-on: http://review.whamcloud.com/22723
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/lfsck/lfsck_engine.c
lustre/lfsck/lfsck_layout.c
lustre/lfsck/lfsck_namespace.c