Whamcloud - gitweb
LU-8569 linkea: linkEA size limitation
Under DNE mode, if we do not restrict the linkEA size, and if there
are too many cross-MDTs hard links to the same object, then it will
casue the llog overflow. On the other hand, too many linkEA entries
in the linkEA will serious affect the linkEA performance because we
only support to locate linkEA entry consecutively.
So we need to restrict the linkEA size. Currently, it is 4096 bytes,
that is independent from the backend. If too many hard links caused
the linkEA overflowed, we will add overflow timestamp in the linkEA
header. Such overflow timestamp has some functionalities:
1. It will prevent the object being migrated to other MDT, because
some name entries may be not in the linkEA, so we cannot update
these name entries for the migration.
2. It will tell the namespace LFSCK that the 'nlink' attribute may
be more trustable than the linkEA, then avoid misguiding the
namespace LFSCK to repair 'nlink' attribute based on linkEA.
There will be subsequent patch(es) for namespace LFSCK to handle the
linkEA size limitation and overflow cases.
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I2d6c2be04305c1d7e3af160d8b80e73b66a36483
Reviewed-on: https://review.whamcloud.com/23500
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
18 files changed: