aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ctree.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2008-01-03 10:01:48 -0500
committerChris Mason <chris.mason@oracle.com>2008-09-25 11:03:58 -0400
commit98ed51747b63435b9987ef12692a75c223818bbe (patch)
treef7f983d4754b267d8c7ed279a68e2d0ca970784c /fs/btrfs/ctree.c
parentf9ef6604ace23a6fcd698e08b58a883d6009157b (diff)
Btrfs: Force inlining off in a few places to save stack usage
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/ctree.c')
-rw-r--r--fs/btrfs/ctree.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index 8fa92a2d9819..35c57074a376 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -548,8 +548,8 @@ static int check_leaf(struct btrfs_root *root, struct btrfs_path *path,
548 return 0; 548 return 0;
549} 549}
550 550
551static int check_block(struct btrfs_root *root, struct btrfs_path *path, 551static int noinline check_block(struct btrfs_root *root,
552 int level) 552 struct btrfs_path *path, int level)
553{ 553{
554 return 0; 554 return 0;
555#if 0 555#if 0
@@ -676,8 +676,9 @@ static struct extent_buffer *read_node_slot(struct btrfs_root *root,
676 btrfs_level_size(root, btrfs_header_level(parent) - 1)); 676 btrfs_level_size(root, btrfs_header_level(parent) - 1));
677} 677}
678 678
679static int balance_level(struct btrfs_trans_handle *trans, struct btrfs_root 679static int balance_level(struct btrfs_trans_handle *trans,
680 *root, struct btrfs_path *path, int level) 680 struct btrfs_root *root,
681 struct btrfs_path *path, int level)
681{ 682{
682 struct extent_buffer *right = NULL; 683 struct extent_buffer *right = NULL;
683 struct extent_buffer *mid; 684 struct extent_buffer *mid;
@@ -868,9 +869,9 @@ enospc:
868} 869}
869 870
870/* returns zero if the push worked, non-zero otherwise */ 871/* returns zero if the push worked, non-zero otherwise */
871static int push_nodes_for_insert(struct btrfs_trans_handle *trans, 872static int noinline push_nodes_for_insert(struct btrfs_trans_handle *trans,
872 struct btrfs_root *root, 873 struct btrfs_root *root,
873 struct btrfs_path *path, int level) 874 struct btrfs_path *path, int level)
874{ 875{
875 struct extent_buffer *right = NULL; 876 struct extent_buffer *right = NULL;
876 struct extent_buffer *mid; 877 struct extent_buffer *mid;
@@ -1207,8 +1208,8 @@ static int fixup_low_keys(struct btrfs_trans_handle *trans,
1207 * returns 0 if some ptrs were pushed left, < 0 if there was some horrible 1208 * returns 0 if some ptrs were pushed left, < 0 if there was some horrible
1208 * error, and > 0 if there was no room in the left hand block. 1209 * error, and > 0 if there was no room in the left hand block.
1209 */ 1210 */
1210static int push_node_left(struct btrfs_trans_handle *trans, struct btrfs_root 1211static int push_node_left(struct btrfs_trans_handle *trans,
1211 *root, struct extent_buffer *dst, 1212 struct btrfs_root *root, struct extent_buffer *dst,
1212 struct extent_buffer *src) 1213 struct extent_buffer *src)
1213{ 1214{
1214 int push_items = 0; 1215 int push_items = 0;
@@ -1309,7 +1310,7 @@ static int balance_node_right(struct btrfs_trans_handle *trans,
1309 * 1310 *
1310 * returns zero on success or < 0 on failure. 1311 * returns zero on success or < 0 on failure.
1311 */ 1312 */
1312static int insert_new_root(struct btrfs_trans_handle *trans, 1313static int noinline insert_new_root(struct btrfs_trans_handle *trans,
1313 struct btrfs_root *root, 1314 struct btrfs_root *root,
1314 struct btrfs_path *path, int level) 1315 struct btrfs_path *path, int level)
1315{ 1316{