From 76031fc50abd3a21395e6f4c09e4d9ab6c60354b Mon Sep 17 00:00:00 2001 From: Fan Yong Date: Tue, 25 Mar 2014 22:01:54 +0800 Subject: [PATCH] LU-4927 scrub: rebuild stale OST OI mapping If the osd_oi_lookup() which is called by osd_scrub_check_update() returns -ESTALE for an OST FID, then it means that the target FID has invalid OI mapping, and should be rebuilt. Signed-off-by: Fan Yong Change-Id: I4087da9d3c8e18aff14e314af49637134ee8d4ff Reviewed-on: http://review.whamcloud.com/10006 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: Lai Siyao --- lustre/osd-ldiskfs/osd_scrub.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lustre/osd-ldiskfs/osd_scrub.c b/lustre/osd-ldiskfs/osd_scrub.c index 0e3ecaa..d830e22 100644 --- a/lustre/osd-ldiskfs/osd_scrub.c +++ b/lustre/osd-ldiskfs/osd_scrub.c @@ -486,7 +486,7 @@ osd_scrub_check_update(struct osd_thread_info *info, struct osd_device *dev, (val == SCRUB_NEXT_OSTOBJ || val == SCRUB_NEXT_OSTOBJ_OLD) ? OI_KNOWN_ON_OST : 0); if (rc != 0) { - if (rc != -ENOENT) + if (rc != -ENOENT && rc != -ESTALE) GOTO(out, rc); iget: -- 1.8.3.1