Whamcloud - gitweb
LU-6275 obdclass: don't forget to remove LWP mgc config 63/13863/6
authorAlexey Lyashkov <alexey.lyashkov@seagate.com>
Sun, 5 Jul 2015 14:22:04 +0000 (10:22 -0400)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 10 Jul 2015 02:56:21 +0000 (02:56 +0000)
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>
lustre/obdclass/obd_mount_server.c

index b8ee012..a236d16 100644 (file)
@@ -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);