Whamcloud - gitweb
LU-3196 tests: several test fixes about DNE tests
[fs/lustre-release.git] / lustre / osd-ldiskfs / osd_oi.h
index bae99ed..984dd6d 100644 (file)
@@ -27,7 +27,7 @@
  * 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/
@@ -84,6 +84,11 @@ struct osd_inode_id {
        __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)
 {
@@ -120,13 +125,20 @@ static inline int osd_id_eq(const struct osd_inode_id *id0,
                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);
@@ -134,5 +146,7 @@ int  osd_oi_delete(struct osd_thread_info *info,
                   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 */