Whamcloud - gitweb
LU-11907 dne: allow access to striped dir with broken layout 50/34750/4
authorLai Siyao <lai.siyao@whamcloud.com>
Sun, 14 Apr 2019 20:12:54 +0000 (04:12 +0800)
committerOleg Drokin <green@whamcloud.com>
Wed, 29 May 2019 04:24:55 +0000 (04:24 +0000)
commitd2725563e7afa17a41a53aa65255a31380606d23
treeeccadb632b990c9352dcbb0bbf4fc78ab1407a78
parentb0372d3462004bec7e341a97f56628494c560f39
LU-11907 dne: allow access to striped dir with broken layout

Sometimes the layout of striped directories may become broken:
* creation/unlink is partially executed on some MDT.
* disk failure or stopped MDS cause some stripe inaccessible.
* software bugs.

In this situation, this directory should still be accessible,
and specially be able to migrate to other active MDTs.

This patch add this support on both server and client: don't
imply stripe FID is sane, and when stripe doesn't exist, skip
it.

Add OBD_FAIL_MDS_STRIPE_FID to simulate insane stripe FID, and
OBD_FAIL_MDS_STRIPE_CREATE to simulate stripe creation failure.

Add sanity 60h.

Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: I8a05a0e0cef8b051a935b3fa3d3e26c0b6ef3b4a
Reviewed-on: https://review.whamcloud.com/34750
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/obd_support.h
lustre/llite/dir.c
lustre/llite/llite_lib.c
lustre/lmv/lmv_intent.c
lustre/lmv/lmv_obd.c
lustre/lod/lod_object.c
lustre/mdd/mdd_dir.c
lustre/mdt/mdt_reint.c
lustre/tests/sanity.sh