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

update ext4-large-eas.patch to match upstream ext4 feature

    XMLWordPrintable

Details

    • Task
    • Resolution: Fixed
    • Major
    • Lustre 2.11.0
    • Lustre 2.5.0, Lustre 2.7.0
    • None
    • 9223372036854775807

    Description

      In order to match the enhanced ea_inode functionality being landed to the upstream ext4 kernel tree, we need to modify our ext4-large-eas.patch and e2fsprogs patches to start properly initializing some of the fields we don't currently use to minimize the interoperability issues.

      In particular, the new EA inode refcount should be initialized to 1, and hash field should be computed based on the xattr value as it is in the upstream kernel patch. We don't need to backport any of the xattr sharing functionality, since Lustre never shares large xattrs as the lov and link xattrs are always unique. This can be landed to master for the 2.11 release, and possibly included into 2.10.1 or later maintenance release.

      For e2fsck we should set the EA inode refcount = 1 and set the hash on large xattrs that are found during scanning and are otherwise valid. This should be done in a manner that is not alarming to existing users, such as printing a fix_problem() message like:
      noformat
      Found old-style Lustre large xattr inode(s) without refcount or hash. Fix?
      noformat
      and then together with something like PR_1_SUPPRESS_MESSAGES and a new PR_LATCH_EA_INODE it should prompt and save the answer to re-use it when repairing all such large xattrs rather than prompting to repair each one (which might be millions of files on a large filesystem with many stripes).

      Attachments

        Issue Links

          Activity

            People

              emoly.liu Emoly Liu
              adilger Andreas Dilger
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: