aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/alloc.h
diff options
context:
space:
mode:
authorTao Ma <tao.ma@oracle.com>2008-08-18 05:38:43 -0400
committerMark Fasheh <mfasheh@suse.com>2008-10-13 16:57:58 -0400
commit811f933df1e55615fd0bb4818f31e3868a8e6e23 (patch)
tree53335e59bdff02d7ddb3a2ec15d36239fe50003d /fs/ocfs2/alloc.h
parent231b87d10920e024efaf0f9e86e1bab7bced1620 (diff)
ocfs2: Use ocfs2_extent_list instead of ocfs2_dinode.
ocfs2_extend_meta_needed(), ocfs2_calc_extend_credits() and ocfs2_reserve_new_metadata() are all useful for extent tree operations. But they are all limited to an inode btree because they use a struct ocfs2_dinode parameter. Change their parameter to struct ocfs2_extent_list (the part of an ocfs2_dinode they actually use) so that the xattr btree code can use these functions. Signed-off-by: Tao Ma <tao.ma@oracle.com> Signed-off-by: Mark Fasheh <mfasheh@suse.com>
Diffstat (limited to 'fs/ocfs2/alloc.h')
-rw-r--r--fs/ocfs2/alloc.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/fs/ocfs2/alloc.h b/fs/ocfs2/alloc.h
index 5c0f764b59ec..a0e334f10cd1 100644
--- a/fs/ocfs2/alloc.h
+++ b/fs/ocfs2/alloc.h
@@ -48,8 +48,14 @@ int ocfs2_remove_extent(struct inode *inode, struct buffer_head *di_bh,
48int ocfs2_num_free_extents(struct ocfs2_super *osb, 48int ocfs2_num_free_extents(struct ocfs2_super *osb,
49 struct inode *inode, 49 struct inode *inode,
50 struct buffer_head *bh); 50 struct buffer_head *bh);
51/* how many new metadata chunks would an allocation need at maximum? */ 51/*
52static inline int ocfs2_extend_meta_needed(struct ocfs2_dinode *fe) 52 * how many new metadata chunks would an allocation need at maximum?
53 *
54 * Please note that the caller must make sure that root_el is the root
55 * of extent tree. So for an inode, it should be &fe->id2.i_list. Otherwise
56 * the result may be wrong.
57 */
58static inline int ocfs2_extend_meta_needed(struct ocfs2_extent_list *root_el)
53{ 59{
54 /* 60 /*
55 * Rather than do all the work of determining how much we need 61 * Rather than do all the work of determining how much we need
@@ -59,7 +65,7 @@ static inline int ocfs2_extend_meta_needed(struct ocfs2_dinode *fe)
59 * new tree_depth==0 extent_block, and one block at the new 65 * new tree_depth==0 extent_block, and one block at the new
60 * top-of-the tree. 66 * top-of-the tree.
61 */ 67 */
62 return le16_to_cpu(fe->id2.i_list.l_tree_depth) + 2; 68 return le16_to_cpu(root_el->l_tree_depth) + 2;
63} 69}
64 70
65void ocfs2_dinode_new_extent_list(struct inode *inode, struct ocfs2_dinode *di); 71void ocfs2_dinode_new_extent_list(struct inode *inode, struct ocfs2_dinode *di);