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