Whamcloud - gitweb
LU-11907 dne: allow access to striped dir with broken layout 39/36939/4
authorLai Siyao <lai.siyao@whamcloud.com>
Sun, 14 Apr 2019 20:12:54 +0000 (04:12 +0800)
committerOleg Drokin <green@whamcloud.com>
Fri, 3 Jan 2020 23:44:14 +0000 (23:44 +0000)
commit5b1ea58c21edd17c2cb1f4ecdbbeb5bbdaa1444b
tree663a5dc27353bc5208d8134cf338c6cd8a9f2257
parent4cf34cbf68eed1fd201f0eb4bd9f3155e805cef9
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.

Lustre-change: https://review.whamcloud.com/34750
Lustre-commit: d2725563e7afa17a41a53aa65255a31380606d23

Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: I8a05a0e0cef8b051a935b3fa3d3e26c0b6ef3b4a
Reviewed-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Minh Diep <mdiep@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/36939
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@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