From f1712b36b670dab2da6b7db44b7e06da25df9c34 Mon Sep 17 00:00:00 2001 From: Lai Siyao Date: Fri, 8 May 2020 22:53:47 +0800 Subject: [PATCH] LU-13437 lmv: check stripe FID sanity Striped directory layout may be broken, if some stripe FID is insane, return -ENODEV. Lustre-change: https://review.whamcloud.com/38560 Lustre-commit: 698a496aac51e11791717a9cbd0a86b3525f4557 Signed-off-by: Lai Siyao Change-Id: I7ed8c7c561e34625e2cb29bfd14bc0ecf3fce46c Reviewed-by: Andreas Dilger Reviewed-by: Hongchao Zhang Signed-off-by: Minh Diep Reviewed-on: https://review.whamcloud.com/39600 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Oleg Drokin --- lustre/lmv/lmv_obd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lustre/lmv/lmv_obd.c b/lustre/lmv/lmv_obd.c index 090bc5d..b026ddc 100644 --- a/lustre/lmv/lmv_obd.c +++ b/lustre/lmv/lmv_obd.c @@ -1596,6 +1596,9 @@ __lmv_locate_tgt(struct lmv_obd *lmv, struct lmv_stripe_md *lsm, *fid = oinfo->lmo_fid; if (mds != NULL) *mds = oinfo->lmo_mds; + /* check stripe FID is sane */ + if (!fid_is_sane(&oinfo->lmo_fid)) + return ERR_PTR(-ENODEV); tgt = lmv_get_target(lmv, oinfo->lmo_mds, NULL); -- 1.8.3.1