[LU-15040] update max_easize on reconnect Created: 28/Sep/21  Updated: 10/Oct/21  Resolved: 10/Oct/21

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

Type: Bug Priority: Minor
Reporter: Sergey Cheremencev Assignee: Sergey Cheremencev
Resolution: Fixed Votes: 0
Labels: None

Severity: 3
Rank (Obsolete): 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).



 Comments   
Comment by Gerrit Updater [ 28/Sep/21 ]

"Sergey Cheremencev <sergey.cheremencev@hpe.com>" uploaded a new patch: https://review.whamcloud.com/45073
Subject: LU-15040 mdc: update max_easize on reconnect
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 3fb551c5c06f470a2d2ca11ec46f42e3900c0e5e

Comment by Gerrit Updater [ 10/Oct/21 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/45073/
Subject: LU-15040 mdc: update max_easize on reconnect
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 5f15be0edea5c2d314f3509e119db6ccd4372892

Comment by Peter Jones [ 10/Oct/21 ]

Landed for 2.15

Generated at Sat Feb 10 03:14:56 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.