Whamcloud - gitweb
LU-5319 tests: testcases for multiple modify RPCs feature
[fs/lustre-release.git] / lustre / obdclass / obd_mount_server.c
index b8ee012..ef453b0 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);
 
@@ -1487,9 +1487,13 @@ static void server_put_super(struct super_block *sb)
                   If there are any setup/cleanup errors, save the lov
                   name for safety cleanup later. */
                lprof = class_get_profile(lsi->lsi_svname);
-               if (lprof && lprof->lp_dt) {
-                       OBD_ALLOC(extraname, strlen(lprof->lp_dt) + 1);
-                       strcpy(extraname, lprof->lp_dt);
+               if (lprof != NULL) {
+                       if (lprof->lp_dt != NULL) {
+                               OBD_ALLOC(extraname, strlen(lprof->lp_dt) + 1);
+                               strncpy(extraname, lprof->lp_dt,
+                                       strlen(lprof->lp_dt) + 1);
+                       }
+                       class_put_profile(lprof);
                }
 
                obd = class_name2obd(lsi->lsi_svname);