Uploaded image for project: 'Lustre Documentation'
  1. Lustre Documentation
  2. LUDOC-421

document LFSCK filename types in lost+found

    XMLWordPrintable

Details

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

    Description

      LFSCK will link orphan objects into the .lustre/lost+found/MDTxxxx/ subdirectories (one per MDT) with filenames like [0x20000205c:0x15dc1:0x0]-R-0 or similar, but I can't find any user documentation for what the -R- and other file types mean.

      Looking at the code, I see in lfsck_namespace_insert_orphan():

       * \param[in] infix     additional information for the orphan name, such as
       *                      the FID for original
       * \param[in] type      the type for describing why the orphan MDT-object is
       *                      created. The rules are as following:
       *  type "D":           The MDT-object is a directory, it may knows its parent
       *                      but because there is no valid linkEA, the LFSCK cannot
       *                      know where to put it back to the namespace.
       *  type "O":           The MDT-object has no linkEA, and there is no name
       *                      entry that references the MDT-object.
       *      
       *  type "S":           The orphan MDT-object is a shard of a striped directory
       * The orphan name will be like:
       * ${FID}-${infix}-${type}-${conflict_version}
      

      and in lfsck_layout_recreate_parent():

       * \param[in] infix     additional information, such as the FID for original
       *                      MDT-object and the stripe offset in the LOV EA
       * \param[in] type      the type for describing why the orphan MDT-object is
       *                      created. The rules are as following:
       *  type "C":           Multiple OST-objects claim the same MDT-object and the
       *                      same slot in the layout EA. Then the LFSCK will create
       *                      new MDT-object(s) to hold the conflict OST-object(s).
       *
       *  type "N":           The orphan OST-object does not know which one was the
       *                      real parent MDT-object, so the LFSCK uses new FID for
       *                      its parent MDT-object.
       *
       *  type "R":           The orphan OST-object knows its parent MDT-object FID,
       *                      but does not know the position (the file name) in the
       *                      layout.
       *
       *  type "D":           The MDT-object is a directory, it may knows its parent
       *                      but because there is no valid linkEA, the LFSCK cannot
       *                      know where to put it back to the namespace.
       *  type "O":           The MDT-object has no linkEA, and there is no name
       *                      entry that references the MDT-object.
       *
       *  type "P":           The orphan object to be created was a parent directory
       *                      of some MDT-object which linkEA shows that the @orphan
       *                      object is missing.
       *
       * The orphan name will be like:
       * ${FID}-${infix}-${type}-${conflict_version}
      

      These should be added to the lctl-lfsck_start.8 man page, as well as the user manual, so that users have some idea what should be done to repair those files.

      Attachments

        Activity

          People

            LM-Triage Lustre Manual Triage
            adilger Andreas Dilger
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: