From faefbfc0460bc00f2ee4c1c1c86aa1e39b9eea49 Mon Sep 17 00:00:00 2001 From: Alex Zhuravlev Date: Tue, 30 Apr 2013 23:05:21 +0400 Subject: [PATCH] LU-3244 utils: tunefs.lustre should preserve virgin label so that the filesystem registers can register properly on MGS, if tunefs.lustre was used right after mkfs. Signed-off-by: Alex Zhuravlev Change-Id: I6245e5e4d10cd0a13a4e9068a9b758da8580b537 Reviewed-on: http://review.whamcloud.com/6216 Reviewed-by: Andreas Dilger Reviewed-by: Nathaniel Clark Tested-by: Hudson Tested-by: Maloo --- lustre/tests/conf-sanity.sh | 2 +- lustre/utils/mkfs_lustre.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lustre/tests/conf-sanity.sh b/lustre/tests/conf-sanity.sh index ae77611..52a4031 100644 --- a/lustre/tests/conf-sanity.sh +++ b/lustre/tests/conf-sanity.sh @@ -4002,7 +4002,7 @@ test_73() { #LU-3006 lctl get_param -n osc.*OST0000-osc-[^M]*.import | grep failover_nids | grep 1.2.3.4@tcp || error "failover nids haven't changed" umount_client $MOUNT || error "umount client failed" - stop_all + stopall reformat } run_test 73 "failnode to update from mountdata properly" diff --git a/lustre/utils/mkfs_lustre.c b/lustre/utils/mkfs_lustre.c index 6d49c56..87ba9b6 100644 --- a/lustre/utils/mkfs_lustre.c +++ b/lustre/utils/mkfs_lustre.c @@ -591,6 +591,16 @@ int main(int argc, char *const argv[]) } mop.mo_ldd.ldd_flags &= ~(LDD_F_WRITECONF | LDD_F_VIRGIN); + /* svname of the form lustre:OST1234 means never registered */ + ret = strlen(mop.mo_ldd.ldd_svname); + if (mop.mo_ldd.ldd_svname[ret - 8] == ':') { + mop.mo_ldd.ldd_svname[ret - 8] = '-'; + mop.mo_ldd.ldd_flags |= LDD_F_VIRGIN; + } else if (mop.mo_ldd.ldd_svname[ret - 8] == '=') { + mop.mo_ldd.ldd_svname[ret - 8] = '-'; + mop.mo_ldd.ldd_flags |= LDD_F_WRITECONF; + } + if (strstr(mop.mo_ldd.ldd_params, PARAM_MGSNODE)) mop.mo_mgs_failnodes++; -- 1.8.3.1