Whamcloud - gitweb
LU-7268 scrub: NOT assign LMA for EA inode
[fs/lustre-release.git] / lustre / osd-ldiskfs / osd_scrub.c
index 31b879b..ff639e2 100644 (file)
@@ -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. */