|
@@ -299,8 +299,11 @@ static int dlm_recoverd(void *arg)
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
if (!test_bit(LSFL_RECOVER_WORK, &ls->ls_flags) &&
|
|
if (!test_bit(LSFL_RECOVER_WORK, &ls->ls_flags) &&
|
|
- !test_bit(LSFL_RECOVER_DOWN, &ls->ls_flags))
|
|
|
|
|
|
+ !test_bit(LSFL_RECOVER_DOWN, &ls->ls_flags)) {
|
|
|
|
+ if (kthread_should_stop())
|
|
|
|
+ break;
|
|
schedule();
|
|
schedule();
|
|
|
|
+ }
|
|
set_current_state(TASK_RUNNING);
|
|
set_current_state(TASK_RUNNING);
|
|
|
|
|
|
if (test_and_clear_bit(LSFL_RECOVER_DOWN, &ls->ls_flags)) {
|
|
if (test_and_clear_bit(LSFL_RECOVER_DOWN, &ls->ls_flags)) {
|