diff options
author | Mark Fasheh <mark.fasheh@oracle.com> | 2007-06-18 13:48:04 -0400 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2007-07-10 20:32:00 -0400 |
commit | 328d5752e1259dfb29b7e65f6c2d145fddbaa750 (patch) | |
tree | 08198271a0382cafcc4c0de2fc1efcf35cb400af /fs/ocfs2/alloc.h | |
parent | c3afcbb34426a9291e4c038540129053a72c3cd8 (diff) |
ocfs2: btree changes for unwritten extents
Writes to a region marked as unwritten might result in a record split or
merge. We can support splits by making minor changes to the existing insert
code. Merges require left rotations which mostly re-use right rotation
support functions.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'fs/ocfs2/alloc.h')
-rw-r--r-- | fs/ocfs2/alloc.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/ocfs2/alloc.h b/fs/ocfs2/alloc.h index cb02e53b593c..d3acf45225c2 100644 --- a/fs/ocfs2/alloc.h +++ b/fs/ocfs2/alloc.h | |||
@@ -35,6 +35,11 @@ int ocfs2_insert_extent(struct ocfs2_super *osb, | |||
35 | u64 start_blk, | 35 | u64 start_blk, |
36 | u32 new_clusters, | 36 | u32 new_clusters, |
37 | struct ocfs2_alloc_context *meta_ac); | 37 | struct ocfs2_alloc_context *meta_ac); |
38 | struct ocfs2_cached_dealloc_ctxt; | ||
39 | int ocfs2_mark_extent_written(struct inode *inode, struct buffer_head *di_bh, | ||
40 | handle_t *handle, u32 cpos, u32 len, u32 phys, | ||
41 | struct ocfs2_alloc_context *meta_ac, | ||
42 | struct ocfs2_cached_dealloc_ctxt *dealloc); | ||
38 | int ocfs2_num_free_extents(struct ocfs2_super *osb, | 43 | int ocfs2_num_free_extents(struct ocfs2_super *osb, |
39 | struct inode *inode, | 44 | struct inode *inode, |
40 | struct ocfs2_dinode *fe); | 45 | struct ocfs2_dinode *fe); |
@@ -102,6 +107,7 @@ int ocfs2_commit_truncate(struct ocfs2_super *osb, | |||
102 | 107 | ||
103 | int ocfs2_find_leaf(struct inode *inode, struct ocfs2_extent_list *root_el, | 108 | int ocfs2_find_leaf(struct inode *inode, struct ocfs2_extent_list *root_el, |
104 | u32 cpos, struct buffer_head **leaf_bh); | 109 | u32 cpos, struct buffer_head **leaf_bh); |
110 | int ocfs2_search_extent_list(struct ocfs2_extent_list *el, u32 v_cluster); | ||
105 | 111 | ||
106 | /* | 112 | /* |
107 | * Helper function to look at the # of clusters in an extent record. | 113 | * Helper function to look at the # of clusters in an extent record. |