Whamcloud - gitweb
LU-8998 debugfs: handle combined LMA EA and PFID EA 36/19436/5
authorFan Yong <fan.yong@intel.com>
Sat, 26 Mar 2016 15:12:59 +0000 (23:12 +0800)
committerAndreas Dilger <andreas.dilger@intel.com>
Wed, 19 Apr 2017 23:27:00 +0000 (23:27 +0000)
commit392a0817486177f8beecd578d3c273e03537186a
tree53d57da8b0793a81066b08ec0463743517a4ea26
parentcbbd8d6d6d5017355afc9cba4a25fe2aeb0dd494
LU-8998 debugfs: handle combined LMA EA and PFID EA

We need to store the stripe size and stripe count information in
the OST object's PFID EA for the layout LFSCK to recover the MDT
object or its (lost or corrupted) LOV EA. On the other hand, for
PFL file, we also need to store its PFL ID and extent information
in its OST object's PFID EA.

Consider performance, we will store the PFID EA inside the inode
body to avoid extra IO when read/write the PFID EA. Unfortunately,
the space inside current 256-bytes inode for EA is very limited,
and above enlarged PFID EA exceeds such limitation. So we have to
make some hack with the PFID EA and LMA EA combined together. The
patch makes the debugfs tool to handle such case properly.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I1380d16d94d6d05272e22fdfff07ada038685669
Reviewed-on: https://review.whamcloud.com/19436
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
debugfs/debugfs.c
lib/ext2fs/lfsck.h