Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-3190 mdd: not return linkEA for dead obj
[fs/lustre-release.git]
/
lustre
/
osd-ldiskfs
/
osd_oi.c
diff --git
a/lustre/osd-ldiskfs/osd_oi.c
b/lustre/osd-ldiskfs/osd_oi.c
index
d8cc266
..
9194672
100644
(file)
--- a/
lustre/osd-ldiskfs/osd_oi.c
+++ b/
lustre/osd-ldiskfs/osd_oi.c
@@
-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 (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);
}
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;
{
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;
if (fid_is_last_id(fid))
return 0;