Function parameter reductions
David Sterba
maintainercover Function parameter reductions
David Sterba (4):
btrfs: get fs_info from eb in btrfs_print_leaf, remove argument
btrfs: get fs_info from eb in btrfs_print_tree, remove argument
btrfs: cleanup types storing REQ_*
btrfs: merge REQ_OP and REQ_ flags to one parameter in
submit_extent_page
fs/btrfs/ctree.c | 14 +++++++------- fs/btrfs/disk-io.c | 2 +- fs/btrfs/extent-tree.c | 6 +++--- fs/btrfs/extent_io.c | 24 ++++++++++++++---------- fs/btrfs/inode.c | 2 +- fs/btrfs/print-tree.c | 10 ++++++---- fs/btrfs/print-tree.h | 4 ++-- fs/btrfs/root-tree.c | 2 +- 8 files changed, 35 insertions(+), 29 deletions(-)
Signature · 1 line
2.13.0
David Sterba
maintainerPATCH 1/4 btrfs: get fs_info from eb in btrfs_print_leaf, remove argument
--- fs/btrfs/ctree.c | 14 +++++++------- fs/btrfs/disk-io.c | 2 +- fs/btrfs/extent-tree.c | 6 +++--- fs/btrfs/print-tree.c | 5 +++-- fs/btrfs/print-tree.h | 2 +- fs/btrfs/root-tree.c | 2 +- 6 files changed, 16 insertions(+), 15 deletions(-)
fs/btrfs/ctree.c +7 -7
@@ -4650,7 +4650,7 @@ void btrfs_truncate_item(struct btrfs_fs_info *fs_info,btrfs_mark_buffer_dirty (leaf);if (btrfs_leaf_free_space (fs_info, leaf) <0 ) { -btrfs_print_leaf (fs_info, leaf); +btrfs_print_leaf (leaf);BUG (); } }
@@ -4679,7 +4679,7 @@ void btrfs_extend_item(struct btrfs_fs_info *fs_info, struct btrfs_path *path, data_end =leaf_data_end (fs_info, leaf);if (btrfs_leaf_free_space (fs_info, leaf) < data_size) { -btrfs_print_leaf (fs_info, leaf); +btrfs_print_leaf (leaf);BUG (); } slot = path->slots[0 ];
@@ -4687,7 +4687,7 @@ void btrfs_extend_item(struct btrfs_fs_info *fs_info, struct btrfs_path *path,BUG_ON (slot <0 );if (slot >= nritems) { -btrfs_print_leaf (fs_info, leaf); +btrfs_print_leaf (leaf);btrfs_crit (fs_info,"slot %d too large, nritems %d" , slot, nritems);BUG_ON (1 );
@@ -4718,7 +4718,7 @@ void btrfs_extend_item(struct btrfs_fs_info *fs_info, struct btrfs_path *path,btrfs_mark_buffer_dirty (leaf);if (btrfs_leaf_free_space (fs_info, leaf) <0 ) { -btrfs_print_leaf (fs_info, leaf); +btrfs_print_leaf (leaf);BUG (); } }
@@ -4757,7 +4757,7 @@ void setup_items_for_insert(struct btrfs_root *root, struct btrfs_path *path, data_end =leaf_data_end (fs_info, leaf);if (btrfs_leaf_free_space (fs_info, leaf) < total_size) { -btrfs_print_leaf (fs_info, leaf); +btrfs_print_leaf (leaf);btrfs_crit (fs_info,"not enough freespace need %u have %d" , total_size,btrfs_leaf_free_space (fs_info, leaf));BUG ();
@@ -4767,7 +4767,7 @@ void setup_items_for_insert(struct btrfs_root *root, struct btrfs_path *path,unsigned int old_data =btrfs_item_end_nr (leaf, slot);if (old_data < data_end) { -btrfs_print_leaf (fs_info, leaf); +btrfs_print_leaf (leaf);btrfs_crit (fs_info,"slot %d old_data %d data_end %d" , slot, old_data, data_end);BUG_ON (1 );
@@ -4811,7 +4811,7 @@ void setup_items_for_insert(struct btrfs_root *root, struct btrfs_path *path,btrfs_mark_buffer_dirty (leaf);if (btrfs_leaf_free_space (fs_info, leaf) <0 ) { -btrfs_print_leaf (fs_info, leaf); +btrfs_print_leaf (leaf);BUG (); } }
fs/btrfs/disk-io.c +1 -1
@@ -4052,7 +4052,7 @@ void btrfs_mark_buffer_dirty(struct extent_buffer *buf) fs_info->dirty_metadata_batch);#ifdef CONFIG_BTRFS_FS_CHECK_INTEGRITY if (btrfs_header_level (buf) ==0 &&check_leaf (root, buf)) { -btrfs_print_leaf (fs_info, buf); +btrfs_print_leaf (buf);ASSERT (0 ); }#endif
fs/btrfs/extent-tree.c +3 -3
@@ -6973,7 +6973,7 @@ static int __btrfs_free_extent(struct btrfs_trans_handle *trans,"umm, got %d back from search, was looking for %llu" , ret, bytenr);if (ret >0 ) -btrfs_print_leaf (info, path->nodes[0 ]); +btrfs_print_leaf (path->nodes[0 ]); }if (ret <0 ) {btrfs_abort_transaction (trans, ret);
@@ -6982,7 +6982,7 @@ static int __btrfs_free_extent(struct btrfs_trans_handle *trans, extent_slot = path->slots[0 ]; } }else if (WARN_ON (ret == -ENOENT )) { -btrfs_print_leaf (info, path->nodes[0 ]); +btrfs_print_leaf (path->nodes[0 ]); btrfs_err(info, "unable to find ref byte nr %llu parent %llu root %llu owner %llu offset %llu", bytenr, parent, root_objectid, owner_objectid,
@@ -7019,7 +7019,7 @@ static int __btrfs_free_extent(struct btrfs_trans_handle *trans,btrfs_err (info,"umm, got %d back from search, was looking for %llu" , ret, bytenr); -btrfs_print_leaf (info, path->nodes[0 ]); +btrfs_print_leaf (path->nodes[0 ]); }if (ret <0 ) {btrfs_abort_transaction (trans, ret);
fs/btrfs/print-tree.c +3 -2
@@ -161,8 +161,9 @@ static void print_uuid_item(struct extent_buffer *l, unsigned long offset, } } -void btrfs_print_leaf (struct btrfs_fs_info *fs_info,struct extent_buffer *l) +void btrfs_print_leaf (struct extent_buffer *l) { +struct btrfs_fs_info *fs_info = l->fs_info;int i;u32 type, nr;struct btrfs_item *item;
@@ -329,7 +330,7 @@ void btrfs_print_tree(struct btrfs_fs_info *fs_info, struct extent_buffer *c) nr =btrfs_header_nritems (c); level =btrfs_header_level (c);if (level ==0 ) { -btrfs_print_leaf (fs_info, c); +btrfs_print_leaf (c);return ; } btrfs_info(fs_info,
fs/btrfs/print-tree.h +1 -1
@@ -18,6 +18,6 @@#ifndef __PRINT_TREE_#define __PRINT_TREE_ -void btrfs_print_leaf (struct btrfs_fs_info *fs_info,struct extent_buffer *l); +void btrfs_print_leaf (struct extent_buffer *l);void btrfs_print_tree (struct btrfs_fs_info *fs_info,struct extent_buffer *c);#endif
fs/btrfs/root-tree.c +1 -1
@@ -151,7 +151,7 @@ int btrfs_update_root(struct btrfs_trans_handle *trans, struct btrfs_root }if (ret !=0 ) { -btrfs_print_leaf (fs_info, path->nodes[0 ]); +btrfs_print_leaf (path->nodes[0 ]);btrfs_crit (fs_info,"unable to update root key %llu %u %llu" , key->objectid, key->type, key->offset);BUG_ON (1 );
Signature · 1 line
2.13.0
David Sterba
maintainerPATCH 2/4 btrfs: get fs_info from eb in btrfs_print_tree, remove argument
In reply to David Sterba--- fs/btrfs/print-tree.c | 5 +++-- fs/btrfs/print-tree.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-)
fs/btrfs/print-tree.c +3 -2
@@ -319,8 +319,9 @@ void btrfs_print_leaf(struct extent_buffer *l) } } -void btrfs_print_tree (struct btrfs_fs_info *fs_info,struct extent_buffer *c) +void btrfs_print_tree (struct extent_buffer *c) { +struct btrfs_fs_info *fs_info = c->fs_info;int i;u32 nr;struct btrfs_key key;int level;
@@ -360,7 +361,7 @@ void btrfs_print_tree(struct btrfs_fs_info *fs_info, struct extent_buffer *c)if (btrfs_header_level (next) != level -1 )BUG (); -btrfs_print_tree (fs_info, next); +btrfs_print_tree (next);free_extent_buffer (next); } }
fs/btrfs/print-tree.h +1 -1
@@ -19,5 +19,5 @@#ifndef __PRINT_TREE_#define __PRINT_TREE_void btrfs_print_leaf (struct extent_buffer *l); -void btrfs_print_tree (struct btrfs_fs_info *fs_info,struct extent_buffer *c); +void btrfs_print_tree (struct extent_buffer *c);#endif
Signature · 1 line
2.13.0
David Sterba
maintainerPATCH 3/4 btrfs: cleanup types storing REQ_*
In reply to David SterbaUnify types of local variables and parameters that store various REQ_* values to unsigned int.
--- fs/btrfs/extent_io.c | 14 ++++++++------ fs/btrfs/inode.c | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-)
fs/btrfs/extent_io.c +8 -6
@@ -2755,7 +2755,8 @@ static int merge_bio(struct extent_io_tree *tree, struct page *page, } -static int submit_extent_page(int op, int op_flags, struct extent_io_tree *tree, +static int submit_extent_page(unsigned int op, unsigned int op_flags, + struct extent_io_tree *tree, struct writeback_control *wbc, struct page *page, sector_t sector, size_t size, unsigned long offset,
@@ -2875,7 +2876,7 @@ static int __do_readpage(struct extent_io_tree *tree,get_extent_t *get_extent, struct extent_map **em_cached, struct bio **bio, int mirror_num, - unsigned long *bio_flags, int read_flags, + unsigned long *bio_flags, unsigned int read_flags, u64 *prev_em_start) { struct inode *inode = page->mapping->host;
@@ -3161,7 +3162,8 @@ static int __extent_read_full_page(struct extent_io_tree *tree,struct page *page, get_extent_t *get_extent, struct bio **bio, int mirror_num, - unsigned long *bio_flags, int read_flags) + unsigned long *bio_flags, + unsigned int read_flags) { struct inode *inode = page->mapping->host;struct btrfs_ordered_extent *ordered;
@@ -3308,7 +3310,7 @@ static noinline_for_stack int __extent_writepage_io(struct inode *inode,struct extent_page_data *epd, loff_t i_size, unsigned long nr_written, - int write_flags, int *nr_ret) + unsigned int write_flags, int *nr_ret) { struct extent_io_tree *tree = epd->tree;u64 start =page_offset (page);
@@ -3462,7 +3464,7 @@ static int __extent_writepage(struct page *page, struct writeback_control *wbc,size_t pg_offset =0 ;loff_t i_size =i_size_read (inode);unsigned long end_index = i_size >>PAGE_SHIFT ; -int write_flags =0 ; +unsigned int write_flags =0 ;unsigned long nr_written =0 ;if (wbc->sync_mode ==WB_SYNC_ALL )
@@ -3711,7 +3713,7 @@ static noinline_for_stack int write_one_eb(struct extent_buffer *eb,unsigned long i, num_pages;unsigned long bio_flags =0 ;unsigned long start, end; -int write_flags = (epd->sync_io ?REQ_SYNC :0 ) |REQ_META ; +unsigned int write_flags = (epd->sync_io ?REQ_SYNC :0 ) |REQ_META ;int ret =0 ;clear_bit (EXTENT_BUFFER_WRITE_ERR , &eb->bflags);
fs/btrfs/inode.c +1 -1
@@ -7991,7 +7991,7 @@ static int dio_read_error(struct inode *inode, struct bio *failed_bio,struct extent_io_tree *failure_tree = &BTRFS_I (inode)->io_failure_tree;struct bio *bio;int isector; -int read_mode =0 ; +unsigned int read_mode =0 ;int segs;int ret;
Signature · 1 line
2.13.0
David Sterba
maintainerPATCH 4/4 btrfs: merge REQ_OP and REQ_ flags to one parameter in submit_extent_page
In reply to David SterbaThe function submit_extent_page has 15(!) parameters right now, op and op_flags are effectively one value stored to bio::bi_opf, no need to pass them separately. So it's 14 parameters now.
--- fs/btrfs/extent_io.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-)
fs/btrfs/extent_io.c +8 -6
@@ -2755,8 +2755,10 @@ static int merge_bio(struct extent_io_tree *tree, struct page *page, } -static int submit_extent_page(unsigned int op, unsigned int op_flags, - struct extent_io_tree *tree, +/* +* @opf: bio REQ_OP_* and REQ_* flags as one value +*/ +static int submit_extent_page(unsigned int opf, struct extent_io_tree *tree, struct writeback_control *wbc, struct page *page, sector_t sector, size_t size, unsigned long offset,
@@ -2802,7 +2804,7 @@ static int submit_extent_page(unsigned int op, unsigned int op_flags,bio_add_page (bio, page, page_size, offset); bio->bi_end_io = end_io_func; bio->bi_private = tree; -bio_set_op_attrs (bio, op, op_flags); + bio->bi_opf = opf;if (wbc) {wbc_init_bio (wbc, bio);wbc_account_io (wbc, page, page_size);
@@ -3057,7 +3059,7 @@ static int __do_readpage(struct extent_io_tree *tree,continue ; } - ret = submit_extent_page(REQ_OP_READ, read_flags, tree, NULL, + ret = submit_extent_page(REQ_OP_READ | read_flags, tree, NULL, page, sector, disk_io_size, pg_offset, bdev, bio, end_bio_extent_readpage, mirror_num,
@@ -3426,7 +3428,7 @@ static noinline_for_stack int __extent_writepage_io(struct inode *inode, page->index, cur, end); } - ret = submit_extent_page(REQ_OP_WRITE, write_flags, tree, wbc, + ret = submit_extent_page(REQ_OP_WRITE | write_flags, tree, wbc, page, sector, iosize, pg_offset, bdev, &epd->bio, end_bio_extent_writepage,
@@ -3743,7 +3745,7 @@ static noinline_for_stack int write_one_eb(struct extent_buffer *eb,clear_page_dirty_for_io (p);set_page_writeback (p); - ret = submit_extent_page(REQ_OP_WRITE, write_flags, tree, wbc, + ret = submit_extent_page(REQ_OP_WRITE | write_flags, tree, wbc, p, offset >> 9, PAGE_SIZE, 0, bdev, &epd->bio, end_bio_extent_buffer_writepage,
Signature · 1 line
2.13.0