[LU-6093] mke2fs is confused by existence of ZFS mounts Created: 08/Jan/15  Updated: 01/Jun/15  Resolved: 01/Jun/15

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: John Hammond Assignee: Niu Yawei (Inactive)
Resolution: Fixed Votes: 0
Labels: e2fsprogs

Severity: 3
Rank (Obsolete): 16963

 Description   

This causes sanity.sh to fail when a single-node is used with FSTYPE=zfs.

# which mke2fs
/sbin/mke2fs
# rpm -q --file /sbin/mke2fs
e2fsprogs-1.42.12.wc1-7.el6.x86_64

# mount
/dev/vda1 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
#
# rm -f /tmp/f0
# touch /tmp/f0
# mke2fs -j -F /tmp/f0 8000
mke2fs 1.42.12.wc1 (15-Sep-2014)
Creating filesystem with 8000 1k blocks and 2000 inodes

Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done

# export FSTYPE=zfs
# llmount.sh
...
# mount
/dev/vda1 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/root/lustre-release/lustre/utils/mount.lustre on /sbin/mount.lustre type none (rw,bind)
lustre-mdt1/mdt1 on /mnt/mds1 type lustre (rw)
lustre-ost1/ost1 on /mnt/ost1 type lustre (rw)
lustre-ost2/ost2 on /mnt/ost2 type lustre (rw)
t@tcp:/lustre on /mnt/lustre type lustre (rw,user_xattr,flock)
# rm -f /tmp/f0
# touch /tmp/f0
# mke2fs -j -F /tmp/f0 8000
mke2fs 1.42.12.wc1 (15-Sep-2014)
Cannot resolve mntdev lustre-mdt1/mdt1
/tmp/f0 is mounted; will not make a filesystem here!

If I downgrage to the CentOS 6.4 e2fsprogs but keep the ZFS backed
Lustre FS mounted then mke2fs works fine.

t:~# rpm -qi e2fsprogs
Name        : e2fsprogs                    Relocations: (not relocatable)
Version     : 1.41.12                           Vendor: CentOS
Release     : 14.el6                        Build Date: Thu 21 Feb 2013 05:51:14 PM CST
Install Date: Thu 08 Jan 2015 09:53:02 AM CST      Build Host: c6b7.bsys.dev.centos.org
Group       : System Environment/Base       Source RPM: e2fsprogs-1.41.12-14.el6.src.rpm
Size        : 2016016                          License: GPLv2
Signature   : RSA/SHA1, Sat 23 Feb 2013 11:41:10 AM CST, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://e2fsprogs.sourceforge.net/
Summary     : Utilities for managing ext2, ext3, and ext4 filesystems
Description :
The e2fsprogs package contains a number of utilities for creating,
checking, modifying, and correcting any inconsistencies in second,
third and fourth extended (ext2/ext3/ext4) filesystems. E2fsprogs
contains e2fsck (used to repair filesystem inconsistencies after an
unclean shutdown), mke2fs (used to initialize a partition to contain
an empty ext2 filesystem), debugfs (used to examine the internal
structure of a filesystem, to manually repair a corrupted
filesystem, or to create test cases for e2fsck), tune2fs (used to
modify filesystem parameters), and most of the other core ext2fs
filesystem utilities.

You should install the e2fsprogs package if you need to manage the
performance of an ext2, ext3, or ext4 filesystem.
# mount
...
lustre-mdt1/mdt1 on /mnt/mds1 type lustre (rw)
lustre-ost1/ost1 on /mnt/ost1 type lustre (rw)
lustre-ost2/ost2 on /mnt/ost2 type lustre (rw)
t@tcp:/lustre on /mnt/lustre type lustre (rw,user_xattr,flock)
# mke2fs -j -F /tmp/f0 8000
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
2000 inodes, 8000 blocks
400 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=8388608
1 block group
8192 blocks per group, 8192 fragments per group
2000 inodes per group

Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.


 Comments   
Comment by Gerrit Updater [ 27/Mar/15 ]

Niu Yawei (yawei.niu@intel.com) uploaded a new patch: http://review.whamcloud.com/14223
Subject: LU-6093 ext2fs: don't confuse mke2fs by zfs Lustre mount
Project: tools/e2fsprogs
Branch: master-lustre
Current Patch Set: 1
Commit: 066f4f9d82eb66a34aada7bb450fb793a364f732

Comment by Niu Yawei (Inactive) [ 27/Mar/15 ]

http://review.whamcloud.com/14223

Comment by Gerrit Updater [ 12/May/15 ]

Andreas Dilger (andreas.dilger@intel.com) merged in patch http://review.whamcloud.com/14223/
Subject: LU-6093 ext2fs: don't confuse mke2fs by Lustre zfs mount
Project: tools/e2fsprogs
Branch: master-lustre
Current Patch Set:
Commit: 95e6026b98f517fc7810a068572367728b3887da

Comment by Niu Yawei (Inactive) [ 01/Jun/15 ]

patch landed.

Generated at Sat Feb 10 01:57:09 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.