From: Sergey Cheremencev Date: Wed, 20 Jan 2016 20:57:01 +0000 (+0300) Subject: LU-12412 recovery: wake all waiters of trd_finishing X-Git-Tag: 2.12.55~5 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F41%2F35141%2F2;p=fs%2Flustre-release.git LU-12412 recovery: wake all waiters of trd_finishing There is a small window where lctl --device abort_recovery and umount->...->stop_recovery_thread may be called before recovery finish. In such case all threads need to be waked up, so change complete to complete_all. Cray-bug-id: LUS-2000 Change-Id: I01ef163e72c7691a2c2d5449adf55b55ec734c4d Signed-off-by: Sergey Cheremencev Reviewed-by: Andriy Skulysh Reviewed-by: Vladimir Saveliev Reviewed-on: https://review.whamcloud.com/35141 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Oleg Drokin --- diff --git a/lustre/ldlm/ldlm_lib.c b/lustre/ldlm/ldlm_lib.c index 09f39af..e52da6b 100644 --- a/lustre/ldlm/ldlm_lib.c +++ b/lustre/ldlm/ldlm_lib.c @@ -2567,7 +2567,7 @@ static int target_recovery_thread(void *arg) lu_context_fini(&env->le_ctx); trd->trd_processing_task = 0; - complete(&trd->trd_finishing); + complete_all(&trd->trd_finishing); tgt_io_thread_done(thread); out_env_remove: