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 <alexey.lyashkov@seagate.com>
Change-Id: I9e72d2526f5a21e66a326532d4770c07e2b7cca2
Reviewed-on: http://review.whamcloud.com/13863
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
/* end log first */
cfg->cfg_instance = sb;
rc = lustre_end_log(sb, logname, cfg);
/* end log first */
cfg->cfg_instance = sb;
rc = lustre_end_log(sb, logname, cfg);
+ if (rc != 0 && rc != -ENOENT)
GOTO(out, rc);
lsi->lsi_lwp_started = 0;
GOTO(out, rc);
lsi->lsi_lwp_started = 0;
cfg->cfg_callback = client_lwp_config_process;
cfg->cfg_instance = sb;
rc = lustre_process_log(sb, logname, cfg);
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;