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
                       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;
 }
 
 /* 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;
  * 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;
  *
  * 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)
 {
 
                return block_group;
        return NULL;
 }
-static u64 find_search_start(struct btrfs_root *root,
-                            struct btrfs_block_group_cache **cache_ret,
-                            u64 search_start, int num,
-                            int data, int full_scan)
+
+static u64 noinline find_search_start(struct btrfs_root *root,
+                             struct btrfs_block_group_cache **cache_ret,
+                             u64 search_start, int num,
+                             int data, int full_scan)
 {
        int ret;
        struct btrfs_block_group_cache *cache = *cache_ret;
        return ret == 0;
 }
 
-static int lookup_extent_backref(struct btrfs_trans_handle *trans,
-                                struct btrfs_root *root,
-                                struct btrfs_path *path, u64 bytenr,
-                                u64 root_objectid, u64 ref_generation,
-                                u64 owner, u64 owner_offset, int del)
+static int noinline lookup_extent_backref(struct btrfs_trans_handle *trans,
+                                         struct btrfs_root *root,
+                                         struct btrfs_path *path, u64 bytenr,
+                                         u64 root_objectid,
+                                         u64 ref_generation, u64 owner,
+                                         u64 owner_offset, int del)
 {
        u64 hash;
        struct btrfs_key key;
        return 0;
 }
 
-static int finish_current_insert(struct btrfs_trans_handle *trans, struct
-                                btrfs_root *extent_root)
+static int finish_current_insert(struct btrfs_trans_handle *trans,
+                                struct btrfs_root *extent_root)
 {
        u64 start;
        u64 end;
  * ins->offset == number of blocks
  * Any available blocks before search_start are skipped.
  */
-static int find_free_extent(struct btrfs_trans_handle *trans, struct btrfs_root
-                           *orig_root, u64 num_bytes, u64 empty_size,
-                           u64 search_start, u64 search_end, u64 hint_byte,
-                           struct btrfs_key *ins, u64 exclude_start,
-                           u64 exclude_nr, int data)
+static int noinline find_free_extent(struct btrfs_trans_handle *trans,
+                                    struct btrfs_root *orig_root,
+                                    u64 num_bytes, u64 empty_size,
+                                    u64 search_start, u64 search_end,
+                                    u64 hint_byte, struct btrfs_key *ins,
+                                    u64 exclude_start, u64 exclude_nr,
+                                    int data)
 {
        struct btrfs_path *path;
        struct btrfs_key key;
        return buf;
 }
 
-static int drop_leaf_ref(struct btrfs_trans_handle *trans,
-                        struct btrfs_root *root, struct extent_buffer *leaf)
+static int noinline drop_leaf_ref(struct btrfs_trans_handle *trans,
+                                 struct btrfs_root *root,
+                                 struct extent_buffer *leaf)
 {
        u64 leaf_owner;
        u64 leaf_generation;
        return 0;
 }
 
-static void reada_walk_down(struct btrfs_root *root,
-                           struct extent_buffer *node)
+static void noinline reada_walk_down(struct btrfs_root *root,
+                                    struct extent_buffer *node)
 {
        int i;
        u32 nritems;
  * helper function for drop_snapshot, this walks down the tree dropping ref
  * counts as it goes.
  */
-static int walk_down_tree(struct btrfs_trans_handle *trans, struct btrfs_root
-                         *root, struct btrfs_path *path, int *level)
+static int noinline walk_down_tree(struct btrfs_trans_handle *trans,
+                                  struct btrfs_root *root,
+                                  struct btrfs_path *path, int *level)
 {
        u64 root_owner;
        u64 root_gen;
  * to find the first node higher up where we haven't yet gone through
  * all the slots
  */
-static int walk_up_tree(struct btrfs_trans_handle *trans, struct btrfs_root
-                       *root, struct btrfs_path *path, int *level)
+static int noinline walk_up_tree(struct btrfs_trans_handle *trans,
+                                struct btrfs_root *root,
+                                struct btrfs_path *path, int *level)
 {
        u64 root_owner;
        u64 root_gen;
        return 0;
 }
 
-static int relocate_inode_pages(struct inode *inode, u64 start, u64 len)
+static int noinline relocate_inode_pages(struct inode *inode, u64 start,
+                                        u64 len)
 {
        u64 page_start;
        u64 page_end;
 /*
  * note, this releases the path
  */
-static int relocate_one_reference(struct btrfs_root *extent_root,
+static int noinline relocate_one_reference(struct btrfs_root *extent_root,
                                  struct btrfs_path *path,
                                  struct btrfs_key *extent_key)
 {
        return 0;
 }
 
-static int relocate_one_extent(struct btrfs_root *extent_root,
-                              struct btrfs_path *path,
-                              struct btrfs_key *extent_key)
+static int noinline relocate_one_extent(struct btrfs_root *extent_root,
+                                       struct btrfs_path *path,
+                                       struct btrfs_key *extent_key)
 {
        struct btrfs_key key;
        struct btrfs_key found_key;
 
        }
 }
 
-static int insert_inline_extent(struct btrfs_trans_handle *trans,
+static int noinline insert_inline_extent(struct btrfs_trans_handle *trans,
                                struct btrfs_root *root, struct inode *inode,
                                u64 offset, size_t size,
                                struct page **pages, size_t page_offset,
        return err;
 }
 
-static int dirty_and_release_pages(struct btrfs_trans_handle *trans,
+static int noinline dirty_and_release_pages(struct btrfs_trans_handle *trans,
                                   struct btrfs_root *root,
                                   struct file *file,
                                   struct page **pages,
 /*
  * this gets pages into the page cache and locks them down
  */
-static int prepare_pages(struct btrfs_root *root,
-                        struct file *file,
-                        struct page **pages,
-                        size_t num_pages,
-                        loff_t pos,
-                        unsigned long first_index,
-                        unsigned long last_index,
-                        size_t write_bytes)
+static int prepare_pages(struct btrfs_root *root, struct file *file,
+                        struct page **pages, size_t num_pages,
+                        loff_t pos, unsigned long first_index,
+                        unsigned long last_index, size_t write_bytes)
 {
        int i;
        unsigned long index = pos >> PAGE_CACHE_SHIFT;