Whamcloud - gitweb
LU-9816 kernel: kernel upgrade RHEL7.4 [3.10.0-693.el7]
[fs/lustre-release.git] / lustre / osd-ldiskfs / osd_oi.h
index c9d727d..8bced80 100644 (file)
  *
  * You should have received a copy of the GNU General Public License
  * version 2 along with this program; If not, see
- * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
+ * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * GPL HEADER END
  */
@@ -27,7 +23,7 @@
  * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  *
- * Copyright (c) 2012, 2013, Intel Corporation.
+ * Copyright (c) 2012, 2016, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -83,10 +79,12 @@ struct osd_inode_id {
        __u32 oii_gen; /* inode generation */
 };
 
+/* OI cache entry */
 struct osd_idmap_cache {
        struct lu_fid           oic_fid;
        struct osd_inode_id     oic_lid;
        struct osd_device       *oic_dev;
+       __u16                   oic_remote:1;   /* FID isn't local */
 };
 
 static inline void osd_id_pack(struct osd_inode_id *tgt,
@@ -137,14 +135,15 @@ enum oi_check_flags {
 };
 
 int osd_oi_mod_init(void);
-int osd_oi_init(struct osd_thread_info *info, struct osd_device *osd);
+int osd_oi_init(struct osd_thread_info *info, struct osd_device *osd,
+               bool restored);
 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,
                   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,
-                  handle_t *th, enum oi_check_flags flags);
+                  handle_t *th, enum oi_check_flags flags, bool *exist);
 int  osd_oi_delete(struct osd_thread_info *info,
                   struct osd_device *osd, const struct lu_fid *fid,
                   handle_t *th, enum oi_check_flags flags);