* [PATCH 0/4] Function parameter reductions
@ 2017-07-14 18:30 David Sterba
2017-07-14 18:30 ` [PATCH 1/4] btrfs: get fs_info from eb in btrfs_print_leaf, remove argument David Sterba
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: David Sterba @ 2017-07-14 18:30 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
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(-)
--
2.13.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/4] btrfs: get fs_info from eb in btrfs_print_leaf, remove argument
2017-07-14 18:30 [PATCH 0/4] Function parameter reductions David Sterba
@ 2017-07-14 18:30 ` David Sterba
2017-07-14 18:30 ` [PATCH 2/4] btrfs: get fs_info from eb in btrfs_print_tree, " David Sterba
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: David Sterba @ 2017-07-14 18:30 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
Signed-off-by: David Sterba <dsterba@suse.com>
---
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(-)
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index 3f4daa9d6e2c..6d49db7d86be 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -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();
}
}
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index b6758892874f..1d1ea6f7080d 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -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
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 375f8c728d91..ffa1c538abfa 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -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);
diff --git a/fs/btrfs/print-tree.c b/fs/btrfs/print-tree.c
index fcae61e175f3..569393ffd0fd 100644
--- a/fs/btrfs/print-tree.c
+++ b/fs/btrfs/print-tree.c
@@ -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,
diff --git a/fs/btrfs/print-tree.h b/fs/btrfs/print-tree.h
index 4f2e0ea0e95a..689a52ee0cd1 100644
--- a/fs/btrfs/print-tree.h
+++ b/fs/btrfs/print-tree.h
@@ -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
diff --git a/fs/btrfs/root-tree.c b/fs/btrfs/root-tree.c
index 460db0cb2d07..5b488af6f25e 100644
--- a/fs/btrfs/root-tree.c
+++ b/fs/btrfs/root-tree.c
@@ -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);
--
2.13.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/4] btrfs: get fs_info from eb in btrfs_print_tree, remove argument
2017-07-14 18:30 [PATCH 0/4] Function parameter reductions David Sterba
2017-07-14 18:30 ` [PATCH 1/4] btrfs: get fs_info from eb in btrfs_print_leaf, remove argument David Sterba
@ 2017-07-14 18:30 ` David Sterba
2017-07-14 18:30 ` [PATCH 3/4] btrfs: cleanup types storing REQ_* David Sterba
2017-07-14 18:30 ` [PATCH 4/4] btrfs: merge REQ_OP and REQ_ flags to one parameter in submit_extent_page David Sterba
3 siblings, 0 replies; 5+ messages in thread
From: David Sterba @ 2017-07-14 18:30 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/print-tree.c | 5 +++--
fs/btrfs/print-tree.h | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/print-tree.c b/fs/btrfs/print-tree.c
index 569393ffd0fd..3823a6a64ded 100644
--- a/fs/btrfs/print-tree.c
+++ b/fs/btrfs/print-tree.c
@@ -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);
}
}
diff --git a/fs/btrfs/print-tree.h b/fs/btrfs/print-tree.h
index 689a52ee0cd1..3afd508ed8c5 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 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
--
2.13.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/4] btrfs: cleanup types storing REQ_*
2017-07-14 18:30 [PATCH 0/4] Function parameter reductions David Sterba
2017-07-14 18:30 ` [PATCH 1/4] btrfs: get fs_info from eb in btrfs_print_leaf, remove argument David Sterba
2017-07-14 18:30 ` [PATCH 2/4] btrfs: get fs_info from eb in btrfs_print_tree, " David Sterba
@ 2017-07-14 18:30 ` David Sterba
2017-07-14 18:30 ` [PATCH 4/4] btrfs: merge REQ_OP and REQ_ flags to one parameter in submit_extent_page David Sterba
3 siblings, 0 replies; 5+ messages in thread
From: David Sterba @ 2017-07-14 18:30 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
Unify types of local variables and parameters that store various
REQ_* values to unsigned int.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/extent_io.c | 14 ++++++++------
fs/btrfs/inode.c | 2 +-
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 2e6f69908303..537811c3c9d0 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -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);
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 5d3c6ac960fd..3512ac9cfd24 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -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;
--
2.13.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 4/4] btrfs: merge REQ_OP and REQ_ flags to one parameter in submit_extent_page
2017-07-14 18:30 [PATCH 0/4] Function parameter reductions David Sterba
` (2 preceding siblings ...)
2017-07-14 18:30 ` [PATCH 3/4] btrfs: cleanup types storing REQ_* David Sterba
@ 2017-07-14 18:30 ` David Sterba
3 siblings, 0 replies; 5+ messages in thread
From: David Sterba @ 2017-07-14 18:30 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
The 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.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/extent_io.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 537811c3c9d0..9f44b82b7f1a 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -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,
--
2.13.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-07-14 18:31 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-14 18:30 [PATCH 0/4] Function parameter reductions David Sterba
2017-07-14 18:30 ` [PATCH 1/4] btrfs: get fs_info from eb in btrfs_print_leaf, remove argument David Sterba
2017-07-14 18:30 ` [PATCH 2/4] btrfs: get fs_info from eb in btrfs_print_tree, " David Sterba
2017-07-14 18:30 ` [PATCH 3/4] btrfs: cleanup types storing REQ_* David Sterba
2017-07-14 18:30 ` [PATCH 4/4] btrfs: merge REQ_OP and REQ_ flags to one parameter in submit_extent_page David Sterba
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).