Whamcloud - gitweb
LU-4815 lfsck: pause LFSCK before server stack fini 74/9774/3
authorFan Yong <fan.yong@intel.com>
Sat, 8 Mar 2014 15:53:22 +0000 (23:53 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 4 Apr 2014 02:44:11 +0000 (02:44 +0000)
To avoid the LFSCK to access the devices/objects during
the targets stopping.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ifd8c1b1f878ac00a3c92ab6f2ab11e46003f584c
Reviewed-on: http://review.whamcloud.com/9774
Tested-by: Jenkins
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/mdt/mdt_handler.c

index 0e1f0f6..fb3ba0a 100644 (file)
@@ -4306,6 +4306,10 @@ static void mdt_fini(const struct lu_env *env, struct mdt_device *m)
        struct lfsck_stop        stop;
        ENTRY;
 
+       stop.ls_status = LS_PAUSED;
+       stop.ls_flags = 0;
+       next->md_ops->mdo_iocontrol(env, next, OBD_IOC_STOP_LFSCK, 0, &stop);
+
        target_recovery_fini(obd);
        ping_evictor_stop();
        mdt_stack_pre_fini(env, m, md2lu_dev(m->mdt_child));
@@ -4342,10 +4346,6 @@ static void mdt_fini(const struct lu_env *env, struct mdt_device *m)
                 m->mdt_nosquash_strlen = 0;
         }
 
-       stop.ls_status = LS_PAUSED;
-       stop.ls_flags = 0;
-       next->md_ops->mdo_iocontrol(env, next, OBD_IOC_STOP_LFSCK, 0, &stop);
-
         mdt_seq_fini(env, m);
         mdt_fld_fini(env, m);