* Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*
- * Copyright (c) 2012, Whamcloud, Inc.
+ * Copyright (c) 2011, 2012, Intel Corporation.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
__u32 oii_gen; /* inode generation */
};
+struct osd_idmap_cache {
+ struct lu_fid oic_fid;
+ struct osd_inode_id oic_lid;
+};
+
static inline void osd_id_pack(struct osd_inode_id *tgt,
const struct osd_inode_id *src)
{
id1->oii_gen == OSD_OII_NOGEN);
}
+static inline int osd_id_eq_strict(const struct osd_inode_id *id0,
+ const struct osd_inode_id *id1)
+{
+ return (id0->oii_ino == id1->oii_ino && id0->oii_gen == id1->oii_gen);
+}
+
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);
+ const struct lu_fid *fid, struct osd_inode_id *id,
+ bool check_fld);
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 osd_device *osd, const struct lu_fid *fid,
struct thandle *th);
+int fid_is_on_ost(struct osd_thread_info *info, struct osd_device *osd,
+ const struct lu_fid *fid);
#endif /* __KERNEL__ */
#endif /* _OSD_OI_H */