From: Fan Yong Date: Mon, 22 Oct 2012 17:12:05 +0000 (+0800) Subject: LU-2213 scrub: stop LFSCK before osd_shutdown X-Git-Tag: 2.3.54~8 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=9e88126a41ccc5358be6174580e820f6080a774c;p=fs%2Flustre-release.git LU-2213 scrub: stop LFSCK before osd_shutdown The osd_shutdown will clean all the otable-based iteration, but up layer LFSCK depends on the otable-based iteration. So we need to stop the LFSCK before osd_shutdown called. Signed-off-by: Fan Yong Signed-off-by: Alex Zhuravlev Change-Id: I97625d54766122314630aff0069d9e14d23b9840 Reviewed-on: http://review.whamcloud.com/4217 Tested-by: Hudson Reviewed-by: Andreas Dilger Tested-by: Maloo Reviewed-by: Alex Zhuravlev --- diff --git a/lustre/mdd/mdd_device.c b/lustre/mdd/mdd_device.c index 647ee7a..e6f0213 100644 --- a/lustre/mdd/mdd_device.c +++ b/lustre/mdd/mdd_device.c @@ -167,7 +167,6 @@ static void mdd_device_shutdown(const struct lu_env *env, struct mdd_device *m, struct lustre_cfg *cfg) { ENTRY; - mdd_lfsck_cleanup(env, m); mdd_changelog_fini(env, m); if (m->mdd_dot_lustre_objs.mdd_obf) mdd_object_put(env, m->mdd_dot_lustre_objs.mdd_obf); @@ -1136,6 +1135,7 @@ static int mdd_process_config(const struct lu_env *env, dt->dd_ops->dt_conf_get(env, dt, &m->mdd_dt_conf); break; case LCFG_CLEANUP: + mdd_lfsck_cleanup(env, m); rc = next->ld_ops->ldo_process_config(env, next, cfg); lu_dev_del_linkage(d->ld_site, d); mdd_device_shutdown(env, m, cfg); diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index 4771bfb..3e714e3 100644 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -5740,6 +5740,7 @@ mds_backup_restore() { local metaea=${TMP}/backup_restore.ea local metadata=${TMP}/backup_restore.tgz local opts=${MDS_MOUNT_OPTS} + local svc=${SINGLEMDS}_svc if ! ${rcmd} test -b ${devname}; then opts=$(csa_add "$opts" -o loop) @@ -5783,6 +5784,8 @@ mds_backup_restore() { ${rcmd} umount -d $mntpt || return 10 # step 14: cleanup tmp backup ${rcmd} rm -f $metaea $metadata + # step 15: reset device label - it's not virgin on + ${rcmd} e2label $devname ${!svc} } # remove OI files