Whamcloud - gitweb
LU-5767 lfsck: use OUT RPC to create remote orphan parent 72/13172/8
authorFan Yong <fan.yong@intel.com>
Wed, 22 Oct 2014 07:00:20 +0000 (15:00 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 19 Jan 2015 17:50:43 +0000 (17:50 +0000)
commit58ddddb5386951f05c52b8e6f98fcfa8139097d5
treeddd59e4c7327f30ef64b58b1491d0be352f2bc38
parent56717a9ae8c5442dd511a3cebe2cea159b1525b8
LU-5767 lfsck: use OUT RPC to create remote orphan parent

When the namespace LFSCK tries to repair the missing name entry,
means inserting the lost name entry back to its parent directory,
it may find that the parent MDT-object was also lost. Under such
case, the namespace LFSCK will firstly create the missing parent
MDT-object as an orphan and insert into the
.lustre/lost+found/MDTxxxx/ directory remotely. Then insert the
lost name entry into the orphan parent according to the linkEA.
Originally, the namespace LFSCK uses the LFSCK RPC to handle the
case of creating orphan parent MDT-object on remote MDT. But it
is not the normal way for cross-MDTs modification that usually
is handled via the OUT RPC. This patch replaces the LFSCK RPC
with normal OUT RPC to create orphan parent on remote MDT.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I8b192e51f4c159cbf28e266f22ec487a8c6a68f0
Reviewed-on: http://review.whamcloud.com/13172
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/include/lustre/lustre_idl.h
lustre/lfsck/lfsck_internal.h
lustre/lfsck/lfsck_layout.c
lustre/lfsck/lfsck_lib.c
lustre/lfsck/lfsck_namespace.c
lustre/lfsck/lfsck_striped_dir.c
lustre/ptlrpc/pack_generic.c
lustre/ptlrpc/wiretest.c
lustre/utils/wirecheck.c
lustre/utils/wiretest.c