Whamcloud - gitweb
LU-6824 ldiskfs: give warning with dir htree growing
[fs/lustre-release.git] / lustre / osd-ldiskfs / osd_internal.h
index 7ad0c24..ae51525 100644 (file)
@@ -169,9 +169,9 @@ struct osd_mdobj {
 struct osd_mdobj_map {
        struct dentry   *omm_remote_parent;
 };
-
-#define osd_ldiskfs_add_entry(handle, child, cinode, hlock) \
-       __ldiskfs_add_entry(handle, child, cinode, hlock)
+int osd_ldiskfs_add_entry(struct osd_thread_info *info,
+                         handle_t *handle, struct dentry *child,
+                         struct inode *inode, struct htree_lock *hlock);
 
 #define OSD_OTABLE_IT_CACHE_SIZE       64
 #define OSD_OTABLE_IT_CACHE_MASK       (~(OSD_OTABLE_IT_CACHE_SIZE - 1))
@@ -503,6 +503,8 @@ struct osd_iobuf {
        unsigned int       dr_init_at;  /* the line iobuf was initialized */
 };
 
+#define OSD_INS_CACHE_SIZE     8
+
 struct osd_thread_info {
        const struct lu_env   *oti_env;
        /**
@@ -567,6 +569,11 @@ struct osd_thread_info {
 
        struct osd_idmap_cache oti_cache;
 
+       /* dedicated OI cache for insert (which needs inum) */
+       struct osd_idmap_cache *oti_ins_cache;
+       int                    oti_ins_cache_size;
+       int                    oti_ins_cache_used;
+
         int                    oti_r_locks;
         int                    oti_w_locks;
         int                    oti_txns;
@@ -913,6 +920,11 @@ static inline char *osd_name(struct osd_device *osd)
        return osd->od_dt_dev.dd_lu_dev.ld_obd->obd_name;
 }
 
+static inline bool osd_is_ea_inode(struct inode *inode)
+{
+       return !!(LDISKFS_I(inode)->i_flags & LDISKFS_EA_INODE_FL);
+}
+
 extern const struct dt_body_operations osd_body_ops;
 extern struct lu_context_key osd_key;