LU-5513 lfsck: repair multiple referenced name entry

If more than one MDT-objects back reference the same name entry via
their each own linkEA entry, but the name entry only references one
MDT-object of them. Then for those non-recognized MDT-objects, the
namespace LFSCK will remove the non-recognized linkEA entries when
double scan them. And if the MDT-object has no linkEA entries left
after the cleanup, then it will be regarded as orphan and inserted
into .lustre/lost+found/MDTxxxx/ directory with the name:
${FID}-${infix}-${type}-${conflict_version}

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ie50711c3c17861bd2c0f491052caa9dcea0e02f2
Reviewed-on: http://review.whamcloud.com/12247
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Andreas Dilger <andreas.dilger@intel.com>
LU-5515 lfsck: repair bad file type in name entry

If the file type stored in the name entry does not match the file
type claimed by the object, then trust the object and update the
file type in the name entry.

At the same time, if the object does not recognize the name entry
(via the linkEA), then it is quite possible that the name entry is
corrupted. Then remove the bad name entry from namespace.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I616b482005f6379dd10bcd17f656b0ea3dd98111
Reviewed-on: http://review.whamcloud.com/12248
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
LU-5516 lfsck: repair the lost name entry

If the MDT-object has a linkEA entry that back references a name
entry under some parent directory, but such parent directory has
no the claimed name entry. On the other hand, if the MDT-object's
linkEA entries count is not larger than the MDT-object's hard links
count. Under such case, it is quite possible that the name entry is
lost. So the object may be an orphan. Then the LFSCK should add the
missed name entry back to the namespace according to the linkEA entry.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I88ae352e4b14cb810b98f2b9956aeafcc005082b
Reviewed-on: http://review.whamcloud.com/12249
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
LU-4974 lod: documentation for lod_object.c

Comments in Doxygen markup.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Signed-off-by: Richard Henwood <richard.henwood@intel.com>
Change-Id: Ib60ae4eb89aeef5c3118f43c0fb640d5820b8b62
Reviewed-on: http://review.whamcloud.com/11022
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Ned Bass <bass6@llnl.gov>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Andreas Dilger <andreas.dilger@intel.com>