From: Fan Yong Date: Tue, 25 Mar 2014 14:01:54 +0000 (+0800) Subject: LU-4927 scrub: rebuild stale OST OI mapping X-Git-Tag: 2.5.59~102 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=76031fc50abd3a21395e6f4c09e4d9ab6c60354b;ds=sidebyside 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 --- 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: