[LUDOC-421] document LFSCK filename types in lost+found Created: 06/Dec/18  Updated: 06/Dec/18

Status: Open
Project: Lustre Documentation
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Minor
Reporter: Andreas Dilger Assignee: Lustre Manual Triage
Resolution: Unresolved Votes: 0
Labels: None

Rank (Obsolete): 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.


Generated at Sat Feb 10 03:42:48 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.