diff options
Diffstat (limited to 'fs/xfs/xfs_attr_leaf.c')
-rw-r--r-- | fs/xfs/xfs_attr_leaf.c | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/fs/xfs/xfs_attr_leaf.c b/fs/xfs/xfs_attr_leaf.c index b11256e58bf4..1cdd574c63a9 100644 --- a/fs/xfs/xfs_attr_leaf.c +++ b/fs/xfs/xfs_attr_leaf.c | |||
@@ -79,6 +79,8 @@ | |||
79 | /* | 79 | /* |
80 | * Routines used for growing the Btree. | 80 | * Routines used for growing the Btree. |
81 | */ | 81 | */ |
82 | STATIC int xfs_attr_leaf_create(xfs_da_args_t *args, xfs_dablk_t which_block, | ||
83 | xfs_dabuf_t **bpp); | ||
82 | STATIC int xfs_attr_leaf_add_work(xfs_dabuf_t *leaf_buffer, xfs_da_args_t *args, | 84 | STATIC int xfs_attr_leaf_add_work(xfs_dabuf_t *leaf_buffer, xfs_da_args_t *args, |
83 | int freemap_index); | 85 | int freemap_index); |
84 | STATIC void xfs_attr_leaf_compact(xfs_trans_t *trans, xfs_dabuf_t *leaf_buffer); | 86 | STATIC void xfs_attr_leaf_compact(xfs_trans_t *trans, xfs_dabuf_t *leaf_buffer); |
@@ -92,6 +94,16 @@ STATIC int xfs_attr_leaf_figure_balance(xfs_da_state_t *state, | |||
92 | int *number_usedbytes_in_blk1); | 94 | int *number_usedbytes_in_blk1); |
93 | 95 | ||
94 | /* | 96 | /* |
97 | * Routines used for shrinking the Btree. | ||
98 | */ | ||
99 | STATIC int xfs_attr_node_inactive(xfs_trans_t **trans, xfs_inode_t *dp, | ||
100 | xfs_dabuf_t *bp, int level); | ||
101 | STATIC int xfs_attr_leaf_inactive(xfs_trans_t **trans, xfs_inode_t *dp, | ||
102 | xfs_dabuf_t *bp); | ||
103 | STATIC int xfs_attr_leaf_freextent(xfs_trans_t **trans, xfs_inode_t *dp, | ||
104 | xfs_dablk_t blkno, int blkcnt); | ||
105 | |||
106 | /* | ||
95 | * Utility routines. | 107 | * Utility routines. |
96 | */ | 108 | */ |
97 | STATIC void xfs_attr_leaf_moveents(xfs_attr_leafblock_t *src_leaf, | 109 | STATIC void xfs_attr_leaf_moveents(xfs_attr_leafblock_t *src_leaf, |
@@ -99,6 +111,10 @@ STATIC void xfs_attr_leaf_moveents(xfs_attr_leafblock_t *src_leaf, | |||
99 | xfs_attr_leafblock_t *dst_leaf, | 111 | xfs_attr_leafblock_t *dst_leaf, |
100 | int dst_start, int move_count, | 112 | int dst_start, int move_count, |
101 | xfs_mount_t *mp); | 113 | xfs_mount_t *mp); |
114 | STATIC int xfs_attr_leaf_entsize(xfs_attr_leafblock_t *leaf, int index); | ||
115 | STATIC int xfs_attr_put_listent(xfs_attr_list_context_t *context, | ||
116 | attrnames_t *, char *name, int namelen, | ||
117 | int valuelen); | ||
102 | 118 | ||
103 | 119 | ||
104 | /*======================================================================== | 120 | /*======================================================================== |
@@ -774,7 +790,7 @@ out: | |||
774 | * Create the initial contents of a leaf attribute list | 790 | * Create the initial contents of a leaf attribute list |
775 | * or a leaf in a node attribute list. | 791 | * or a leaf in a node attribute list. |
776 | */ | 792 | */ |
777 | int | 793 | STATIC int |
778 | xfs_attr_leaf_create(xfs_da_args_t *args, xfs_dablk_t blkno, xfs_dabuf_t **bpp) | 794 | xfs_attr_leaf_create(xfs_da_args_t *args, xfs_dablk_t blkno, xfs_dabuf_t **bpp) |
779 | { | 795 | { |
780 | xfs_attr_leafblock_t *leaf; | 796 | xfs_attr_leafblock_t *leaf; |
@@ -2209,7 +2225,7 @@ xfs_attr_leaf_lasthash(xfs_dabuf_t *bp, int *count) | |||
2209 | * Calculate the number of bytes used to store the indicated attribute | 2225 | * Calculate the number of bytes used to store the indicated attribute |
2210 | * (whether local or remote only calculate bytes in this block). | 2226 | * (whether local or remote only calculate bytes in this block). |
2211 | */ | 2227 | */ |
2212 | int | 2228 | STATIC int |
2213 | xfs_attr_leaf_entsize(xfs_attr_leafblock_t *leaf, int index) | 2229 | xfs_attr_leaf_entsize(xfs_attr_leafblock_t *leaf, int index) |
2214 | { | 2230 | { |
2215 | xfs_attr_leaf_name_local_t *name_loc; | 2231 | xfs_attr_leaf_name_local_t *name_loc; |
@@ -2380,7 +2396,7 @@ xfs_attr_leaf_list_int(xfs_dabuf_t *bp, xfs_attr_list_context_t *context) | |||
2380 | * we may be reading them directly out of a user buffer. | 2396 | * we may be reading them directly out of a user buffer. |
2381 | */ | 2397 | */ |
2382 | /*ARGSUSED*/ | 2398 | /*ARGSUSED*/ |
2383 | int | 2399 | STATIC int |
2384 | xfs_attr_put_listent(xfs_attr_list_context_t *context, | 2400 | xfs_attr_put_listent(xfs_attr_list_context_t *context, |
2385 | attrnames_t *namesp, char *name, int namelen, int valuelen) | 2401 | attrnames_t *namesp, char *name, int namelen, int valuelen) |
2386 | { | 2402 | { |
@@ -2740,7 +2756,7 @@ xfs_attr_root_inactive(xfs_trans_t **trans, xfs_inode_t *dp) | |||
2740 | * Recurse (gasp!) through the attribute nodes until we find leaves. | 2756 | * Recurse (gasp!) through the attribute nodes until we find leaves. |
2741 | * We're doing a depth-first traversal in order to invalidate everything. | 2757 | * We're doing a depth-first traversal in order to invalidate everything. |
2742 | */ | 2758 | */ |
2743 | int | 2759 | STATIC int |
2744 | xfs_attr_node_inactive(xfs_trans_t **trans, xfs_inode_t *dp, xfs_dabuf_t *bp, | 2760 | xfs_attr_node_inactive(xfs_trans_t **trans, xfs_inode_t *dp, xfs_dabuf_t *bp, |
2745 | int level) | 2761 | int level) |
2746 | { | 2762 | { |
@@ -2849,7 +2865,7 @@ xfs_attr_node_inactive(xfs_trans_t **trans, xfs_inode_t *dp, xfs_dabuf_t *bp, | |||
2849 | * Note that we must release the lock on the buffer so that we are not | 2865 | * Note that we must release the lock on the buffer so that we are not |
2850 | * caught holding something that the logging code wants to flush to disk. | 2866 | * caught holding something that the logging code wants to flush to disk. |
2851 | */ | 2867 | */ |
2852 | int | 2868 | STATIC int |
2853 | xfs_attr_leaf_inactive(xfs_trans_t **trans, xfs_inode_t *dp, xfs_dabuf_t *bp) | 2869 | xfs_attr_leaf_inactive(xfs_trans_t **trans, xfs_inode_t *dp, xfs_dabuf_t *bp) |
2854 | { | 2870 | { |
2855 | xfs_attr_leafblock_t *leaf; | 2871 | xfs_attr_leafblock_t *leaf; |
@@ -2934,7 +2950,7 @@ xfs_attr_leaf_inactive(xfs_trans_t **trans, xfs_inode_t *dp, xfs_dabuf_t *bp) | |||
2934 | * Look at all the extents for this logical region, | 2950 | * Look at all the extents for this logical region, |
2935 | * invalidate any buffers that are incore/in transactions. | 2951 | * invalidate any buffers that are incore/in transactions. |
2936 | */ | 2952 | */ |
2937 | int | 2953 | STATIC int |
2938 | xfs_attr_leaf_freextent(xfs_trans_t **trans, xfs_inode_t *dp, | 2954 | xfs_attr_leaf_freextent(xfs_trans_t **trans, xfs_inode_t *dp, |
2939 | xfs_dablk_t blkno, int blkcnt) | 2955 | xfs_dablk_t blkno, int blkcnt) |
2940 | { | 2956 | { |