On 04/19/13 21:21, Eric Sandeen wrote:
> Big patch, but all it does is add statics to functions which
> are in fact static, then remove the associated dead-code fallout.
> 
> removed functions:
> 
> btrfs_iref_to_path()
> __btrfs_lookup_delayed_deletion_item()
> __btrfs_search_delayed_insertion_item()
> __btrfs_search_delayed_deletion_item()
> find_eb_for_page()
> btrfs_find_block_group()
> range_straddles_pages()
> extent_range_uptodate()
> btrfs_file_extent_length()
> btrfs_reada_detach()
> btrfs_scrub_cancel_devid()
> btrfs_start_transaction_lflush()
> 
> btrfs_print_tree() is left because it is used for debugging.
> ulist.c functions are left because that one is odd; they're exported?

I originally wrote them to be included under lib/, but got no response
on LKML, so I added it only to btrfs, but forgot to remove the exports
for that.
I think it would still make sense to move them to lib/, as this data
structure can be quite useful from time to time.

-Arne

> 
> Signed-off-by: Eric Sandeen <sand...@redhat.com>
> ---
> 
> diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c
> index bd605c8..cb8acab 100644
> --- a/fs/btrfs/backref.c
> +++ b/fs/btrfs/backref.c
> @@ -1249,32 +1249,6 @@ char *btrfs_ref_to_path(struct btrfs_root *fs_root, 
> struct btrfs_path *path,
>  }
>  
>  /*
> - * this iterates to turn a btrfs_inode_ref into a full filesystem path. 
> elements
> - * of the path are separated by '/' and the path is guaranteed to be
> - * 0-terminated. the path is only given within the current file system.
> - * Therefore, it never starts with a '/'. the caller is responsible to 
> provide
> - * "size" bytes in "dest". the dest buffer will be filled backwards. finally,
> - * the start point of the resulting string is returned. this pointer is 
> within
> - * dest, normally.
> - * in case the path buffer would overflow, the pointer is decremented further
> - * as if output was written to the buffer, though no more output is actually
> - * generated. that way, the caller can determine how much space would be
> - * required for the path to fit into the buffer. in that case, the returned
> - * value will be smaller than dest. callers must check this!
> - */
> -char *btrfs_iref_to_path(struct btrfs_root *fs_root,
> -                      struct btrfs_path *path,
> -                      struct btrfs_inode_ref *iref,
> -                      struct extent_buffer *eb_in, u64 parent,
> -                      char *dest, u32 size)
> -{
> -     return btrfs_ref_to_path(fs_root, path,
> -                              btrfs_inode_ref_name_len(eb_in, iref),
> -                              (unsigned long)(iref + 1),
> -                              eb_in, parent, dest, size);
> -}
> -
> -/*
>   * this makes the path point to (logical EXTENT_ITEM *)
>   * returns BTRFS_EXTENT_FLAG_DATA for data, BTRFS_EXTENT_FLAG_TREE_BLOCK for
>   * tree blocks and <0 on error.
> diff --git a/fs/btrfs/backref.h b/fs/btrfs/backref.h
> index 310a7f6..0f446d7 100644
> --- a/fs/btrfs/backref.h
> +++ b/fs/btrfs/backref.h
> @@ -59,9 +59,6 @@ int paths_from_inode(u64 inum, struct inode_fs_paths 
> *ipath);
>  int btrfs_find_all_roots(struct btrfs_trans_handle *trans,
>                               struct btrfs_fs_info *fs_info, u64 bytenr,
>                               u64 time_seq, struct ulist **roots);
> -char *btrfs_iref_to_path(struct btrfs_root *fs_root, struct btrfs_path *path,
> -                      struct btrfs_inode_ref *iref, struct extent_buffer *eb,
> -                      u64 parent, char *dest, u32 size);
>  char *btrfs_ref_to_path(struct btrfs_root *fs_root, struct btrfs_path *path,
>                       u32 name_len, unsigned long name_off,
>                       struct extent_buffer *eb_in, u64 parent,
> diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c
> index 15b9408..e139bbf 100644
> --- a/fs/btrfs/compression.c
> +++ b/fs/btrfs/compression.c
> @@ -82,6 +82,10 @@ struct compressed_bio {
>       u32 sums;
>  };
>  
> +static int btrfs_decompress_biovec(int type, struct page **pages_in,
> +                                u64 disk_start, struct bio_vec *bvec,
> +                                int vcnt, size_t srclen);
> +
>  static inline int compressed_bio_size(struct btrfs_root *root,
>                                     unsigned long disk_size)
>  {
> @@ -739,7 +743,7 @@ static int comp_num_workspace[BTRFS_COMPRESS_TYPES];
>  static atomic_t comp_alloc_workspace[BTRFS_COMPRESS_TYPES];
>  static wait_queue_head_t comp_workspace_wait[BTRFS_COMPRESS_TYPES];
>  
> -struct btrfs_compress_op *btrfs_compress_op[] = {
> +static struct btrfs_compress_op *btrfs_compress_op[] = {
>       &btrfs_zlib_compress,
>       &btrfs_lzo_compress,
>  };
> @@ -910,8 +914,9 @@ int btrfs_compress_pages(int type, struct address_space 
> *mapping,
>   * be contiguous.  They all correspond to the range of bytes covered by
>   * the compressed extent.
>   */
> -int btrfs_decompress_biovec(int type, struct page **pages_in, u64 disk_start,
> -                         struct bio_vec *bvec, int vcnt, size_t srclen)
> +static int btrfs_decompress_biovec(int type, struct page **pages_in,
> +                                u64 disk_start, struct bio_vec *bvec,
> +                                int vcnt, size_t srclen)
>  {
>       struct list_head *workspace;
>       int ret;
> diff --git a/fs/btrfs/compression.h b/fs/btrfs/compression.h
> index 9afb0a6..0c803b4 100644
> --- a/fs/btrfs/compression.h
> +++ b/fs/btrfs/compression.h
> @@ -30,8 +30,6 @@ int btrfs_compress_pages(int type, struct address_space 
> *mapping,
>                        unsigned long *total_in,
>                        unsigned long *total_out,
>                        unsigned long max_out);
> -int btrfs_decompress_biovec(int type, struct page **pages_in, u64 disk_start,
> -                         struct bio_vec *bvec, int vcnt, size_t srclen);
>  int btrfs_decompress(int type, unsigned char *data_in, struct page 
> *dest_page,
>                    unsigned long start_byte, size_t srclen, size_t destlen);
>  int btrfs_decompress_buf2page(char *buf, unsigned long buf_start,
> diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
> index ca9d8f1..4e9259f 100644
> --- a/fs/btrfs/ctree.c
> +++ b/fs/btrfs/ctree.c
> @@ -41,12 +41,7 @@ static void del_ptr(struct btrfs_trans_handle *trans, 
> struct btrfs_root *root,
>                   struct btrfs_path *path, int level, int slot);
>  static void tree_mod_log_free_eb(struct btrfs_fs_info *fs_info,
>                                struct extent_buffer *eb);
> -struct extent_buffer *read_old_tree_block(struct btrfs_root *root, u64 
> bytenr,
> -                                       u32 blocksize, u64 parent_transid,
> -                                       u64 time_seq);
> -struct extent_buffer *btrfs_find_old_tree_block(struct btrfs_root *root,
> -                                             u64 bytenr, u32 blocksize,
> -                                             u64 time_seq);
> +static int btrfs_prev_leaf(struct btrfs_root *root, struct btrfs_path *path);
>  
>  struct btrfs_path *btrfs_alloc_path(void)
>  {
> @@ -208,7 +203,7 @@ struct extent_buffer *btrfs_lock_root_node(struct 
> btrfs_root *root)
>   * tree until you end up with a lock on the root.  A locked buffer
>   * is returned, with a reference held.
>   */
> -struct extent_buffer *btrfs_read_lock_root_node(struct btrfs_root *root)
> +static struct extent_buffer *btrfs_read_lock_root_node(struct btrfs_root 
> *root)
>  {
>       struct extent_buffer *eb;
>  
> diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
> index 0d82922..71db4a2 100644
> --- a/fs/btrfs/ctree.h
> +++ b/fs/btrfs/ctree.h
> @@ -3006,8 +3006,6 @@ int btrfs_lookup_extent(struct btrfs_root *root, u64 
> start, u64 len);
>  int btrfs_lookup_extent_info(struct btrfs_trans_handle *trans,
>                            struct btrfs_root *root, u64 bytenr,
>                            u64 num_bytes, u64 *refs, u64 *flags);
> -int btrfs_pin_extent(struct btrfs_root *root,
> -                  u64 bytenr, u64 num, int reserved);
>  int btrfs_pin_extent_for_log_replay(struct btrfs_root *root,
>                                   u64 bytenr, u64 num_bytes);
>  int btrfs_cross_ref_exist(struct btrfs_trans_handle *trans,
> @@ -3017,8 +3015,6 @@ struct btrfs_block_group_cache 
> *btrfs_lookup_block_group(
>                                                struct btrfs_fs_info *info,
>                                                u64 bytenr);
>  void btrfs_put_block_group(struct btrfs_block_group_cache *cache);
> -u64 btrfs_find_block_group(struct btrfs_root *root,
> -                        u64 search_start, u64 search_hint, int owner);
>  struct extent_buffer *btrfs_alloc_free_block(struct btrfs_trans_handle 
> *trans,
>                                       struct btrfs_root *root, u32 blocksize,
>                                       u64 parent, u64 root_objectid,
> @@ -3028,10 +3024,6 @@ void btrfs_free_tree_block(struct btrfs_trans_handle 
> *trans,
>                          struct btrfs_root *root,
>                          struct extent_buffer *buf,
>                          u64 parent, int last_ref);
> -struct extent_buffer *btrfs_init_new_buffer(struct btrfs_trans_handle *trans,
> -                                         struct btrfs_root *root,
> -                                         u64 bytenr, u32 blocksize,
> -                                         int level);
>  int btrfs_alloc_reserved_file_extent(struct btrfs_trans_handle *trans,
>                                    struct btrfs_root *root,
>                                    u64 root_objectid, u64 owner,
> @@ -3084,7 +3076,6 @@ int btrfs_remove_block_group(struct btrfs_trans_handle 
> *trans,
>                            struct btrfs_root *root, u64 group_start);
>  void btrfs_create_pending_block_groups(struct btrfs_trans_handle *trans,
>                                      struct btrfs_root *root);
> -u64 btrfs_reduce_alloc_profile(struct btrfs_root *root, u64 flags);
>  u64 btrfs_get_alloc_profile(struct btrfs_root *root, int data);
>  void btrfs_clear_space_info_full(struct btrfs_fs_info *info);
>  
> @@ -3281,7 +3272,6 @@ static inline int btrfs_next_item(struct btrfs_root 
> *root, struct btrfs_path *p)
>  {
>       return btrfs_next_old_item(root, p, 0);
>  }
> -int btrfs_prev_leaf(struct btrfs_root *root, struct btrfs_path *path);
>  int btrfs_leaf_free_space(struct btrfs_root *root, struct extent_buffer 
> *leaf);
>  int __must_check btrfs_drop_snapshot(struct btrfs_root *root,
>                                    struct btrfs_block_rsv *block_rsv,
> @@ -3380,9 +3370,6 @@ struct btrfs_dir_item *
>  btrfs_search_dir_index_item(struct btrfs_root *root,
>                           struct btrfs_path *path, u64 dirid,
>                           const char *name, int name_len);
> -struct btrfs_dir_item *btrfs_match_dir_item_name(struct btrfs_root *root,
> -                           struct btrfs_path *path,
> -                           const char *name, int name_len);
>  int btrfs_delete_one_dir_name(struct btrfs_trans_handle *trans,
>                             struct btrfs_root *root,
>                             struct btrfs_path *path,
> @@ -3460,16 +3447,11 @@ int btrfs_lookup_file_extent(struct 
> btrfs_trans_handle *trans,
>                            struct btrfs_root *root,
>                            struct btrfs_path *path, u64 objectid,
>                            u64 bytenr, int mod);
> -u64 btrfs_file_extent_length(struct btrfs_path *path);
>  int btrfs_csum_file_blocks(struct btrfs_trans_handle *trans,
>                          struct btrfs_root *root,
>                          struct btrfs_ordered_sum *sums);
>  int btrfs_csum_one_bio(struct btrfs_root *root, struct inode *inode,
>                      struct bio *bio, u64 file_start, int contig);
> -struct btrfs_csum_item *btrfs_lookup_csum(struct btrfs_trans_handle *trans,
> -                                       struct btrfs_root *root,
> -                                       struct btrfs_path *path,
> -                                       u64 bytenr, int cow);
>  int btrfs_csum_truncate(struct btrfs_trans_handle *trans,
>                       struct btrfs_root *root, struct btrfs_path *path,
>                       u64 isize);
> @@ -3531,8 +3513,6 @@ int btrfs_truncate_inode_items(struct 
> btrfs_trans_handle *trans,
>  int btrfs_start_delalloc_inodes(struct btrfs_root *root, int delay_iput);
>  int btrfs_set_extent_delalloc(struct inode *inode, u64 start, u64 end,
>                             struct extent_state **cached_state);
> -int btrfs_writepages(struct address_space *mapping,
> -                  struct writeback_control *wbc);
>  int btrfs_create_subvol_root(struct btrfs_trans_handle *trans,
>                            struct btrfs_root *new_root, u64 new_dirid);
>  int btrfs_merge_bio_hook(int rw, struct page *page, unsigned long offset,
> @@ -3542,7 +3522,6 @@ int btrfs_page_mkwrite(struct vm_area_struct *vma, 
> struct vm_fault *vmf);
>  int btrfs_readpage(struct file *file, struct page *page);
>  void btrfs_evict_inode(struct inode *inode);
>  int btrfs_write_inode(struct inode *inode, struct writeback_control *wbc);
> -int btrfs_dirty_inode(struct inode *inode);
>  struct inode *btrfs_alloc_inode(struct super_block *sb);
>  void btrfs_destroy_inode(struct inode *inode);
>  int btrfs_drop_inode(struct inode *inode);
> @@ -3560,7 +3539,6 @@ int btrfs_update_inode(struct btrfs_trans_handle *trans,
>  int btrfs_update_inode_fallback(struct btrfs_trans_handle *trans,
>                               struct btrfs_root *root, struct inode *inode);
>  int btrfs_orphan_add(struct btrfs_trans_handle *trans, struct inode *inode);
> -int btrfs_orphan_del(struct btrfs_trans_handle *trans, struct inode *inode);
>  int btrfs_orphan_cleanup(struct btrfs_root *root);
>  void btrfs_orphan_commit_root(struct btrfs_trans_handle *trans,
>                             struct btrfs_root *root);
> @@ -3601,17 +3579,12 @@ int btrfs_replace_extent_cache(struct inode *inode, 
> struct extent_map *replace,
>                              u64 start, u64 end, int skip_pinned,
>                              int modified);
>  extern const struct file_operations btrfs_file_operations;
> -int __btrfs_drop_extents(struct btrfs_trans_handle *trans,
> -                      struct btrfs_root *root, struct inode *inode,
> -                      struct btrfs_path *path, u64 start, u64 end,
> -                      u64 *drop_end, int drop_cache);
>  int btrfs_drop_extents(struct btrfs_trans_handle *trans,
>                      struct btrfs_root *root, struct inode *inode, u64 start,
>                      u64 end, int drop_cache);
>  int btrfs_mark_extent_written(struct btrfs_trans_handle *trans,
>                             struct inode *inode, u64 start, u64 end);
>  int btrfs_release_file(struct inode *inode, struct file *file);
> -void btrfs_drop_pages(struct page **pages, size_t num_pages);
>  int btrfs_dirty_pages(struct btrfs_root *root, struct inode *inode,
>                     struct page **pages, size_t num_pages,
>                     loff_t pos, size_t write_bytes,
> @@ -3753,7 +3726,6 @@ void btrfs_scrub_continue_super(struct btrfs_root 
> *root);
>  int btrfs_scrub_cancel(struct btrfs_fs_info *info);
>  int btrfs_scrub_cancel_dev(struct btrfs_fs_info *info,
>                          struct btrfs_device *dev);
> -int btrfs_scrub_cancel_devid(struct btrfs_root *root, u64 devid);
>  int btrfs_scrub_progress(struct btrfs_root *root, u64 devid,
>                        struct btrfs_scrub_progress *progress);
>  
> @@ -3769,7 +3741,6 @@ struct reada_control {
>  struct reada_control *btrfs_reada_add(struct btrfs_root *root,
>                             struct btrfs_key *start, struct btrfs_key *end);
>  int btrfs_reada_wait(void *handle);
> -void btrfs_reada_detach(void *handle);
>  int btree_readahead_hook(struct btrfs_root *root, struct extent_buffer *eb,
>                        u64 start, int err);
>  
> diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c
> index 14fce27..b75b2cd 100644
> --- a/fs/btrfs/delayed-inode.c
> +++ b/fs/btrfs/delayed-inode.c
> @@ -202,7 +202,7 @@ static void btrfs_dequeue_delayed_node(struct 
> btrfs_delayed_root *root,
>       spin_unlock(&root->lock);
>  }
>  
> -struct btrfs_delayed_node *btrfs_first_delayed_node(
> +static struct btrfs_delayed_node *btrfs_first_delayed_node(
>                       struct btrfs_delayed_root *delayed_root)
>  {
>       struct list_head *p;
> @@ -221,7 +221,7 @@ out:
>       return node;
>  }
>  
> -struct btrfs_delayed_node *btrfs_next_delayed_node(
> +static struct btrfs_delayed_node *btrfs_next_delayed_node(
>                                               struct btrfs_delayed_node *node)
>  {
>       struct btrfs_delayed_root *delayed_root;
> @@ -282,7 +282,7 @@ static inline void btrfs_release_delayed_node(struct 
> btrfs_delayed_node *node)
>       __btrfs_release_delayed_node(node, 0);
>  }
>  
> -struct btrfs_delayed_node *btrfs_first_prepared_delayed_node(
> +static struct btrfs_delayed_node *btrfs_first_prepared_delayed_node(
>                                       struct btrfs_delayed_root *delayed_root)
>  {
>       struct list_head *p;
> @@ -308,7 +308,7 @@ static inline void btrfs_release_prepared_delayed_node(
>       __btrfs_release_delayed_node(node, 1);
>  }
>  
> -struct btrfs_delayed_item *btrfs_alloc_delayed_item(u32 data_len)
> +static struct btrfs_delayed_item *btrfs_alloc_delayed_item(u32 data_len)
>  {
>       struct btrfs_delayed_item *item;
>       item = kmalloc(sizeof(*item) + data_len, GFP_NOFS);
> @@ -383,7 +383,7 @@ static struct btrfs_delayed_item 
> *__btrfs_lookup_delayed_item(
>       return NULL;
>  }
>  
> -struct btrfs_delayed_item *__btrfs_lookup_delayed_insertion_item(
> +static struct btrfs_delayed_item *__btrfs_lookup_delayed_insertion_item(
>                                       struct btrfs_delayed_node *delayed_node,
>                                       struct btrfs_key *key)
>  {
> @@ -394,45 +394,6 @@ struct btrfs_delayed_item 
> *__btrfs_lookup_delayed_insertion_item(
>       return item;
>  }
>  
> -struct btrfs_delayed_item *__btrfs_lookup_delayed_deletion_item(
> -                                     struct btrfs_delayed_node *delayed_node,
> -                                     struct btrfs_key *key)
> -{
> -     struct btrfs_delayed_item *item;
> -
> -     item = __btrfs_lookup_delayed_item(&delayed_node->del_root, key,
> -                                        NULL, NULL);
> -     return item;
> -}
> -
> -struct btrfs_delayed_item *__btrfs_search_delayed_insertion_item(
> -                                     struct btrfs_delayed_node *delayed_node,
> -                                     struct btrfs_key *key)
> -{
> -     struct btrfs_delayed_item *item, *next;
> -
> -     item = __btrfs_lookup_delayed_item(&delayed_node->ins_root, key,
> -                                        NULL, &next);
> -     if (!item)
> -             item = next;
> -
> -     return item;
> -}
> -
> -struct btrfs_delayed_item *__btrfs_search_delayed_deletion_item(
> -                                     struct btrfs_delayed_node *delayed_node,
> -                                     struct btrfs_key *key)
> -{
> -     struct btrfs_delayed_item *item, *next;
> -
> -     item = __btrfs_lookup_delayed_item(&delayed_node->del_root, key,
> -                                        NULL, &next);
> -     if (!item)
> -             item = next;
> -
> -     return item;
> -}
> -
>  static int __btrfs_add_delayed_item(struct btrfs_delayed_node *delayed_node,
>                                   struct btrfs_delayed_item *ins,
>                                   int action)
> @@ -535,7 +496,7 @@ static void btrfs_release_delayed_item(struct 
> btrfs_delayed_item *item)
>       }
>  }
>  
> -struct btrfs_delayed_item *__btrfs_first_delayed_insertion_item(
> +static struct btrfs_delayed_item *__btrfs_first_delayed_insertion_item(
>                                       struct btrfs_delayed_node *delayed_node)
>  {
>       struct rb_node *p;
> @@ -548,7 +509,7 @@ struct btrfs_delayed_item 
> *__btrfs_first_delayed_insertion_item(
>       return item;
>  }
>  
> -struct btrfs_delayed_item *__btrfs_first_delayed_deletion_item(
> +static struct btrfs_delayed_item *__btrfs_first_delayed_deletion_item(
>                                       struct btrfs_delayed_node *delayed_node)
>  {
>       struct rb_node *p;
> @@ -561,7 +522,7 @@ struct btrfs_delayed_item 
> *__btrfs_first_delayed_deletion_item(
>       return item;
>  }
>  
> -struct btrfs_delayed_item *__btrfs_next_delayed_item(
> +static struct btrfs_delayed_item *__btrfs_next_delayed_item(
>                                               struct btrfs_delayed_item *item)
>  {
>       struct rb_node *p;
> diff --git a/fs/btrfs/dir-item.c b/fs/btrfs/dir-item.c
> index 502c215..bc0e933 100644
> --- a/fs/btrfs/dir-item.c
> +++ b/fs/btrfs/dir-item.c
> @@ -21,6 +21,10 @@
>  #include "hash.h"
>  #include "transaction.h"
>  
> +static struct btrfs_dir_item *btrfs_match_dir_item_name(struct btrfs_root 
> *root,
> +                           struct btrfs_path *path,
> +                           const char *name, int name_len);
> +
>  /*
>   * insert a name into a directory, doing overflow properly if there is a hash
>   * collision.  data_size indicates how big the item inserted should be.  On
> @@ -379,7 +383,7 @@ struct btrfs_dir_item *btrfs_lookup_xattr(struct 
> btrfs_trans_handle *trans,
>   * this walks through all the entries in a dir item and finds one
>   * for a specific name.
>   */
> -struct btrfs_dir_item *btrfs_match_dir_item_name(struct btrfs_root *root,
> +static struct btrfs_dir_item *btrfs_match_dir_item_name(struct btrfs_root 
> *root,
>                             struct btrfs_path *path,
>                             const char *name, int name_len)
>  {
> diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
> index 6d19a0a..eb20963 100644
> --- a/fs/btrfs/disk-io.c
> +++ b/fs/btrfs/disk-io.c
> @@ -69,6 +69,8 @@ static int btrfs_destroy_marked_extents(struct btrfs_root 
> *root,
>                                       int mark);
>  static int btrfs_destroy_pinned_extent(struct btrfs_root *root,
>                                      struct extent_io_tree *pinned_extents);
> +static int btrfs_cleanup_transaction(struct btrfs_root *root);
> +static void btrfs_error_commit_super(struct btrfs_root *root);
>  
>  /*
>   * end_io_wq structs are used to do processing in task context when an IO is
> @@ -530,41 +532,6 @@ static noinline int check_leaf(struct btrfs_root *root,
>       return 0;
>  }
>  
> -struct extent_buffer *find_eb_for_page(struct extent_io_tree *tree,
> -                                    struct page *page, int max_walk)
> -{
> -     struct extent_buffer *eb;
> -     u64 start = page_offset(page);
> -     u64 target = start;
> -     u64 min_start;
> -
> -     if (start < max_walk)
> -             min_start = 0;
> -     else
> -             min_start = start - max_walk;
> -
> -     while (start >= min_start) {
> -             eb = find_extent_buffer(tree, start, 0);
> -             if (eb) {
> -                     /*
> -                      * we found an extent buffer and it contains our page
> -                      * horray!
> -                      */
> -                     if (eb->start <= target &&
> -                         eb->start + eb->len > target)
> -                             return eb;
> -
> -                     /* we found an extent buffer that wasn't for us */
> -                     free_extent_buffer(eb);
> -                     return NULL;
> -             }
> -             if (start == 0)
> -                     break;
> -             start -= PAGE_CACHE_SIZE;
> -     }
> -     return NULL;
> -}
> -
>  static int btree_readpage_end_io_hook(struct page *page, u64 start, u64 end,
>                              struct extent_state *state, int mirror)
>  {
> @@ -3153,7 +3120,7 @@ int btrfs_calc_num_tolerated_disk_barrier_failures(
>       return num_tolerated_disk_barrier_failures;
>  }
>  
> -int write_all_supers(struct btrfs_root *root, int max_mirrors)
> +static int write_all_supers(struct btrfs_root *root, int max_mirrors)
>  {
>       struct list_head *head;
>       struct btrfs_device *dev;
> @@ -3578,7 +3545,7 @@ static int btrfs_check_super_valid(struct btrfs_fs_info 
> *fs_info,
>       return 0;
>  }
>  
> -void btrfs_error_commit_super(struct btrfs_root *root)
> +static void btrfs_error_commit_super(struct btrfs_root *root)
>  {
>       mutex_lock(&root->fs_info->cleaner_mutex);
>       btrfs_run_delayed_iputs(root);
> @@ -3866,7 +3833,7 @@ void btrfs_cleanup_one_transaction(struct 
> btrfs_transaction *cur_trans,
>       */
>  }
>  
> -int btrfs_cleanup_transaction(struct btrfs_root *root)
> +static int btrfs_cleanup_transaction(struct btrfs_root *root)
>  {
>       struct btrfs_transaction *t;
>       LIST_HEAD(list);
> diff --git a/fs/btrfs/disk-io.h b/fs/btrfs/disk-io.h
> index 034d7dc..16d30ec 100644
> --- a/fs/btrfs/disk-io.h
> +++ b/fs/btrfs/disk-io.h
> @@ -61,7 +61,6 @@ int write_ctree_super(struct btrfs_trans_handle *trans,
>                     struct btrfs_root *root, int max_mirrors);
>  struct buffer_head *btrfs_read_dev_super(struct block_device *bdev);
>  int btrfs_commit_super(struct btrfs_root *root);
> -void btrfs_error_commit_super(struct btrfs_root *root);
>  struct extent_buffer *btrfs_find_tree_block(struct btrfs_root *root,
>                                           u64 bytenr, u32 blocksize);
>  struct btrfs_root *btrfs_read_fs_root_no_radix(struct btrfs_root *tree_root,
> @@ -93,7 +92,6 @@ int btrfs_init_log_root_tree(struct btrfs_trans_handle 
> *trans,
>                            struct btrfs_fs_info *fs_info);
>  int btrfs_add_log_tree(struct btrfs_trans_handle *trans,
>                      struct btrfs_root *root);
> -int btrfs_cleanup_transaction(struct btrfs_root *root);
>  void btrfs_cleanup_one_transaction(struct btrfs_transaction *trans,
>                                 struct btrfs_root *root);
>  void btrfs_abort_devices(struct btrfs_root *root);
> diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
> index 3d55123..98c5c1d 100644
> --- a/fs/btrfs/extent-tree.c
> +++ b/fs/btrfs/extent-tree.c
> @@ -105,6 +105,8 @@ static int btrfs_update_reserved_bytes(struct 
> btrfs_block_group_cache *cache,
>                                      u64 num_bytes, int reserve);
>  static int block_rsv_use_bytes(struct btrfs_block_rsv *block_rsv,
>                              u64 num_bytes);
> +static int btrfs_pin_extent(struct btrfs_root *root,
> +                         u64 bytenr, u64 num_bytes, int reserved);
>  
>  static noinline int
>  block_group_cache_done(struct btrfs_block_group_cache *cache)
> @@ -656,55 +658,6 @@ void btrfs_clear_space_info_full(struct btrfs_fs_info 
> *info)
>       rcu_read_unlock();
>  }
>  
> -u64 btrfs_find_block_group(struct btrfs_root *root,
> -                        u64 search_start, u64 search_hint, int owner)
> -{
> -     struct btrfs_block_group_cache *cache;
> -     u64 used;
> -     u64 last = max(search_hint, search_start);
> -     u64 group_start = 0;
> -     int full_search = 0;
> -     int factor = 9;
> -     int wrapped = 0;
> -again:
> -     while (1) {
> -             cache = btrfs_lookup_first_block_group(root->fs_info, last);
> -             if (!cache)
> -                     break;
> -
> -             spin_lock(&cache->lock);
> -             last = cache->key.objectid + cache->key.offset;
> -             used = btrfs_block_group_used(&cache->item);
> -
> -             if ((full_search || !cache->ro) &&
> -                 block_group_bits(cache, BTRFS_BLOCK_GROUP_METADATA)) {
> -                     if (used + cache->pinned + cache->reserved <
> -                         div_factor(cache->key.offset, factor)) {
> -                             group_start = cache->key.objectid;
> -                             spin_unlock(&cache->lock);
> -                             btrfs_put_block_group(cache);
> -                             goto found;
> -                     }
> -             }
> -             spin_unlock(&cache->lock);
> -             btrfs_put_block_group(cache);
> -             cond_resched();
> -     }
> -     if (!wrapped) {
> -             last = search_start;
> -             wrapped = 1;
> -             goto again;
> -     }
> -     if (!full_search && factor < 10) {
> -             last = search_start;
> -             full_search = 1;
> -             factor = 10;
> -             goto again;
> -     }
> -found:
> -     return group_start;
> -}
> -
>  /* simple helper to search for an existing extent at a given offset */
>  int btrfs_lookup_extent(struct btrfs_root *root, u64 start, u64 len)
>  {
> @@ -3337,7 +3290,7 @@ static u64 get_restripe_target(struct btrfs_fs_info 
> *fs_info, u64 flags)
>   * progress (either running or paused) picks the target profile (if it's
>   * already available), otherwise falls back to plain reducing.
>   */
> -u64 btrfs_reduce_alloc_profile(struct btrfs_root *root, u64 flags)
> +static u64 btrfs_reduce_alloc_profile(struct btrfs_root *root, u64 flags)
>  {
>       /*
>        * we add in the count of missing devices because we want
> @@ -3808,8 +3761,8 @@ static int can_overcommit(struct btrfs_root *root,
>       return 0;
>  }
>  
> -void btrfs_writeback_inodes_sb_nr(struct btrfs_root *root,
> -                               unsigned long nr_pages)
> +static void btrfs_writeback_inodes_sb_nr(struct btrfs_root *root,
> +                                      unsigned long nr_pages)
>  {
>       struct super_block *sb = root->fs_info->sb;
>       int started;
> @@ -5069,8 +5022,8 @@ static int pin_down_extent(struct btrfs_root *root,
>  /*
>   * this function must be called within transaction
>   */
> -int btrfs_pin_extent(struct btrfs_root *root,
> -                  u64 bytenr, u64 num_bytes, int reserved)
> +static int btrfs_pin_extent(struct btrfs_root *root,
> +                         u64 bytenr, u64 num_bytes, int reserved)
>  {
>       struct btrfs_block_group_cache *cache;
>  
> @@ -6476,10 +6429,9 @@ int btrfs_alloc_logged_file_extent(struct 
> btrfs_trans_handle *trans,
>       return ret;
>  }
>  
> -struct extent_buffer *btrfs_init_new_buffer(struct btrfs_trans_handle *trans,
> -                                         struct btrfs_root *root,
> -                                         u64 bytenr, u32 blocksize,
> -                                         int level)
> +static struct extent_buffer *
> +btrfs_init_new_buffer(struct btrfs_trans_handle *trans, struct btrfs_root 
> *root,
> +                   u64 bytenr, u32 blocksize, int level)
>  {
>       struct extent_buffer *buf;
>  
> diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
> index cdee391..223aa6a 100644
> --- a/fs/btrfs/extent_io.c
> +++ b/fs/btrfs/extent_io.c
> @@ -463,7 +463,7 @@ alloc_extent_state_atomic(struct extent_state *prealloc)
>       return prealloc;
>  }
>  
> -void extent_io_tree_panic(struct extent_io_tree *tree, int err)
> +static void extent_io_tree_panic(struct extent_io_tree *tree, int err)
>  {
>       btrfs_panic(tree_fs_info(tree), err, "Locking error: "
>                   "Extent tree was modified by another "
> @@ -644,7 +644,8 @@ static void wait_on_state(struct extent_io_tree *tree,
>   * The range [start, end] is inclusive.
>   * The tree lock is taken by this function
>   */
> -void wait_extent_bit(struct extent_io_tree *tree, u64 start, u64 end, int 
> bits)
> +static void wait_extent_bit(struct extent_io_tree *tree, u64 start,
> +                         u64 end, int bits)
>  {
>       struct extent_state *state;
>       struct rb_node *node;
> @@ -1313,8 +1314,9 @@ static int set_range_writeback(struct extent_io_tree 
> *tree, u64 start, u64 end)
>   * return it.  tree->lock must be held.  NULL will returned if
>   * nothing was found after 'start'
>   */
> -struct extent_state *find_first_extent_bit_state(struct extent_io_tree *tree,
> -                                              u64 start, int bits)
> +static struct extent_state *
> +find_first_extent_bit_state(struct extent_io_tree *tree,
> +                         u64 start, int bits)
>  {
>       struct rb_node *node;
>       struct extent_state *state;
> @@ -2596,7 +2598,8 @@ static int submit_extent_page(int rw, struct 
> extent_io_tree *tree,
>       return ret;
>  }
>  
> -void attach_extent_buffer_page(struct extent_buffer *eb, struct page *page)
> +static void attach_extent_buffer_page(struct extent_buffer *eb,
> +                                   struct page *page)
>  {
>       if (!PagePrivate(page)) {
>               SetPagePrivate(page);
> @@ -3714,9 +3717,9 @@ int extent_invalidatepage(struct extent_io_tree *tree,
>   * are locked or under IO and drops the related state bits if it is safe
>   * to drop the page.
>   */
> -int try_release_extent_state(struct extent_map_tree *map,
> -                          struct extent_io_tree *tree, struct page *page,
> -                          gfp_t mask)
> +static int try_release_extent_state(struct extent_map_tree *map,
> +                                 struct extent_io_tree *tree,
> +                                 struct page *page, gfp_t mask)
>  {
>       u64 start = page_offset(page);
>       u64 end = start + PAGE_CACHE_SIZE - 1;
> @@ -4510,17 +4513,6 @@ int set_extent_buffer_dirty(struct extent_buffer *eb)
>       return was_dirty;
>  }
>  
> -static int range_straddles_pages(u64 start, u64 len)
> -{
> -     if (len < PAGE_CACHE_SIZE)
> -             return 1;
> -     if (start & (PAGE_CACHE_SIZE - 1))
> -             return 1;
> -     if ((start + len) & (PAGE_CACHE_SIZE - 1))
> -             return 1;
> -     return 0;
> -}
> -
>  int clear_extent_buffer_uptodate(struct extent_buffer *eb)
>  {
>       unsigned long i;
> @@ -4552,37 +4544,6 @@ int set_extent_buffer_uptodate(struct extent_buffer 
> *eb)
>       return 0;
>  }
>  
> -int extent_range_uptodate(struct extent_io_tree *tree,
> -                       u64 start, u64 end)
> -{
> -     struct page *page;
> -     int ret;
> -     int pg_uptodate = 1;
> -     int uptodate;
> -     unsigned long index;
> -
> -     if (range_straddles_pages(start, end - start + 1)) {
> -             ret = test_range_bit(tree, start, end,
> -                                  EXTENT_UPTODATE, 1, NULL);
> -             if (ret)
> -                     return 1;
> -     }
> -     while (start <= end) {
> -             index = start >> PAGE_CACHE_SHIFT;
> -             page = find_get_page(tree->mapping, index);
> -             if (!page)
> -                     return 1;
> -             uptodate = PageUptodate(page);
> -             page_cache_release(page);
> -             if (!uptodate) {
> -                     pg_uptodate = 0;
> -                     break;
> -             }
> -             start += PAGE_CACHE_SIZE;
> -     }
> -     return pg_uptodate;
> -}
> -
>  int extent_buffer_uptodate(struct extent_buffer *eb)
>  {
>       return test_bit(EXTENT_BUFFER_UPTODATE, &eb->bflags);
> diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h
> index 258c921..295c888 100644
> --- a/fs/btrfs/extent_io.h
> +++ b/fs/btrfs/extent_io.h
> @@ -186,9 +186,6 @@ int try_release_extent_mapping(struct extent_map_tree 
> *map,
>                              struct extent_io_tree *tree, struct page *page,
>                              gfp_t mask);
>  int try_release_extent_buffer(struct page *page, gfp_t mask);
> -int try_release_extent_state(struct extent_map_tree *map,
> -                          struct extent_io_tree *tree, struct page *page,
> -                          gfp_t mask);
>  int lock_extent(struct extent_io_tree *tree, u64 start, u64 end);
>  int lock_extent_bits(struct extent_io_tree *tree, u64 start, u64 end,
>                    int bits, struct extent_state **cached);
> @@ -238,8 +235,6 @@ int set_extent_defrag(struct extent_io_tree *tree, u64 
> start, u64 end,
>  int find_first_extent_bit(struct extent_io_tree *tree, u64 start,
>                         u64 *start_ret, u64 *end_ret, int bits,
>                         struct extent_state **cached_state);
> -struct extent_state *find_first_extent_bit_state(struct extent_io_tree *tree,
> -                                              u64 start, int bits);
>  int extent_invalidatepage(struct extent_io_tree *tree,
>                         struct page *page, unsigned long offset);
>  int extent_write_full_page(struct extent_io_tree *tree, struct page *page,
> @@ -313,7 +308,6 @@ void memmove_extent_buffer(struct extent_buffer *dst, 
> unsigned long dst_offset,
>                          unsigned long src_offset, unsigned long len);
>  void memset_extent_buffer(struct extent_buffer *eb, char c,
>                         unsigned long start, unsigned long len);
> -void wait_extent_bit(struct extent_io_tree *tree, u64 start, u64 end, int 
> bits);
>  void clear_extent_buffer_dirty(struct extent_buffer *eb);
>  int set_extent_buffer_dirty(struct extent_buffer *eb);
>  int set_extent_buffer_uptodate(struct extent_buffer *eb);
> @@ -323,8 +317,6 @@ int map_private_extent_buffer(struct extent_buffer *eb, 
> unsigned long offset,
>                     unsigned long min_len, char **map,
>                     unsigned long *map_start,
>                     unsigned long *map_len);
> -int extent_range_uptodate(struct extent_io_tree *tree,
> -                       u64 start, u64 end);
>  int extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end);
>  int extent_range_redirty_for_io(struct inode *inode, u64 start, u64 end);
>  int extent_clear_unlock_delalloc(struct inode *inode,
> diff --git a/fs/btrfs/extent_map.c b/fs/btrfs/extent_map.c
> index 2834ca5..7869835 100644
> --- a/fs/btrfs/extent_map.c
> +++ b/fs/btrfs/extent_map.c
> @@ -337,8 +337,9 @@ static u64 range_end(u64 start, u64 len)
>       return start + len;
>  }
>  
> -struct extent_map *__lookup_extent_mapping(struct extent_map_tree *tree,
> -                                        u64 start, u64 len, int strict)
> +static struct extent_map *
> +__lookup_extent_mapping(struct extent_map_tree *tree,
> +                     u64 start, u64 len, int strict)
>  {
>       struct extent_map *em;
>       struct rb_node *rb_node;
> diff --git a/fs/btrfs/file-item.c b/fs/btrfs/file-item.c
> index c4628a2..0d30140 100644
> --- a/fs/btrfs/file-item.c
> +++ b/fs/btrfs/file-item.c
> @@ -83,10 +83,11 @@ out:
>       return ret;
>  }
>  
> -struct btrfs_csum_item *btrfs_lookup_csum(struct btrfs_trans_handle *trans,
> -                                       struct btrfs_root *root,
> -                                       struct btrfs_path *path,
> -                                       u64 bytenr, int cow)
> +static struct btrfs_csum_item *
> +btrfs_lookup_csum(struct btrfs_trans_handle *trans,
> +               struct btrfs_root *root,
> +               struct btrfs_path *path,
> +               u64 bytenr, int cow)
>  {
>       int ret;
>       struct btrfs_key file_key;
> @@ -152,27 +153,6 @@ int btrfs_lookup_file_extent(struct btrfs_trans_handle 
> *trans,
>       return ret;
>  }
>  
> -u64 btrfs_file_extent_length(struct btrfs_path *path)
> -{
> -     int extent_type;
> -     struct btrfs_file_extent_item *fi;
> -     u64 len;
> -
> -     fi = btrfs_item_ptr(path->nodes[0], path->slots[0],
> -                         struct btrfs_file_extent_item);
> -     extent_type = btrfs_file_extent_type(path->nodes[0], fi);
> -
> -     if (extent_type == BTRFS_FILE_EXTENT_REG ||
> -         extent_type == BTRFS_FILE_EXTENT_PREALLOC)
> -             len = btrfs_file_extent_num_bytes(path->nodes[0], fi);
> -     else if (extent_type == BTRFS_FILE_EXTENT_INLINE)
> -             len = btrfs_file_extent_inline_len(path->nodes[0], fi);
> -     else
> -             BUG();
> -
> -     return len;
> -}
> -
>  static int __btrfs_lookup_bio_sums(struct btrfs_root *root,
>                                  struct inode *inode, struct bio *bio,
>                                  u64 logical_offset, u32 *dst, int dio)
> diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
> index ade03e6..5fbda18 100644
> --- a/fs/btrfs/file.c
> +++ b/fs/btrfs/file.c
> @@ -192,8 +192,8 @@ int btrfs_add_inode_defrag(struct btrfs_trans_handle 
> *trans,
>   * the same inode in the tree, we will merge them together (by
>   * __btrfs_add_inode_defrag()) and free the one that we want to requeue.
>   */
> -void btrfs_requeue_inode_defrag(struct inode *inode,
> -                             struct inode_defrag *defrag)
> +static void btrfs_requeue_inode_defrag(struct inode *inode,
> +                                    struct inode_defrag *defrag)
>  {
>       struct btrfs_root *root = BTRFS_I(inode)->root;
>       int ret;
> @@ -473,7 +473,7 @@ static noinline int btrfs_copy_from_user(loff_t pos, int 
> num_pages,
>  /*
>   * unlocks pages after btrfs_file_write is done with them
>   */
> -void btrfs_drop_pages(struct page **pages, size_t num_pages)
> +static void btrfs_drop_pages(struct page **pages, size_t num_pages)
>  {
>       size_t i;
>       for (i = 0; i < num_pages; i++) {
> @@ -497,9 +497,9 @@ void btrfs_drop_pages(struct page **pages, size_t 
> num_pages)
>   * doing real data extents, marking pages dirty and delalloc as required.
>   */
>  int btrfs_dirty_pages(struct btrfs_root *root, struct inode *inode,
> -                   struct page **pages, size_t num_pages,
> -                   loff_t pos, size_t write_bytes,
> -                   struct extent_state **cached)
> +                          struct page **pages, size_t num_pages,
> +                          loff_t pos, size_t write_bytes,
> +                          struct extent_state **cached)
>  {
>       int err = 0;
>       int i;
> @@ -672,10 +672,10 @@ next:
>   * it is either truncated or split.  Anything entirely inside the range
>   * is deleted from the tree.
>   */
> -int __btrfs_drop_extents(struct btrfs_trans_handle *trans,
> -                      struct btrfs_root *root, struct inode *inode,
> -                      struct btrfs_path *path, u64 start, u64 end,
> -                      u64 *drop_end, int drop_cache)
> +static int __btrfs_drop_extents(struct btrfs_trans_handle *trans,
> +                             struct btrfs_root *root, struct inode *inode,
> +                             struct btrfs_path *path, u64 start, u64 end,
> +                             u64 *drop_end, int drop_cache)
>  {
>       struct extent_buffer *leaf;
>       struct btrfs_file_extent_item *fi;
> diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c
> index 1f84fc0..6c2b14c 100644
> --- a/fs/btrfs/free-space-cache.c
> +++ b/fs/btrfs/free-space-cache.c
> @@ -119,9 +119,10 @@ struct inode *lookup_free_space_inode(struct btrfs_root 
> *root,
>       return inode;
>  }
>  
> -int __create_free_space_inode(struct btrfs_root *root,
> -                           struct btrfs_trans_handle *trans,
> -                           struct btrfs_path *path, u64 ino, u64 offset)
> +static int __create_free_space_inode(struct btrfs_root *root,
> +                                  struct btrfs_trans_handle *trans,
> +                                  struct btrfs_path *path,
> +                                  u64 ino, u64 offset)
>  {
>       struct btrfs_key key;
>       struct btrfs_disk_key disk_key;
> @@ -624,9 +625,9 @@ next:
>       spin_unlock(&ctl->tree_lock);
>  }
>  
> -int __load_free_space_cache(struct btrfs_root *root, struct inode *inode,
> -                         struct btrfs_free_space_ctl *ctl,
> -                         struct btrfs_path *path, u64 offset)
> +static int __load_free_space_cache(struct btrfs_root *root, struct inode 
> *inode,
> +                                struct btrfs_free_space_ctl *ctl,
> +                                struct btrfs_path *path, u64 offset)
>  {
>       struct btrfs_free_space_header *header;
>       struct extent_buffer *leaf;
> @@ -866,11 +867,11 @@ out:
>   * on mount.  This will return 0 if it was successfull in writing the cache 
> out,
>   * and -1 if it was not.
>   */
> -int __btrfs_write_out_cache(struct btrfs_root *root, struct inode *inode,
> -                         struct btrfs_free_space_ctl *ctl,
> -                         struct btrfs_block_group_cache *block_group,
> -                         struct btrfs_trans_handle *trans,
> -                         struct btrfs_path *path, u64 offset)
> +static int __btrfs_write_out_cache(struct btrfs_root *root, struct inode 
> *inode,
> +                                struct btrfs_free_space_ctl *ctl,
> +                                struct btrfs_block_group_cache *block_group,
> +                                struct btrfs_trans_handle *trans,
> +                                struct btrfs_path *path, u64 offset)
>  {
>       struct btrfs_free_space_header *header;
>       struct extent_buffer *leaf;
> @@ -2064,7 +2065,8 @@ out:
>       return 0;
>  }
>  
> -void __btrfs_remove_free_space_cache_locked(struct btrfs_free_space_ctl *ctl)
> +static void __btrfs_remove_free_space_cache_locked(
> +                             struct btrfs_free_space_ctl *ctl)
>  {
>       struct btrfs_free_space *info;
>       struct rb_node *node;
> diff --git a/fs/btrfs/inode-item.c b/fs/btrfs/inode-item.c
> index 48b8fda..5ee7e27 100644
> --- a/fs/btrfs/inode-item.c
> +++ b/fs/btrfs/inode-item.c
> @@ -183,10 +183,11 @@ int btrfs_get_inode_ref_index(struct btrfs_trans_handle 
> *trans,
>       return -ENOENT;
>  }
>  
> -int btrfs_del_inode_extref(struct btrfs_trans_handle *trans,
> -                        struct btrfs_root *root,
> -                        const char *name, int name_len,
> -                        u64 inode_objectid, u64 ref_objectid, u64 *index)
> +static int btrfs_del_inode_extref(struct btrfs_trans_handle *trans,
> +                               struct btrfs_root *root,
> +                               const char *name, int name_len,
> +                               u64 inode_objectid, u64 ref_objectid,
> +                               u64 *index)
>  {
>       struct btrfs_path *path;
>       struct btrfs_key key;
> diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
> index 09c58a3..547a022 100644
> --- a/fs/btrfs/inode.c
> +++ b/fs/btrfs/inode.c
> @@ -102,6 +102,8 @@ static struct extent_map *create_pinned_em(struct inode 
> *inode, u64 start,
>                                          u64 block_start, u64 block_len,
>                                          u64 orig_block_len, int type);
>  
> +static int btrfs_dirty_inode(struct inode *inode);
> +
>  static int btrfs_init_inode_security(struct btrfs_trans_handle *trans,
>                                    struct inode *inode,  struct inode *dir,
>                                    const struct qstr *qstr)
> @@ -3019,7 +3021,8 @@ int btrfs_orphan_add(struct btrfs_trans_handle *trans, 
> struct inode *inode)
>   * We have done the truncate/delete so we can go ahead and remove the orphan
>   * item for this particular inode.
>   */
> -int btrfs_orphan_del(struct btrfs_trans_handle *trans, struct inode *inode)
> +static int btrfs_orphan_del(struct btrfs_trans_handle *trans,
> +                         struct inode *inode)
>  {
>       struct btrfs_root *root = BTRFS_I(inode)->root;
>       int delete_item = 0;
> @@ -5335,7 +5338,7 @@ int btrfs_write_inode(struct inode *inode, struct 
> writeback_control *wbc)
>   * FIXME, needs more benchmarking...there are no reasons other than 
> performance
>   * to keep or drop this code.
>   */
> -int btrfs_dirty_inode(struct inode *inode)
> +static int btrfs_dirty_inode(struct inode *inode)
>  {
>       struct btrfs_root *root = BTRFS_I(inode)->root;
>       struct btrfs_trans_handle *trans;
> @@ -7425,8 +7428,8 @@ static int btrfs_writepage(struct page *page, struct 
> writeback_control *wbc)
>       return extent_write_full_page(tree, page, btrfs_get_extent, wbc);
>  }
>  
> -int btrfs_writepages(struct address_space *mapping,
> -                  struct writeback_control *wbc)
> +static int btrfs_writepages(struct address_space *mapping,
> +                         struct writeback_control *wbc)
>  {
>       struct extent_io_tree *tree;
>  
> diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
> index 2c02310..468dc0e 100644
> --- a/fs/btrfs/ioctl.c
> +++ b/fs/btrfs/ioctl.c
> @@ -3003,7 +3003,7 @@ void btrfs_get_block_group_info(struct list_head 
> *groups_list,
>       }
>  }
>  
> -long btrfs_ioctl_space_info(struct btrfs_root *root, void __user *arg)
> +static long btrfs_ioctl_space_info(struct btrfs_root *root, void __user *arg)
>  {
>       struct btrfs_ioctl_space_args space_args;
>       struct btrfs_ioctl_space_info space;
> diff --git a/fs/btrfs/locking.c b/fs/btrfs/locking.c
> index e95df43..01277b8 100644
> --- a/fs/btrfs/locking.c
> +++ b/fs/btrfs/locking.c
> @@ -24,7 +24,7 @@
>  #include "extent_io.h"
>  #include "locking.h"
>  
> -void btrfs_assert_tree_read_locked(struct extent_buffer *eb);
> +static void btrfs_assert_tree_read_locked(struct extent_buffer *eb);
>  
>  /*
>   * if we currently have a spinning reader or writer lock
> @@ -264,7 +264,7 @@ void btrfs_assert_tree_locked(struct extent_buffer *eb)
>       BUG_ON(!atomic_read(&eb->write_locks));
>  }
>  
> -void btrfs_assert_tree_read_locked(struct extent_buffer *eb)
> +static void btrfs_assert_tree_read_locked(struct extent_buffer *eb)
>  {
>       BUG_ON(!atomic_read(&eb->read_locks));
>  }
> diff --git a/fs/btrfs/print-tree.h b/fs/btrfs/print-tree.h
> index da75efe..7faddfa 100644
> --- a/fs/btrfs/print-tree.h
> +++ b/fs/btrfs/print-tree.h
> @@ -19,5 +19,5 @@
>  #ifndef __PRINT_TREE_
>  #define __PRINT_TREE_
>  void btrfs_print_leaf(struct btrfs_root *root, struct extent_buffer *l);
> -void btrfs_print_tree(struct btrfs_root *root, struct extent_buffer *t);
> +void btrfs_print_tree(struct btrfs_root *root, struct extent_buffer *c);
>  #endif
> diff --git a/fs/btrfs/raid56.c b/fs/btrfs/raid56.c
> index 9a79fb7..0740621 100644
> --- a/fs/btrfs/raid56.c
> +++ b/fs/btrfs/raid56.c
> @@ -410,7 +410,7 @@ static void remove_rbio_from_cache(struct btrfs_raid_bio 
> *rbio)
>  /*
>   * remove everything in the cache
>   */
> -void btrfs_clear_rbio_cache(struct btrfs_fs_info *info)
> +static void btrfs_clear_rbio_cache(struct btrfs_fs_info *info)
>  {
>       struct btrfs_stripe_hash_table *table;
>       unsigned long flags;
> @@ -1010,12 +1010,12 @@ static int alloc_rbio_parity_pages(struct 
> btrfs_raid_bio *rbio)
>   * this will try to merge into existing bios if possible, and returns
>   * zero if all went well.
>   */
> -int rbio_add_io_page(struct btrfs_raid_bio *rbio,
> -                  struct bio_list *bio_list,
> -                  struct page *page,
> -                  int stripe_nr,
> -                  unsigned long page_index,
> -                  unsigned long bio_max_len)
> +static int rbio_add_io_page(struct btrfs_raid_bio *rbio,
> +                         struct bio_list *bio_list,
> +                         struct page *page,
> +                         int stripe_nr,
> +                         unsigned long page_index,
> +                         unsigned long bio_max_len)
>  {
>       struct bio *last = bio_list->tail;
>       u64 last_end = 0;
> diff --git a/fs/btrfs/reada.c b/fs/btrfs/reada.c
> index 96b93da..0bc12ff 100644
> --- a/fs/btrfs/reada.c
> +++ b/fs/btrfs/reada.c
> @@ -978,10 +978,3 @@ int btrfs_reada_wait(void *handle)
>       return 0;
>  }
>  #endif
> -
> -void btrfs_reada_detach(void *handle)
> -{
> -     struct reada_control *rc = handle;
> -
> -     kref_put(&rc->refcnt, reada_control_release);
> -}
> diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c
> index b67171e..47086c8 100644
> --- a/fs/btrfs/relocation.c
> +++ b/fs/btrfs/relocation.c
> @@ -326,8 +326,7 @@ static struct rb_node *tree_search(struct rb_root *root, 
> u64 bytenr)
>       return NULL;
>  }
>  
> -void backref_tree_panic(struct rb_node *rb_node, int errno,
> -                                       u64 bytenr)
> +static void backref_tree_panic(struct rb_node *rb_node, int errno, u64 
> bytenr)
>  {
>  
>       struct btrfs_fs_info *fs_info = NULL;
> diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c
> index 85e072b..c4669e9 100644
> --- a/fs/btrfs/scrub.c
> +++ b/fs/btrfs/scrub.c
> @@ -3005,28 +3005,6 @@ int btrfs_scrub_cancel_dev(struct btrfs_fs_info 
> *fs_info,
>       return 0;
>  }
>  
> -int btrfs_scrub_cancel_devid(struct btrfs_root *root, u64 devid)
> -{
> -     struct btrfs_fs_info *fs_info = root->fs_info;
> -     struct btrfs_device *dev;
> -     int ret;
> -
> -     /*
> -      * we have to hold the device_list_mutex here so the device
> -      * does not go away in cancel_dev. FIXME: find a better solution
> -      */
> -     mutex_lock(&fs_info->fs_devices->device_list_mutex);
> -     dev = btrfs_find_device(fs_info, devid, NULL, NULL);
> -     if (!dev) {
> -             mutex_unlock(&fs_info->fs_devices->device_list_mutex);
> -             return -ENODEV;
> -     }
> -     ret = btrfs_scrub_cancel_dev(fs_info, dev);
> -     mutex_unlock(&fs_info->fs_devices->device_list_mutex);
> -
> -     return ret;
> -}
> -
>  int btrfs_scrub_progress(struct btrfs_root *root, u64 devid,
>                        struct btrfs_scrub_progress *progress)
>  {
> diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c
> index c85e7c6..0d9eb30 100644
> --- a/fs/btrfs/send.c
> +++ b/fs/btrfs/send.c
> @@ -387,7 +387,7 @@ static struct btrfs_path *alloc_path_for_send(void)
>       return path;
>  }
>  
> -int write_buf(struct file *filp, const void *buf, u32 len, loff_t *off)
> +static int write_buf(struct file *filp, const void *buf, u32 len, loff_t 
> *off)
>  {
>       int ret;
>       mm_segment_t old_fs;
> diff --git a/fs/btrfs/send.h b/fs/btrfs/send.h
> index 8bb18f7..48d425a 100644
> --- a/fs/btrfs/send.h
> +++ b/fs/btrfs/send.h
> @@ -131,5 +131,4 @@ enum {
>  
>  #ifdef __KERNEL__
>  long btrfs_ioctl_send(struct file *mnt_file, void __user *arg);
> -int write_buf(struct file *filp, const void *buf, u32 len, loff_t *off);
>  #endif
> diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
> index 50767bb..06ad1dd 100644
> --- a/fs/btrfs/transaction.c
> +++ b/fs/btrfs/transaction.c
> @@ -34,7 +34,7 @@
>  
>  #define BTRFS_ROOT_TRANS_TAG 0
>  
> -void put_transaction(struct btrfs_transaction *transaction)
> +static void put_transaction(struct btrfs_transaction *transaction)
>  {
>       WARN_ON(atomic_read(&transaction->use_count) == 0);
>       if (atomic_dec_and_test(&transaction->use_count)) {
> @@ -449,13 +449,6 @@ struct btrfs_trans_handle 
> *btrfs_start_transaction(struct btrfs_root *root,
>                                BTRFS_RESERVE_FLUSH_ALL);
>  }
>  
> -struct btrfs_trans_handle *btrfs_start_transaction_lflush(
> -                                     struct btrfs_root *root, int num_items)
> -{
> -     return start_transaction(root, num_items, TRANS_START,
> -                              BTRFS_RESERVE_FLUSH_LIMIT);
> -}
> -
>  struct btrfs_trans_handle *btrfs_join_transaction(struct btrfs_root *root)
>  {
>       return start_transaction(root, 0, TRANS_JOIN, 0);
> diff --git a/fs/btrfs/transaction.h b/fs/btrfs/transaction.h
> index 3c8e0d2..b16d633 100644
> --- a/fs/btrfs/transaction.h
> +++ b/fs/btrfs/transaction.h
> @@ -109,8 +109,6 @@ int btrfs_end_transaction(struct btrfs_trans_handle 
> *trans,
>                         struct btrfs_root *root);
>  struct btrfs_trans_handle *btrfs_start_transaction(struct btrfs_root *root,
>                                                  int num_items);
> -struct btrfs_trans_handle *btrfs_start_transaction_lflush(
> -                                     struct btrfs_root *root, int num_items);
>  struct btrfs_trans_handle *btrfs_join_transaction(struct btrfs_root *root);
>  struct btrfs_trans_handle *btrfs_join_transaction_nolock(struct btrfs_root 
> *root);
>  struct btrfs_trans_handle *btrfs_attach_transaction(struct btrfs_root *root);
> @@ -146,5 +144,4 @@ int btrfs_wait_marked_extents(struct btrfs_root *root,
>                               struct extent_io_tree *dirty_pages, int mark);
>  int btrfs_transaction_blocked(struct btrfs_fs_info *info);
>  int btrfs_transaction_in_commit(struct btrfs_fs_info *info);
> -void put_transaction(struct btrfs_transaction *transaction);
>  #endif
> diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
> index ef96381..ab79d4c 100644
> --- a/fs/btrfs/tree-log.c
> +++ b/fs/btrfs/tree-log.c
> @@ -3918,9 +3918,9 @@ out:
>   * only logging is done of any parent directories that are older than
>   * the last committed transaction
>   */
> -int btrfs_log_inode_parent(struct btrfs_trans_handle *trans,
> -                 struct btrfs_root *root, struct inode *inode,
> -                 struct dentry *parent, int exists_only)
> +static int btrfs_log_inode_parent(struct btrfs_trans_handle *trans,
> +                               struct btrfs_root *root, struct inode *inode,
> +                               struct dentry *parent, int exists_only)
>  {
>       int inode_only = exists_only ? LOG_INODE_EXISTS : LOG_INODE_ALL;
>       struct super_block *sb;
> diff --git a/fs/btrfs/tree-log.h b/fs/btrfs/tree-log.h
> index 862ac81..1d4ae0d 100644
> --- a/fs/btrfs/tree-log.h
> +++ b/fs/btrfs/tree-log.h
> @@ -40,9 +40,6 @@ int btrfs_del_inode_ref_in_log(struct btrfs_trans_handle 
> *trans,
>                              struct inode *inode, u64 dirid);
>  void btrfs_end_log_trans(struct btrfs_root *root);
>  int btrfs_pin_log_trans(struct btrfs_root *root);
> -int btrfs_log_inode_parent(struct btrfs_trans_handle *trans,
> -                 struct btrfs_root *root, struct inode *inode,
> -                 struct dentry *parent, int exists_only);
>  void btrfs_record_unlink_dir(struct btrfs_trans_handle *trans,
>                            struct inode *dir, struct inode *inode,
>                            int for_rename);
> diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
> index 2854c82..d68b2b4 100644
> --- a/fs/btrfs/volumes.c
> +++ b/fs/btrfs/volumes.c
> @@ -46,6 +46,7 @@ static int init_first_rw_device(struct btrfs_trans_handle 
> *trans,
>                               struct btrfs_device *device);
>  static int btrfs_relocate_sys_chunks(struct btrfs_root *root);
>  static void __btrfs_reset_dev_stats(struct btrfs_device *dev);
> +static void btrfs_dev_stat_print_on_error(struct btrfs_device *dev);
>  static void btrfs_dev_stat_print_on_load(struct btrfs_device *device);
>  
>  static DEFINE_MUTEX(uuid_mutex);
> @@ -1199,10 +1200,10 @@ out:
>       return ret;
>  }
>  
> -int btrfs_alloc_dev_extent(struct btrfs_trans_handle *trans,
> -                        struct btrfs_device *device,
> -                        u64 chunk_tree, u64 chunk_objectid,
> -                        u64 chunk_offset, u64 start, u64 num_bytes)
> +static int btrfs_alloc_dev_extent(struct btrfs_trans_handle *trans,
> +                               struct btrfs_device *device,
> +                               u64 chunk_tree, u64 chunk_objectid,
> +                               u64 chunk_offset, u64 start, u64 num_bytes)
>  {
>       int ret;
>       struct btrfs_path *path;
> @@ -1329,9 +1330,9 @@ error:
>   * the device information is stored in the chunk root
>   * the btrfs_device struct should be fully filled in
>   */
> -int btrfs_add_device(struct btrfs_trans_handle *trans,
> -                  struct btrfs_root *root,
> -                  struct btrfs_device *device)
> +static int btrfs_add_device(struct btrfs_trans_handle *trans,
> +                         struct btrfs_root *root,
> +                         struct btrfs_device *device)
>  {
>       int ret;
>       struct btrfs_path *path;
> @@ -1710,8 +1711,8 @@ void btrfs_destroy_dev_replace_tgtdev(struct 
> btrfs_fs_info *fs_info,
>       mutex_unlock(&fs_info->fs_devices->device_list_mutex);
>  }
>  
> -int btrfs_find_device_by_path(struct btrfs_root *root, char *device_path,
> -                           struct btrfs_device **device)
> +static int btrfs_find_device_by_path(struct btrfs_root *root, char 
> *device_path,
> +                                  struct btrfs_device **device)
>  {
>       int ret = 0;
>       struct btrfs_super_block *disk_super;
> @@ -3607,7 +3608,7 @@ static int btrfs_cmp_device_info(const void *a, const 
> void *b)
>       return 0;
>  }
>  
> -struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
> +static struct btrfs_raid_attr btrfs_raid_array[BTRFS_NR_RAID_TYPES] = {
>       [BTRFS_RAID_RAID10] = {
>               .sub_stripes    = 2,
>               .dev_stripes    = 1,
> @@ -5106,9 +5107,9 @@ struct async_sched {
>   * This will add one bio to the pending list for a device and make sure
>   * the work struct is scheduled.
>   */
> -noinline void btrfs_schedule_bio(struct btrfs_root *root,
> -                              struct btrfs_device *device,
> -                              int rw, struct bio *bio)
> +static noinline void btrfs_schedule_bio(struct btrfs_root *root,
> +                                     struct btrfs_device *device,
> +                                     int rw, struct bio *bio)
>  {
>       int should_queue = 1;
>       struct btrfs_pending_bios *pending_bios;
> @@ -5926,7 +5927,7 @@ void btrfs_dev_stat_inc_and_print(struct btrfs_device 
> *dev, int index)
>       btrfs_dev_stat_print_on_error(dev);
>  }
>  
> -void btrfs_dev_stat_print_on_error(struct btrfs_device *dev)
> +static void btrfs_dev_stat_print_on_error(struct btrfs_device *dev)
>  {
>       if (!dev->dev_stats_valid)
>               return;
> diff --git a/fs/btrfs/volumes.h b/fs/btrfs/volumes.h
> index 062d860..845ccbb 100644
> --- a/fs/btrfs/volumes.h
> +++ b/fs/btrfs/volumes.h
> @@ -254,10 +254,6 @@ int btrfs_account_dev_extents_size(struct btrfs_device 
> *device, u64 start,
>  #define btrfs_bio_size(n) (sizeof(struct btrfs_bio) + \
>                           (sizeof(struct btrfs_bio_stripe) * (n)))
>  
> -int btrfs_alloc_dev_extent(struct btrfs_trans_handle *trans,
> -                        struct btrfs_device *device,
> -                        u64 chunk_tree, u64 chunk_objectid,
> -                        u64 chunk_offset, u64 start, u64 num_bytes);
>  int btrfs_map_block(struct btrfs_fs_info *fs_info, int rw,
>                   u64 logical, u64 *length,
>                   struct btrfs_bio **bbio_ret, int mirror_num);
> @@ -282,11 +278,6 @@ void btrfs_close_extra_devices(struct btrfs_fs_info 
> *fs_info,
>  int btrfs_find_device_missing_or_by_path(struct btrfs_root *root,
>                                        char *device_path,
>                                        struct btrfs_device **device);
> -int btrfs_find_device_by_path(struct btrfs_root *root, char *device_path,
> -                           struct btrfs_device **device);
> -int btrfs_add_device(struct btrfs_trans_handle *trans,
> -                  struct btrfs_root *root,
> -                  struct btrfs_device *device);
>  int btrfs_rm_device(struct btrfs_root *root, char *device_path);
>  void btrfs_cleanup_fs_uuids(void);
>  int btrfs_num_copies(struct btrfs_fs_info *fs_info, u64 logical, u64 len);
> @@ -307,7 +298,6 @@ int btrfs_cancel_balance(struct btrfs_fs_info *fs_info);
>  int btrfs_chunk_readonly(struct btrfs_root *root, u64 chunk_offset);
>  int find_free_dev_extent(struct btrfs_device *device, u64 num_bytes,
>                        u64 *start, u64 *max_avail);
> -void btrfs_dev_stat_print_on_error(struct btrfs_device *device);
>  void btrfs_dev_stat_inc_and_print(struct btrfs_device *dev, int index);
>  int btrfs_get_dev_stats(struct btrfs_root *root,
>                       struct btrfs_ioctl_get_dev_stats *stats);
> @@ -321,9 +311,6 @@ void btrfs_destroy_dev_replace_tgtdev(struct 
> btrfs_fs_info *fs_info,
>  void btrfs_init_dev_replace_tgtdev_for_resume(struct btrfs_fs_info *fs_info,
>                                             struct btrfs_device *tgtdev);
>  int btrfs_scratch_superblock(struct btrfs_device *device);
> -void btrfs_schedule_bio(struct btrfs_root *root,
> -                     struct btrfs_device *device,
> -                     int rw, struct bio *bio);
>  int btrfs_is_parity_mirror(struct btrfs_mapping_tree *map_tree,
>                          u64 logical, u64 len, int mirror_num);
>  unsigned long btrfs_full_stripe_len(struct btrfs_root *root,
> diff --git a/fs/btrfs/xattr.c b/fs/btrfs/xattr.c
> index 446a684..05740b9 100644
> --- a/fs/btrfs/xattr.c
> +++ b/fs/btrfs/xattr.c
> @@ -406,8 +406,8 @@ int btrfs_removexattr(struct dentry *dentry, const char 
> *name)
>                               XATTR_REPLACE);
>  }
>  
> -int btrfs_initxattrs(struct inode *inode, const struct xattr *xattr_array,
> -                  void *fs_info)
> +static int btrfs_initxattrs(struct inode *inode,
> +                         const struct xattr *xattr_array, void *fs_info)
>  {
>       const struct xattr *xattr;
>       struct btrfs_trans_handle *trans = fs_info;
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to