LU-5519 lfsck: repair bad name hash for striped directory

If the name hash of some name entry under the striped directory
does not match the shard of the striped directory, then the LFSCK
will repair the inconsistency. Ideally, the LFSCK should migrate
the name entry from the current MDT to the right MDT (another one),
but before the async commit finished, the LFSCK will change the
striped directory's hash type as LMV_HASH_TYPE_UNKNOWN and mark
the lmv flags as LMV_HASH_FLAG_BAD_TYPE.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I665a77473be1fead09c12cb7fb5d0ffa739ffe87
Reviewed-on: http://review.whamcloud.com/11846
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-5519 lfsck: repair master LMV for striped directory

If the master MDT-object of a striped directory lost its LMV EA,
then there may be some users have created some files under the
master MDT-object directly. Under such case, the LFSCK cannot
re-generate LMV EA for the master MDT-object, because we should
keep the existing files to be visible to client. Then the LFSCK
will mark the striped directory as read-only and keep it there
to be handled by administrator manually.

If nobody has created files under the master MDT-object of the
striped directory, then we will set the master LMV EA and
generate a new rescan (the striped directory) request that will
be handled later by the LFSCK instance on the MDT later.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I4d604cbd346c2cb044503f193ab4745e7fd2c2a2
Reviewed-on: http://review.whamcloud.com/11847
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>