Whamcloud - gitweb
LU-3244 utils: tunefs.lustre should preserve virgin label
authorAlex Zhuravlev <alexey.zhuravlev@intel.com>
Tue, 30 Apr 2013 19:05:21 +0000 (23:05 +0400)
committerOleg Drokin <oleg.drokin@intel.com>
Wed, 1 May 2013 17:25:30 +0000 (13:25 -0400)
so that the filesystem registers can register properly on MGS,
if tunefs.lustre was used right after mkfs.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: I6245e5e4d10cd0a13a4e9068a9b758da8580b537
Reviewed-on: http://review.whamcloud.com/6216
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
lustre/tests/conf-sanity.sh
lustre/utils/mkfs_lustre.c

index ae77611..52a4031 100644 (file)
@@ -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"
index 6d49c56..87ba9b6 100644 (file)
@@ -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++;