Whamcloud - gitweb
LU-9799 mount: Call read_ldd with initialized mount type 56/28456/2
authorNathaniel Clark <nathaniel.l.clark@intel.com>
Thu, 10 Aug 2017 14:20:04 +0000 (10:20 -0400)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 17 Aug 2017 01:30:11 +0000 (01:30 +0000)
When re-reading the ldd when doing relabel, ensure the correct mount
type is used for the read. Otherwise ldiskfs complains:

   mount.lustre FATAL: unhandled/unloaded fs type 0 'ext3'

and ZFS complains:

   e2label: No such file or directory while trying to open MGS/MGT
   Couldn't find valid filesystem superblock.

Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Change-Id: Ife53cff948d545c306e99e4b023989245a1ac3f7
Reviewed-on: https://review.whamcloud.com/28456
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/utils/mount_lustre.c

index 4c6e597..de3833f 100644 (file)
@@ -720,6 +720,7 @@ static void label_lustre(struct mount_opts *mop)
                /* device label could be changed after journal recovery,
                 * it should also be relabeled for mount has succeeded. */
                memset(&ldd, 0, sizeof(ldd));
+               ldd.ldd_mount_type = mop->mo_ldd.ldd_mount_type;
                rc = osd_read_ldd(mop->mo_source, &ldd);
                if (rc == 0) {
                        rc = strlen(ldd.ldd_svname);