Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-15040

update max_easize on reconnect

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.15.0
    • 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).

      Attachments

        Activity

          People

            scherementsev Sergey Cheremencev
            scherementsev Sergey Cheremencev
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: