[LU-12978] FSTYPE=zfs ./lustre/tests/llmount.sh Fails with "mount.lustre: lustre-mdt1/mdt1 has not been formatted with mkfs.lustre or the backend filesystem type is not supported by this tool" Created: 16/Nov/19 Updated: 17/Nov/19 Resolved: 17/Nov/19 |
|
| Status: | Closed |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor |
| Reporter: | Arshad Hussain | Assignee: | Andreas Dilger |
| Resolution: | Not a Bug | Votes: | 0 |
| Labels: | zfs | ||
| Environment: |
FSTYPE=zfs |
||
| Severity: | 3 |
| Rank (Obsolete): | 9223372036854775807 |
| Description |
|
Running llmount.sh with FSTYPE=zfs fails with "mount.lustre: lustre-mdt1/mdt1 has not been formatted with mkfs.lustre or the backend filesystem type is not supported by this tool". This was seen while working on
This fails # FSTYPE=zfs bash ./lustre/tests/llmount.sh Stopping clients: mrpel7 /mnt/lustre (opts:-f) Stopping clients: mrpel7 /mnt/lustre2 (opts:-f) mrpel7: executing set_hostid Loading modules from /root/mrp/lustre-xx-3.10/lustre-release/lustre/tests/.. detected 2 online CPUs by sysfs Force libcfs to create 2 CPU partitions ../lnet/lnet/lnet options: 'networks=tcp0(eth1) accept=all' quota/lquota options: 'hash_lqs_cur_bits=3' Formatting mgs, mds, osts Format mds1: lustre-mdt1/mdt1 Format ost1: lustre-ost1/ost1 Format ost2: lustre-ost2/ost2 Checking servers environments Checking clients mrpel7 environments Loading modules from /root/mrp/lustre-xx-3.10/lustre-release/lustre/tests/.. detected 2 online CPUs by sysfs Force libcfs to create 2 CPU partitions Setup mgs, mdt, osts Starting mds1: lustre-mdt1/mdt1 /mnt/lustre-mds1 mount.lustre: lustre-mdt1/mdt1 has not been formatted with mkfs.lustre or the backend filesystem type is not supported by this tool
This was fix by changing test-framework.sh
diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh
index 31e7ec3..a363fbb 100755
--- a/lustre/tests/test-framework.sh
+++ b/lustre/tests/test-framework.sh
@@ -2003,8 +2003,12 @@ mount_facet() {
if [ -f $TMP/test-lu482-trigger ]; then
RC=2
else
+ #do_facet ${facet} \
+ # "mkdir -p $mntpt; $MOUNT_CMD $opts $dm_dev $mntpt"
+ local ML_CMD=/usr/sbin/mount.lustre
do_facet ${facet} \
- "mkdir -p $mntpt; $MOUNT_CMD $opts $dm_dev $mntpt"
+ "mkdir -p $mntpt; $ML_CMD $opts $dm_dev $mntpt"
RC=${PIPESTATUS[0]}
fi
Essentially changing from using mount -t lustre to using mount.lustre binary makes it work. My e2fsprogs version # rpm -qa | grep e2fsprogs-1 e2fsprogs-1.45.2.wc1-0.el7.x86_64 My setup and compile lustre # sh ./autogen.sh # ./configure --enable-client --enable-server --disable-ldiskfs --with-linux=/usr/src/kernels/3.10.0-862.9.1.el7_lustre.x86_64/ --with-zfs=/root/zfs/zfs/zfs-0.7.12/ --with-spl=/root/zfs/spl/spl-0.7.12/ # make -j2 # make install
|
| Comments |
| Comment by Andreas Dilger [ 16/Nov/19 ] |
|
Arshad, this is probably because "mount -t lustre" is looking for the binary "/sbin/mount.lustre" and if that is not found then it doesn't know how to mount the "lustre" filesystem type. Normally the test-framework.sh scripts will create a bind mount from "$LUSTRE/lustre/utils/mount.lustre" to "/sbin/mount.lustre" so that this works. On rare occasions this can become incorrect (e.g. building and running from two different Lustre build directories, or if the options changed from the previous build of Lustre), so the old bind mount must be unmounted manually and restarted. |
| Comment by Arshad Hussain [ 17/Nov/19 ] |
|
Andreas, Thanks!! I get it now. |