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

LMR2a: lu_dirent 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 lu_dirent structure to allow multiple FIDs to be returned from the MDT to a client in a single dirent to the client, using the data available in LU-16742. The expanded lu_dirent will allow returning multiple FIDs for a single MDT object, each of which would be stored on a different MDT, but should contain the same metadata (trusted.lov, trusted.linkea, etc.).

      This ticket is primarily concerned with the lu_dirent changes, while other tickets will cover other aspects of LMR, like LMA referencing multiple FIDs, lu_dirent replication (LU-20180), etc.

      Currently the MDT each lu_dirent stores a single lde_fid at the start of the struct. For LMR, each dirent should be able to return 3 or more FIDs on different MDTs that reference mirror copies of the same file or directory inode (which contain the same metadata, including the LOV EA, which would presumably reference an FLR mirrored (or EC) redundant file layout). 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.

      The lde_attrs field allows specifying additional flags for data that may be present in the dirent (e.g. LUDA_TYPE indicates there is an aligned 16-bit file type after lde_name), and there are provisions for other fields to be stored after lde_name, as is done with dirdata in ldiskfs. This would provide the full compatibility for old clients, since they would just ignore the extra fields in lu_dirent for LUDA_* flags they do not understand.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated: