From: Alexander Boyko Date: Tue, 18 Sep 2018 12:21:52 +0000 (-0400) Subject: LU-10595 mgc: don't proccess cld during stopping X-Git-Tag: 2.11.56~14 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=refs%2Fchanges%2F90%2F33190%2F2;p=fs%2Flustre-release.git LU-10595 mgc: don't proccess cld during stopping The patch fixes the log processing during stopping. It was general protection fault at mgc_process_cfg_log() at lsi access. Lsi pointer was wrong 38323172756f6663, and all cld->cld_cfg.cfg_sb had invalid data. Signed-off-by: Alexander Boyko Cray-bug-id: LUS-6199 Change-Id: Ie4f35ba5be707ab8d274cc26fd2c230ffcb0a16e Reviewed-on: https://review.whamcloud.com/33190 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: James Simmons Tested-by: James Simmons Reviewed-by: Oleg Drokin --- diff --git a/lustre/mgc/mgc_request.c b/lustre/mgc/mgc_request.c index f640e0e..381a57a 100644 --- a/lustre/mgc/mgc_request.c +++ b/lustre/mgc/mgc_request.c @@ -2099,6 +2099,11 @@ restart: goto restart; } else { mutex_lock(&cld->cld_lock); + /* unlock/lock mutex, so check stopping again */ + if (cld->cld_stopping) { + mutex_unlock(&cld->cld_lock); + RETURN(0); + } spin_lock(&config_list_lock); cld->cld_lostlock = 1; spin_unlock(&config_list_lock);