Whamcloud - gitweb
LU-3190 mdd: not return linkEA for dead obj
[fs/lustre-release.git] / lustre / osd-ldiskfs / osd_oi.c
index d8cc266..9194672 100644 (file)
@@ -527,6 +527,11 @@ int osd_oi_lookup(struct osd_thread_info *info, struct osd_device *osd,
        if (unlikely(fid_is_acct(fid)))
                return osd_acct_obj_lookup(info, osd, fid, id);
 
+       if (!osd->od_igif_inoi && fid_is_igif(fid)) {
+               osd_id_gen(id, lu_igif_ino(fid), lu_igif_gen(fid));
+               return 0;
+       }
+
        return __osd_oi_lookup(info, osd, fid, id);
 }
 
@@ -674,6 +679,10 @@ int osd_oi_delete(struct osd_thread_info *info,
 {
        struct lu_fid *oi_fid = &info->oti_fid2;
 
+       /* clear idmap cache */
+       if (lu_fid_eq(fid, &info->oti_cache.oic_fid))
+               fid_zero(&info->oti_cache.oic_fid);
+
        if (fid_is_last_id(fid))
                return 0;