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

e2fsck/ldiskfs/ZFS to allow multiple FIDs per dirent

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • 9223372036854775807

    Description

      As part of Lustre Metadata Redundancy, the directory entries on the MDT should enhance the dir_data feature to allow multiple FIDs to be stored in a single dirent.

      Currently on the MDT each dirent stores 17 bytes (1-byte size + 16-byte FID) after the name. For LMR, each directory should be able to reference 2 or more FIDs on different MDTs that reference mirror copies of the same file or directory. It is likely that 3 FIDs (mirrors) would be enough for most redundancy needs, but if more can be stored easily then having a higher limit (e.g. 8 or 16) would provide more flexibility in the future.

      It would be prudent to enhance ext4-data-in-dirent.patch to allow multiple FIDs to be stored in a single dirent (1 + 16 x N bytes). Similarly, e2fsck should consider dir_data entries of (1 + 16 x N bytes) to be valid. debugfs stat should also be modified to print multiple dirdata FIDs if present.

      I believe ZFS already allows N x 8-byte entries in the ZAP (8-byte inode number + 2x8-byte FID), and it may be that there is no need to change anything to allow multiple FIDs to be stored there.

      Attachments

        Issue Links

          Activity

            People

              wc-triage WC Triage
              adilger Andreas Dilger
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: