Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
[pandora-kernel.git] / fs / ocfs2 / dir.h
index 505d3af..e683f3d 100644 (file)
 #ifndef OCFS2_DIR_H
 #define OCFS2_DIR_H
 
+struct ocfs2_dx_hinfo {
+       u32     major_hash;
+       u32     minor_hash;
+};
+
 struct ocfs2_dir_lookup_result {
-       struct buffer_head              *dl_leaf_bh;
-       struct ocfs2_dir_entry          *dl_entry;
+       struct buffer_head              *dl_leaf_bh;    /* Unindexed leaf
+                                                        * block */
+       struct ocfs2_dir_entry          *dl_entry;      /* Target dirent in
+                                                        * unindexed leaf */
+
+       struct buffer_head              *dl_dx_root_bh; /* Root of indexed
+                                                        * tree */
+
+       struct buffer_head              *dl_dx_leaf_bh; /* Indexed leaf block */
+       struct ocfs2_dx_entry           *dl_dx_entry;   /* Target dx_entry in
+                                                        * indexed leaf */
+       struct ocfs2_dx_hinfo           dl_hinfo;       /* Name hash results */
+
+       struct buffer_head              *dl_prev_leaf_bh;/* Previous entry in
+                                                         * dir free space
+                                                         * list. NULL if
+                                                         * previous entry is
+                                                         * dx root block. */
 };
+
 void ocfs2_free_dir_lookup_result(struct ocfs2_dir_lookup_result *res);
 
 int ocfs2_find_entry(const char *name, int namelen,
@@ -85,7 +107,10 @@ int ocfs2_fill_new_dir(struct ocfs2_super *osb,
                       struct inode *parent,
                       struct inode *inode,
                       struct buffer_head *fe_bh,
-                      struct ocfs2_alloc_context *data_ac);
+                      struct ocfs2_alloc_context *data_ac,
+                      struct ocfs2_alloc_context *meta_ac);
+
+int ocfs2_dx_dir_truncate(struct inode *dir, struct buffer_head *di_bh);
 
 struct ocfs2_dir_block_trailer *ocfs2_dir_trailer_from_size(int blocksize,
                                                            void *data);