Btrfs: Force inlining off in a few places to save stack usage
Signed-off-by: Chris Mason <chris.mason@oracle.com>
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index 8fa92a2..35c5707 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -548,8 +548,8 @@
return 0;
}
-static int check_block(struct btrfs_root *root, struct btrfs_path *path,
- int level)
+static int noinline check_block(struct btrfs_root *root,
+ struct btrfs_path *path, int level)
{
return 0;
#if 0
@@ -676,8 +676,9 @@
btrfs_level_size(root, btrfs_header_level(parent) - 1));
}
-static int balance_level(struct btrfs_trans_handle *trans, struct btrfs_root
- *root, struct btrfs_path *path, int level)
+static int balance_level(struct btrfs_trans_handle *trans,
+ struct btrfs_root *root,
+ struct btrfs_path *path, int level)
{
struct extent_buffer *right = NULL;
struct extent_buffer *mid;
@@ -868,9 +869,9 @@
}
/* returns zero if the push worked, non-zero otherwise */
-static int push_nodes_for_insert(struct btrfs_trans_handle *trans,
- struct btrfs_root *root,
- struct btrfs_path *path, int level)
+static int noinline push_nodes_for_insert(struct btrfs_trans_handle *trans,
+ struct btrfs_root *root,
+ struct btrfs_path *path, int level)
{
struct extent_buffer *right = NULL;
struct extent_buffer *mid;
@@ -1207,8 +1208,8 @@
* returns 0 if some ptrs were pushed left, < 0 if there was some horrible
* error, and > 0 if there was no room in the left hand block.
*/
-static int push_node_left(struct btrfs_trans_handle *trans, struct btrfs_root
- *root, struct extent_buffer *dst,
+static int push_node_left(struct btrfs_trans_handle *trans,
+ struct btrfs_root *root, struct extent_buffer *dst,
struct extent_buffer *src)
{
int push_items = 0;
@@ -1309,7 +1310,7 @@
*
* returns zero on success or < 0 on failure.
*/
-static int insert_new_root(struct btrfs_trans_handle *trans,
+static int noinline insert_new_root(struct btrfs_trans_handle *trans,
struct btrfs_root *root,
struct btrfs_path *path, int level)
{