aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/alloc.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ocfs2/alloc.h')
-rw-r--r--fs/ocfs2/alloc.h42
1 files changed, 28 insertions, 14 deletions
diff --git a/fs/ocfs2/alloc.h b/fs/ocfs2/alloc.h
index 5e090c5d8498..ec7baeb2ea7d 100644
--- a/fs/ocfs2/alloc.h
+++ b/fs/ocfs2/alloc.h
@@ -28,19 +28,29 @@
28 28
29enum ocfs2_extent_tree_type { 29enum ocfs2_extent_tree_type {
30 OCFS2_DINODE_EXTENT = 0, 30 OCFS2_DINODE_EXTENT = 0,
31 OCFS2_XATTR_VALUE_EXTENT,
31}; 32};
32 33
33struct ocfs2_alloc_context; 34struct ocfs2_alloc_context;
34int ocfs2_insert_extent(struct ocfs2_super *osb, 35int ocfs2_dinode_insert_extent(struct ocfs2_super *osb,
35 handle_t *handle, 36 handle_t *handle,
36 struct inode *inode, 37 struct inode *inode,
37 struct buffer_head *root_bh, 38 struct buffer_head *root_bh,
38 u32 cpos, 39 u32 cpos,
39 u64 start_blk, 40 u64 start_blk,
40 u32 new_clusters, 41 u32 new_clusters,
41 u8 flags, 42 u8 flags,
42 struct ocfs2_alloc_context *meta_ac, 43 struct ocfs2_alloc_context *meta_ac);
43 enum ocfs2_extent_tree_type et_type); 44int ocfs2_xattr_value_insert_extent(struct ocfs2_super *osb,
45 handle_t *handle,
46 struct inode *inode,
47 struct buffer_head *root_bh,
48 u32 cpos,
49 u64 start_blk,
50 u32 new_clusters,
51 u8 flags,
52 struct ocfs2_alloc_context *meta_ac,
53 void *private);
44enum ocfs2_alloc_restarted { 54enum ocfs2_alloc_restarted {
45 RESTART_NONE = 0, 55 RESTART_NONE = 0,
46 RESTART_TRANS, 56 RESTART_TRANS,
@@ -57,22 +67,26 @@ int ocfs2_add_clusters_in_btree(struct ocfs2_super *osb,
57 struct ocfs2_alloc_context *data_ac, 67 struct ocfs2_alloc_context *data_ac,
58 struct ocfs2_alloc_context *meta_ac, 68 struct ocfs2_alloc_context *meta_ac,
59 enum ocfs2_alloc_restarted *reason_ret, 69 enum ocfs2_alloc_restarted *reason_ret,
60 enum ocfs2_extent_tree_type type); 70 enum ocfs2_extent_tree_type type,
71 void *private);
61struct ocfs2_cached_dealloc_ctxt; 72struct ocfs2_cached_dealloc_ctxt;
62int ocfs2_mark_extent_written(struct inode *inode, struct buffer_head *root_bh, 73int ocfs2_mark_extent_written(struct inode *inode, struct buffer_head *root_bh,
63 handle_t *handle, u32 cpos, u32 len, u32 phys, 74 handle_t *handle, u32 cpos, u32 len, u32 phys,
64 struct ocfs2_alloc_context *meta_ac, 75 struct ocfs2_alloc_context *meta_ac,
65 struct ocfs2_cached_dealloc_ctxt *dealloc, 76 struct ocfs2_cached_dealloc_ctxt *dealloc,
66 enum ocfs2_extent_tree_type et_type); 77 enum ocfs2_extent_tree_type et_type,
78 void *private);
67int ocfs2_remove_extent(struct inode *inode, struct buffer_head *root_bh, 79int ocfs2_remove_extent(struct inode *inode, struct buffer_head *root_bh,
68 u32 cpos, u32 len, handle_t *handle, 80 u32 cpos, u32 len, handle_t *handle,
69 struct ocfs2_alloc_context *meta_ac, 81 struct ocfs2_alloc_context *meta_ac,
70 struct ocfs2_cached_dealloc_ctxt *dealloc, 82 struct ocfs2_cached_dealloc_ctxt *dealloc,
71 enum ocfs2_extent_tree_type et_type); 83 enum ocfs2_extent_tree_type et_type,
84 void *private);
72int ocfs2_num_free_extents(struct ocfs2_super *osb, 85int ocfs2_num_free_extents(struct ocfs2_super *osb,
73 struct inode *inode, 86 struct inode *inode,
74 struct buffer_head *root_bh, 87 struct buffer_head *root_bh,
75 enum ocfs2_extent_tree_type et_type); 88 enum ocfs2_extent_tree_type et_type,
89 void *private);
76 90
77/* 91/*
78 * how many new metadata chunks would an allocation need at maximum? 92 * how many new metadata chunks would an allocation need at maximum?