Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
None
-
3
-
9223372036854775807
Description
If ea_inode becomes enabled on MDS, client should set new max_easize.
[root@dhcppc4 tests]# git log --pretty=oneline | head -n1
608cce73d5149cb4d317ee189db94f0b6ade1ff5 LU-15007 tests: quota enable cmd fix
[root@dhcppc4 tests]# git diff
diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh
index c507425..41821eb 100755
--- a/lustre/tests/test-framework.sh
+++ b/lustre/tests/test-framework.sh
@@ -4657,8 +4657,6 @@ mkfs_opts() {
opts+=${L_GETIDENTITY:+" --param=mdt.identity_upcall=$L_GETIDENTITY"}
if [ $fstype == ldiskfs ]; then
- fs_mkfs_opts+="-O ea_inode,large_dir"
-
var=${facet}_JRN
if [ -n "${!var}" ]; then
fs_mkfs_opts+=" -J device=${!var}"
diff --git a/lustre/utils/libmount_utils_ldiskfs.c b/lustre/utils/libmount_utils_ldiskfs.c
index 5907213..9d4cd83 100644
--- a/lustre/utils/libmount_utils_ldiskfs.c
+++ b/lustre/utils/libmount_utils_ldiskfs.c
@@ -533,8 +533,8 @@ static int enable_default_ext4_features(struct mkfs_opts *mop, char *anchor,
append_unique(anchor, ",", "^resize_inode", NULL, maxbuflen);
/* Allow xattrs larger than one block, stored in a separate inode */
- if (IS_MDT(&mop->mo_ldd) && is_e2fsprogs_feature_supp("-O ea_inode"))
- append_unique(anchor, ",", "ea_inode", NULL, maxbuflen);
+ /*if (IS_MDT(&mop->mo_ldd) && is_e2fsprogs_feature_supp("-O ea_inode"))
+ append_unique(anchor, ",", "ea_inode", NULL, maxbuflen);*/
/* Allow more than 10M directory entries */
[root@dhcppc4 tests]# bash llmount.sh
...
[root@dhcppc4 tests]# dumpe2fs -h /tmp/lustre-mdt1 | grep ea_inode
dumpe2fs 1.45.2.cr1 (20-Jun-2019)
[root@dhcppc4 tests]# lctl get_param llite.*.max_easize
llite.lustre-ffff9c78a1f16000.max_easize=4012
[root@dhcppc4 tests]# umount /mnt/lustre-mds1
[root@dhcppc4 tests]# tune2fs -O ea_inode /tmp/lustre-mdt1
tune2fs 1.45.2.cr1 (20-Jun-2019)
[root@dhcppc4 tests]# mount -t lustre -o loop /tmp/lustre-mdt1 /mnt/lustre-mds1/
[root@dhcppc4 tests]# dumpe2fs -h /tmp/lustre-mdt1 | grep ea_inode
dumpe2fs 1.45.2.cr1 (20-Jun-2019)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery flex_bg ea_inode dirdata large_dir sparse_super large_file huge_file uninit_bg dir_nlink quota project
[root@dhcppc4 tests]# lctl get_param llite.*.max_easize
llite.lustre-ffff9c78a1f16000.max_easize=4012
[root@dhcppc4 tests]#
...
[root@dhcppc4 tests]# git log --pretty=oneline | head -n1
0f9eefc1598977cee7f46e434762b4df6caa4e30 LUS-9478 mdc: update max_easize on reconnect
[root@dhcppc4 tests]# bash llmount.sh
...
[root@dhcppc4 tests]# lctl get_param llite.*.max_easize
llite.lustre-ffff9c78a8e40800.max_easize=4012
[root@dhcppc4 tests]# umount /mnt/lustre-mds
umount: /mnt/lustre-mds: not mounted
[root@dhcppc4 tests]# umount /mnt/lustre-mds1
[root@dhcppc4 tests]# tune2fs -O ea_inode /tmp/lustre-mdt1
tune2fs 1.45.2.cr1 (20-Jun-2019)
[root@dhcppc4 tests]# mount -t lustre -o loop /tmp/lustre-mdt1 /mnt/lustre-mds1/
[root@dhcppc4 tests]# lctl get_param llite.*.max_easize
llite.lustre-ffff9c78a8e40800.max_easize=65536
To reproduce the issue commented "LU-1732 utils: allow ldiskfs wide striping with ea_inode"(f0bc7710) to have ability to format mds without ea_inode feature. Anyway the issue may appear if the server is formated without ea_inode enabled(before f0bc7710).