X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fosd-ldiskfs%2Fosd_oi.h;h=5ddf162b6da04a2574451c0ebd788fa28eb60b2c;hb=8db990334e243f98d253c55a46675c2d633dc9cc;hp=541e472e50d58284f2037ea7dc1991799d529937;hpb=98060d83459ba10409f295898f0ec917f938b4d3;p=fs%2Flustre-release.git diff --git a/lustre/osd-ldiskfs/osd_oi.h b/lustre/osd-ldiskfs/osd_oi.h index 541e472..5ddf162 100644 --- a/lustre/osd-ldiskfs/osd_oi.h +++ b/lustre/osd-ldiskfs/osd_oi.h @@ -87,6 +87,7 @@ struct osd_inode_id { struct osd_idmap_cache { struct lu_fid oic_fid; struct osd_inode_id oic_lid; + struct osd_device *oic_dev; }; static inline void osd_id_pack(struct osd_inode_id *tgt, @@ -131,22 +132,28 @@ static inline int osd_id_eq_strict(const struct osd_inode_id *id0, return (id0->oii_ino == id1->oii_ino && id0->oii_gen == id1->oii_gen); } +enum oi_check_flags { + OI_CHECK_FLD = 0x00000001, + OI_KNOWN_ON_OST = 0x00000002, +}; + int osd_oi_mod_init(void); int osd_oi_init(struct osd_thread_info *info, struct osd_device *osd); void osd_oi_fini(struct osd_thread_info *info, struct osd_device *osd); -int __osd_oi_lookup(struct osd_thread_info *info, struct osd_device *osd, - const struct lu_fid *fid, struct osd_inode_id *id); int osd_oi_lookup(struct osd_thread_info *info, struct osd_device *osd, const struct lu_fid *fid, struct osd_inode_id *id, - bool check_fld); + enum oi_check_flags flags); int osd_oi_insert(struct osd_thread_info *info, struct osd_device *osd, const struct lu_fid *fid, const struct osd_inode_id *id, - struct thandle *th); + struct thandle *th, enum oi_check_flags flags); int osd_oi_delete(struct osd_thread_info *info, struct osd_device *osd, const struct lu_fid *fid, - struct thandle *th); + struct thandle *th, enum oi_check_flags flags); +int osd_oi_update(struct osd_thread_info *info, struct osd_device *osd, + const struct lu_fid *fid, const struct osd_inode_id *id, + struct thandle *th, enum oi_check_flags flags); int fid_is_on_ost(struct osd_thread_info *info, struct osd_device *osd, - const struct lu_fid *fid); + const struct lu_fid *fid, enum oi_check_flags flags); #endif /* __KERNEL__ */ #endif /* _OSD_OI_H */