From: Alexey Lyashkov Date: Sun, 5 Jul 2015 14:22:04 +0000 (-0400) Subject: LU-6275 obdclass: don't forget to remove LWP mgc config X-Git-Tag: 2.7.57~61 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=refs%2Fchanges%2F63%2F13863%2F6;p=fs%2Flustre-release.git LU-6275 obdclass: don't forget to remove LWP mgc config We may take an MGC lock, but failed with take a config from MGS. mgc will cancel a lock in that situation and but lock added to re-enqueue list. Shutdown (cleanup) started as result lustre_start_lwp failed, but cleanup forget to call lustre_end_log as lsi_lwp_started don't set so - lock/cld still on enqueue list, but super block is destroyed. Signed-off-by: Alexey Lyashkov Change-Id: I9e72d2526f5a21e66a326532d4770c07e2b7cca2 Reviewed-on: http://review.whamcloud.com/13863 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: James Simmons Reviewed-by: Oleg Drokin --- diff --git a/lustre/obdclass/obd_mount_server.c b/lustre/obdclass/obd_mount_server.c index b8ee012..a236d16 100644 --- a/lustre/obdclass/obd_mount_server.c +++ b/lustre/obdclass/obd_mount_server.c @@ -884,7 +884,7 @@ static int lustre_disconnect_lwp(struct super_block *sb) /* end log first */ cfg->cfg_instance = sb; rc = lustre_end_log(sb, logname, cfg); - if (rc != 0) + if (rc != 0 && rc != -ENOENT) GOTO(out, rc); lsi->lsi_lwp_started = 0; @@ -993,8 +993,8 @@ static int lustre_start_lwp(struct super_block *sb) cfg->cfg_callback = client_lwp_config_process; cfg->cfg_instance = sb; rc = lustre_process_log(sb, logname, cfg); - if (rc == 0) - lsi->lsi_lwp_started = 1; + /* need to remove config llog from mgc */ + lsi->lsi_lwp_started = 1; GOTO(out, rc);