X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fosd-ldiskfs%2Fosd_oi.h;h=8bced80a89947810b409d7d8859f2ab363be2086;hb=3dcb7d098759614ae7deb532e1555bd82dac7936;hp=5ddf162b6da04a2574451c0ebd788fa28eb60b2c;hpb=e0702769f267dd009a6287bbc9da2760079a101d;p=fs%2Flustre-release.git diff --git a/lustre/osd-ldiskfs/osd_oi.h b/lustre/osd-ldiskfs/osd_oi.h index 5ddf162..8bced80 100644 --- a/lustre/osd-ldiskfs/osd_oi.h +++ b/lustre/osd-ldiskfs/osd_oi.h @@ -15,11 +15,7 @@ * * 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/ @@ -49,10 +45,10 @@ #ifndef _OSD_OI_H #define _OSD_OI_H -#if defined(__KERNEL__) /* struct rw_semaphore */ #include +#include #include #include #include @@ -65,7 +61,6 @@ struct lu_fid; struct osd_thread_info; struct lu_site; -struct thandle; struct dt_device; struct osd_device; @@ -84,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, @@ -138,22 +135,22 @@ 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, - struct thandle *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, - struct thandle *th, enum oi_check_flags flags); + handle_t *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); + handle_t *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, enum oi_check_flags flags); -#endif /* __KERNEL__ */ #endif /* _OSD_OI_H */