X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fosd-ldiskfs%2Fosd_scrub.c;h=ff639e2031dd7788a0c7d813a958ec17b3e30471;hp=31b879bc588de9a13525413c479a60d07a8702b9;hb=af46e574eeebe23c5a6146a134fa00ee91931de3;hpb=eaf3353fce3384e21b1310c2feb847a7c01eb131 diff --git a/lustre/osd-ldiskfs/osd_scrub.c b/lustre/osd-ldiskfs/osd_scrub.c index 31b879b..ff639e2 100644 --- a/lustre/osd-ldiskfs/osd_scrub.c +++ b/lustre/osd-ldiskfs/osd_scrub.c @@ -497,6 +497,10 @@ osd_scrub_check_update(struct osd_thread_info *info, struct osd_device *dev, GOTO(out, rc); } + /* The inode has been reused as EA inode, ignore it. */ + if (unlikely(osd_is_ea_inode(inode))) + GOTO(out, rc = 0); + sf->sf_flags |= SF_UPGRADE; sf->sf_internal_flags &= ~SIF_NO_HANDLE_OLD_FID; dev->od_check_ff = 1; @@ -536,6 +540,10 @@ iget: rc = 0; GOTO(out, rc); } + + /* The inode has been reused as EA inode, ignore it. */ + if (unlikely(osd_is_ea_inode(inode))) + GOTO(out, rc = 0); } if (!scrub->os_partial_scan) @@ -958,6 +966,10 @@ static int osd_iit_iget(struct osd_thread_info *info, struct osd_device *dev, RETURN(rc); } + /* It is an EA inode, no OI mapping for it, skip it. */ + if (osd_is_ea_inode(inode)) + GOTO(put, rc = SCRUB_NEXT_CONTINUE); + if (scrub && ldiskfs_test_inode_state(inode, LDISKFS_STATE_LUSTRE_NOSCRUB)) { /* Only skip it for the first OI scrub accessing. */