* [PATCH 00/30] Redundant argument cleanups, part 1
@ 2019-03-25 18:46 David Sterba
2019-03-25 18:46 ` [PATCH 01/30] btrfs: get fs_info from eb in lock_extent_buffer_for_io David Sterba
` (29 more replies)
0 siblings, 30 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
This is first batch of utterly trivial changes that clean the cruft that
accumulated over the years. When fs_info has been added to
extent_buffer, few of the functions have been updated to reduce the
redundant arugments.
This series removes fs_info/eb combination. There are more such pairs,
patchsets will follow. Once all of them are cleaned, I strongly hope
that new code will not reintroduce them.
As the changes touch a lot of files, I'll merge the series either
partially or at some appropriate time not to create unnecessary
conflicts with pending patches.
David Sterba (30):
btrfs: get fs_info from eb in lock_extent_buffer_for_io
btrfs: get fs_info from eb in repair_eb_io_failure
btrfs: get fs_info from eb in write_one_eb
btrfs: get fs_info from eb in leaf_data_end
btrfs: get fs_info from eb in btrfs_exclude_logged_extents
btrfs: get fs_info from eb in check_tree_block_fsid
btrfs: get fs_info from eb in tree_mod_log_eb_copy
btrfs: get fs_info from eb in clean_tree_block
btrfs: get fs_info from eb in btrfs_leaf_free_space
btrfs: get fs_info from eb in read_node_slot
btrfs: get fs_info from eb in btree_read_extent_buffer_pages
btrfs: get fs_info from eb in btrfs_verify_level_key
btrfs: tree-checker: get fs_info from eb in generic_err
btrfs: tree-checker: get fs_info from eb in file_extent_err
btrfs: tree-checker: get fs_info from eb in check_csum_item
btrfs: tree-checker: get fs_info from eb in dir_item_err
btrfs: tree-checker: get fs_info from eb in check_dir_item
btrfs: tree-checker: get fs_info from eb in block_group_err
btrfs: tree-checker: get fs_info from eb in check_block_group_item
btrfs: tree-checker: get fs_info from eb in check_extent_data_item
btrfs: tree-checker: get fs_info from eb in check_leaf_item
btrfs: tree-checker: get fs_info from eb in check_leaf
btrfs: get fs_info from eb in btrfs_check_leaf_full
btrfs: get fs_info from eb in btrfs_check_leaf_relaxed
btrfs: get fs_info from eb in btrfs_check_node
btrfs: get fs_info from eb in should_balance_chunk
btrfs: get fs_info from eb in btrfs_check_chunk_valid
btrfs: get fs_info from eb in read_one_chunk
btrfs: get fs_info from eb in read_one_chunk
btrfs: get fs_info from eb in btrfs_check_leaf_write
fs/btrfs/ctree.c | 139 +++++++++++++++++-----------------
fs/btrfs/ctree.h | 11 +--
fs/btrfs/delayed-inode.c | 3 +-
fs/btrfs/disk-io.c | 39 +++++-----
fs/btrfs/disk-io.h | 5 +-
fs/btrfs/extent-tree.c | 10 +--
fs/btrfs/extent_io.c | 18 ++---
fs/btrfs/extent_io.h | 3 +-
fs/btrfs/file-item.c | 4 +-
fs/btrfs/file.c | 2 +-
fs/btrfs/free-space-tree.c | 2 +-
fs/btrfs/print-tree.c | 2 +-
fs/btrfs/qgroup.c | 2 +-
fs/btrfs/tree-checker.c | 149 ++++++++++++++++++-------------------
fs/btrfs/tree-checker.h | 11 +--
fs/btrfs/tree-log.c | 8 +-
fs/btrfs/volumes.c | 27 ++++---
fs/btrfs/xattr.c | 2 +-
18 files changed, 207 insertions(+), 230 deletions(-)
--
2.21.0
^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH 01/30] btrfs: get fs_info from eb in lock_extent_buffer_for_io
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 02/30] btrfs: get fs_info from eb in repair_eb_io_failure David Sterba
` (28 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/extent_io.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 75062e2b1912..af720b2c2aeb 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -3494,11 +3494,10 @@ void wait_on_extent_buffer_writeback(struct extent_buffer *eb)
* Return >0 is same as 0, except bio is not submitted
* Return <0 if something went wrong, no page is locked
*/
-static noinline_for_stack int
-lock_extent_buffer_for_io(struct extent_buffer *eb,
- struct btrfs_fs_info *fs_info,
+static noinline_for_stack int lock_extent_buffer_for_io(struct extent_buffer *eb,
struct extent_page_data *epd)
{
+ struct btrfs_fs_info *fs_info = eb->fs_info;
int i, num_pages, failed_page_nr;
int flush = 0;
int ret = 0;
@@ -3825,7 +3824,7 @@ int btree_write_cache_pages(struct address_space *mapping,
continue;
prev_eb = eb;
- ret = lock_extent_buffer_for_io(eb, fs_info, &epd);
+ ret = lock_extent_buffer_for_io(eb, &epd);
if (!ret) {
free_extent_buffer(eb);
continue;
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 02/30] btrfs: get fs_info from eb in repair_eb_io_failure
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
2019-03-25 18:46 ` [PATCH 01/30] btrfs: get fs_info from eb in lock_extent_buffer_for_io David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 03/30] btrfs: get fs_info from eb in write_one_eb David Sterba
` (27 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters. As all callsites are updated, add the btrfs_ prefix as the
function is exported.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/disk-io.c | 2 +-
fs/btrfs/extent_io.c | 4 ++--
fs/btrfs/extent_io.h | 3 +--
3 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 5d58dd48342f..db0ed25999fd 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -497,7 +497,7 @@ static int btree_read_extent_buffer_pages(struct btrfs_fs_info *fs_info,
}
if (failed && !ret && failed_mirror)
- repair_eb_io_failure(fs_info, eb, failed_mirror);
+ btrfs_repair_eb_io_failure(eb, failed_mirror);
return ret;
}
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index af720b2c2aeb..a74278187fcd 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -2088,9 +2088,9 @@ int repair_io_failure(struct btrfs_fs_info *fs_info, u64 ino, u64 start,
return 0;
}
-int repair_eb_io_failure(struct btrfs_fs_info *fs_info,
- struct extent_buffer *eb, int mirror_num)
+int btrfs_repair_eb_io_failure(struct extent_buffer *eb, int mirror_num)
{
+ struct btrfs_fs_info *fs_info = eb->fs_info;
u64 start = eb->start;
int i, num_pages = num_extent_pages(eb);
int ret = 0;
diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h
index 586baed03780..c4ec104ac157 100644
--- a/fs/btrfs/extent_io.h
+++ b/fs/btrfs/extent_io.h
@@ -502,8 +502,7 @@ int clean_io_failure(struct btrfs_fs_info *fs_info,
struct extent_io_tree *io_tree, u64 start,
struct page *page, u64 ino, unsigned int pg_offset);
void end_extent_writepage(struct page *page, int err, u64 start, u64 end);
-int repair_eb_io_failure(struct btrfs_fs_info *fs_info,
- struct extent_buffer *eb, int mirror_num);
+int btrfs_repair_eb_io_failure(struct extent_buffer *eb, int mirror_num);
/*
* When IO fails, either with EIO or csum verification fails, we
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 03/30] btrfs: get fs_info from eb in write_one_eb
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
2019-03-25 18:46 ` [PATCH 01/30] btrfs: get fs_info from eb in lock_extent_buffer_for_io David Sterba
2019-03-25 18:46 ` [PATCH 02/30] btrfs: get fs_info from eb in repair_eb_io_failure David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 04/30] btrfs: get fs_info from eb in leaf_data_end David Sterba
` (26 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/extent_io.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index a74278187fcd..ae3746829e41 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -3677,10 +3677,10 @@ static void end_bio_extent_buffer_writepage(struct bio *bio)
}
static noinline_for_stack int write_one_eb(struct extent_buffer *eb,
- struct btrfs_fs_info *fs_info,
struct writeback_control *wbc,
struct extent_page_data *epd)
{
+ struct btrfs_fs_info *fs_info = eb->fs_info;
struct block_device *bdev = fs_info->fs_devices->latest_bdev;
struct extent_io_tree *tree = &BTRFS_I(fs_info->btree_inode)->io_tree;
u64 offset = eb->start;
@@ -3749,7 +3749,6 @@ int btree_write_cache_pages(struct address_space *mapping,
struct writeback_control *wbc)
{
struct extent_io_tree *tree = &BTRFS_I(mapping->host)->io_tree;
- struct btrfs_fs_info *fs_info = BTRFS_I(mapping->host)->root->fs_info;
struct extent_buffer *eb, *prev_eb = NULL;
struct extent_page_data epd = {
.bio = NULL,
@@ -3830,7 +3829,7 @@ int btree_write_cache_pages(struct address_space *mapping,
continue;
}
- ret = write_one_eb(eb, fs_info, wbc, &epd);
+ ret = write_one_eb(eb, wbc, &epd);
if (ret) {
done = 1;
free_extent_buffer(eb);
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 04/30] btrfs: get fs_info from eb in leaf_data_end
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (2 preceding siblings ...)
2019-03-25 18:46 ` [PATCH 03/30] btrfs: get fs_info from eb in write_one_eb David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 05/30] btrfs: get fs_info from eb in btrfs_exclude_logged_extents David Sterba
` (25 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/ctree.c | 24 ++++++++++++------------
fs/btrfs/ctree.h | 5 ++---
fs/btrfs/extent_io.c | 2 +-
3 files changed, 15 insertions(+), 16 deletions(-)
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index 7b1bc25f10cb..5be2beef18be 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -3665,10 +3665,10 @@ static noinline int __push_leaf_right(struct btrfs_fs_info *fs_info,
right_nritems = btrfs_header_nritems(right);
push_space = btrfs_item_end_nr(left, left_nritems - push_items);
- push_space -= leaf_data_end(fs_info, left);
+ push_space -= leaf_data_end(left);
/* make room in the right data area */
- data_end = leaf_data_end(fs_info, right);
+ data_end = leaf_data_end(right);
memmove_extent_buffer(right,
BTRFS_LEAF_DATA_OFFSET + data_end - push_space,
BTRFS_LEAF_DATA_OFFSET + data_end,
@@ -3677,7 +3677,7 @@ static noinline int __push_leaf_right(struct btrfs_fs_info *fs_info,
/* copy from the left data area */
copy_extent_buffer(right, left, BTRFS_LEAF_DATA_OFFSET +
BTRFS_LEAF_DATA_SIZE(fs_info) - push_space,
- BTRFS_LEAF_DATA_OFFSET + leaf_data_end(fs_info, left),
+ BTRFS_LEAF_DATA_OFFSET + leaf_data_end(left),
push_space);
memmove_extent_buffer(right, btrfs_item_nr_offset(push_items),
@@ -3892,7 +3892,7 @@ static noinline int __push_leaf_left(struct btrfs_fs_info *fs_info,
btrfs_item_offset_nr(right, push_items - 1);
copy_extent_buffer(left, right, BTRFS_LEAF_DATA_OFFSET +
- leaf_data_end(fs_info, left) - push_space,
+ leaf_data_end(left) - push_space,
BTRFS_LEAF_DATA_OFFSET +
btrfs_item_offset_nr(right, push_items - 1),
push_space);
@@ -3919,11 +3919,11 @@ static noinline int __push_leaf_left(struct btrfs_fs_info *fs_info,
if (push_items < right_nritems) {
push_space = btrfs_item_offset_nr(right, push_items - 1) -
- leaf_data_end(fs_info, right);
+ leaf_data_end(right);
memmove_extent_buffer(right, BTRFS_LEAF_DATA_OFFSET +
BTRFS_LEAF_DATA_SIZE(fs_info) - push_space,
BTRFS_LEAF_DATA_OFFSET +
- leaf_data_end(fs_info, right), push_space);
+ leaf_data_end(right), push_space);
memmove_extent_buffer(right, btrfs_item_nr_offset(0),
btrfs_item_nr_offset(push_items),
@@ -4065,7 +4065,7 @@ static noinline void copy_for_split(struct btrfs_trans_handle *trans,
nritems = nritems - mid;
btrfs_set_header_nritems(right, nritems);
- data_copy_size = btrfs_item_end_nr(l, mid) - leaf_data_end(fs_info, l);
+ data_copy_size = btrfs_item_end_nr(l, mid) - leaf_data_end(l);
copy_extent_buffer(right, l, btrfs_item_nr_offset(0),
btrfs_item_nr_offset(mid),
@@ -4074,7 +4074,7 @@ static noinline void copy_for_split(struct btrfs_trans_handle *trans,
copy_extent_buffer(right, l,
BTRFS_LEAF_DATA_OFFSET + BTRFS_LEAF_DATA_SIZE(fs_info) -
data_copy_size, BTRFS_LEAF_DATA_OFFSET +
- leaf_data_end(fs_info, l), data_copy_size);
+ leaf_data_end(l), data_copy_size);
rt_data_off = BTRFS_LEAF_DATA_SIZE(fs_info) - btrfs_item_end_nr(l, mid);
@@ -4577,7 +4577,7 @@ void btrfs_truncate_item(struct btrfs_fs_info *fs_info,
return;
nritems = btrfs_header_nritems(leaf);
- data_end = leaf_data_end(fs_info, leaf);
+ data_end = leaf_data_end(leaf);
old_data_start = btrfs_item_offset_nr(leaf, slot);
@@ -4670,7 +4670,7 @@ void btrfs_extend_item(struct btrfs_fs_info *fs_info, struct btrfs_path *path,
leaf = path->nodes[0];
nritems = btrfs_header_nritems(leaf);
- data_end = leaf_data_end(fs_info, leaf);
+ data_end = leaf_data_end(leaf);
if (btrfs_leaf_free_space(fs_info, leaf) < data_size) {
btrfs_print_leaf(leaf);
@@ -4748,7 +4748,7 @@ void setup_items_for_insert(struct btrfs_root *root, struct btrfs_path *path,
slot = path->slots[0];
nritems = btrfs_header_nritems(leaf);
- data_end = leaf_data_end(fs_info, leaf);
+ data_end = leaf_data_end(leaf);
if (btrfs_leaf_free_space(fs_info, leaf) < total_size) {
btrfs_print_leaf(leaf);
@@ -4976,7 +4976,7 @@ int btrfs_del_items(struct btrfs_trans_handle *trans, struct btrfs_root *root,
nritems = btrfs_header_nritems(leaf);
if (slot + nr != nritems) {
- int data_end = leaf_data_end(fs_info, leaf);
+ int data_end = leaf_data_end(leaf);
memmove_extent_buffer(leaf, BTRFS_LEAF_DATA_OFFSET +
data_end + dsize,
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 880b5abd8ecc..78b20567253e 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -2443,13 +2443,12 @@ static inline int btrfs_super_csum_size(const struct btrfs_super_block *s)
* this returns the address of the start of the last item,
* which is the stop of the leaf data stack
*/
-static inline unsigned int leaf_data_end(const struct btrfs_fs_info *fs_info,
- const struct extent_buffer *leaf)
+static inline unsigned int leaf_data_end(const struct extent_buffer *leaf)
{
u32 nr = btrfs_header_nritems(leaf);
if (nr == 0)
- return BTRFS_LEAF_DATA_SIZE(fs_info);
+ return BTRFS_LEAF_DATA_SIZE(leaf->fs_info);
return btrfs_item_offset_nr(leaf, nr - 1);
}
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index ae3746829e41..4d58075e6cec 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -3706,7 +3706,7 @@ static noinline_for_stack int write_one_eb(struct extent_buffer *eb,
* header 0 1 2 .. N ... data_N .. data_2 data_1 data_0
*/
start = btrfs_item_nr_offset(nritems);
- end = BTRFS_LEAF_DATA_OFFSET + leaf_data_end(fs_info, eb);
+ end = BTRFS_LEAF_DATA_OFFSET + leaf_data_end(eb);
memzero_extent_buffer(eb, start, end - start);
}
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 05/30] btrfs: get fs_info from eb in btrfs_exclude_logged_extents
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (3 preceding siblings ...)
2019-03-25 18:46 ` [PATCH 04/30] btrfs: get fs_info from eb in leaf_data_end David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 06/30] btrfs: get fs_info from eb in check_tree_block_fsid David Sterba
` (24 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/ctree.h | 3 +--
fs/btrfs/extent-tree.c | 4 ++--
fs/btrfs/tree-log.c | 2 +-
3 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 78b20567253e..9465e5360c3f 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -2708,8 +2708,7 @@ int btrfs_pin_extent(struct btrfs_fs_info *fs_info,
u64 bytenr, u64 num, int reserved);
int btrfs_pin_extent_for_log_replay(struct btrfs_fs_info *fs_info,
u64 bytenr, u64 num_bytes);
-int btrfs_exclude_logged_extents(struct btrfs_fs_info *fs_info,
- struct extent_buffer *eb);
+int btrfs_exclude_logged_extents(struct extent_buffer *eb);
int btrfs_cross_ref_exist(struct btrfs_root *root,
u64 objectid, u64 offset, u64 bytenr);
struct btrfs_block_group_cache *btrfs_lookup_block_group(
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index b0c86a817a99..44fd4553004b 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -6601,9 +6601,9 @@ static int __exclude_logged_extent(struct btrfs_fs_info *fs_info,
return ret;
}
-int btrfs_exclude_logged_extents(struct btrfs_fs_info *fs_info,
- struct extent_buffer *eb)
+int btrfs_exclude_logged_extents(struct extent_buffer *eb)
{
+ struct btrfs_fs_info *fs_info = eb->fs_info;
struct btrfs_file_extent_item *item;
struct btrfs_key key;
int found_type;
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index a59e98c9fbb9..4cb61cb72c4e 100644
--- a/fs/btrfs/tree-log.c
+++ b/fs/btrfs/tree-log.c
@@ -315,7 +315,7 @@ static int process_one_buffer(struct btrfs_root *log,
if (!ret && btrfs_buffer_uptodate(eb, gen, 0)) {
if (wc->pin && btrfs_header_level(eb) == 0)
- ret = btrfs_exclude_logged_extents(fs_info, eb);
+ ret = btrfs_exclude_logged_extents(eb);
if (wc->write)
btrfs_write_tree_block(eb);
if (wc->wait)
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 06/30] btrfs: get fs_info from eb in check_tree_block_fsid
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (4 preceding siblings ...)
2019-03-25 18:46 ` [PATCH 05/30] btrfs: get fs_info from eb in btrfs_exclude_logged_extents David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 07/30] btrfs: get fs_info from eb in tree_mod_log_eb_copy David Sterba
` (23 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/disk-io.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index db0ed25999fd..b7d512e5f4a1 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -552,9 +552,9 @@ static int csum_dirty_buffer(struct btrfs_fs_info *fs_info, struct page *page)
return 0;
}
-static int check_tree_block_fsid(struct btrfs_fs_info *fs_info,
- struct extent_buffer *eb)
+static int check_tree_block_fsid(struct extent_buffer *eb)
{
+ struct btrfs_fs_info *fs_info = eb->fs_info;
struct btrfs_fs_devices *fs_devices = fs_info->fs_devices;
u8 fsid[BTRFS_FSID_SIZE];
int ret = 1;
@@ -624,7 +624,7 @@ static int btree_readpage_end_io_hook(struct btrfs_io_bio *io_bio,
ret = -EIO;
goto err;
}
- if (check_tree_block_fsid(fs_info, eb)) {
+ if (check_tree_block_fsid(eb)) {
btrfs_err_rl(fs_info, "bad fsid on block %llu",
eb->start);
ret = -EIO;
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 07/30] btrfs: get fs_info from eb in tree_mod_log_eb_copy
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (5 preceding siblings ...)
2019-03-25 18:46 ` [PATCH 06/30] btrfs: get fs_info from eb in check_tree_block_fsid David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 08/30] btrfs: get fs_info from eb in clean_tree_block David Sterba
` (22 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/ctree.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index 5be2beef18be..b83627a372b1 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -726,11 +726,11 @@ tree_mod_log_search(struct btrfs_fs_info *fs_info, u64 start, u64 min_seq)
return __tree_mod_log_search(fs_info, start, min_seq, 0);
}
-static noinline int
-tree_mod_log_eb_copy(struct btrfs_fs_info *fs_info, struct extent_buffer *dst,
+static noinline int tree_mod_log_eb_copy(struct extent_buffer *dst,
struct extent_buffer *src, unsigned long dst_offset,
unsigned long src_offset, int nr_items)
{
+ struct btrfs_fs_info *fs_info = dst->fs_info;
int ret = 0;
struct tree_mod_elem **tm_list = NULL;
struct tree_mod_elem **tm_list_add, **tm_list_rem;
@@ -3249,8 +3249,7 @@ static int push_node_left(struct btrfs_trans_handle *trans,
} else
push_items = min(src_nritems - 8, push_items);
- ret = tree_mod_log_eb_copy(fs_info, dst, src, dst_nritems, 0,
- push_items);
+ ret = tree_mod_log_eb_copy(dst, src, dst_nritems, 0, push_items);
if (ret) {
btrfs_abort_transaction(trans, ret);
return ret;
@@ -3325,8 +3324,8 @@ static int balance_node_right(struct btrfs_trans_handle *trans,
(dst_nritems) *
sizeof(struct btrfs_key_ptr));
- ret = tree_mod_log_eb_copy(fs_info, dst, src, 0,
- src_nritems - push_items, push_items);
+ ret = tree_mod_log_eb_copy(dst, src, 0, src_nritems - push_items,
+ push_items);
if (ret) {
btrfs_abort_transaction(trans, ret);
return ret;
@@ -3511,7 +3510,7 @@ static noinline int split_node(struct btrfs_trans_handle *trans,
root_add_used(root, fs_info->nodesize);
ASSERT(btrfs_header_level(c) == level);
- ret = tree_mod_log_eb_copy(fs_info, split, c, 0, mid, c_nritems - mid);
+ ret = tree_mod_log_eb_copy(split, c, 0, mid, c_nritems - mid);
if (ret) {
btrfs_abort_transaction(trans, ret);
return ret;
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 08/30] btrfs: get fs_info from eb in clean_tree_block
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (6 preceding siblings ...)
2019-03-25 18:46 ` [PATCH 07/30] btrfs: get fs_info from eb in tree_mod_log_eb_copy David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 09/30] btrfs: get fs_info from eb in btrfs_leaf_free_space David Sterba
` (21 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/ctree.c | 16 ++++++++--------
fs/btrfs/disk-io.c | 4 ++--
fs/btrfs/disk-io.h | 2 +-
fs/btrfs/extent-tree.c | 6 +++---
fs/btrfs/free-space-tree.c | 2 +-
fs/btrfs/qgroup.c | 2 +-
fs/btrfs/tree-log.c | 6 +++---
7 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index b83627a372b1..76e57a8c98df 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -970,7 +970,7 @@ static noinline int update_ref_for_cow(struct btrfs_trans_handle *trans,
if (ret)
return ret;
}
- clean_tree_block(fs_info, buf);
+ btrfs_clean_tree_block(buf);
*last_ref = 1;
}
return 0;
@@ -1888,7 +1888,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
path->locks[level] = 0;
path->nodes[level] = NULL;
- clean_tree_block(fs_info, mid);
+ btrfs_clean_tree_block(mid);
btrfs_tree_unlock(mid);
/* once for the path */
free_extent_buffer(mid);
@@ -1949,7 +1949,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
if (wret < 0 && wret != -ENOSPC)
ret = wret;
if (btrfs_header_nritems(right) == 0) {
- clean_tree_block(fs_info, right);
+ btrfs_clean_tree_block(right);
btrfs_tree_unlock(right);
del_ptr(root, path, level + 1, pslot + 1);
root_sub_used(root, right->len);
@@ -1994,7 +1994,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
BUG_ON(wret == 1);
}
if (btrfs_header_nritems(mid) == 0) {
- clean_tree_block(fs_info, mid);
+ btrfs_clean_tree_block(mid);
btrfs_tree_unlock(mid);
del_ptr(root, path, level + 1, pslot);
root_sub_used(root, mid->len);
@@ -3704,7 +3704,7 @@ static noinline int __push_leaf_right(struct btrfs_fs_info *fs_info,
if (left_nritems)
btrfs_mark_buffer_dirty(left);
else
- clean_tree_block(fs_info, left);
+ btrfs_clean_tree_block(left);
btrfs_mark_buffer_dirty(right);
@@ -3716,7 +3716,7 @@ static noinline int __push_leaf_right(struct btrfs_fs_info *fs_info,
if (path->slots[0] >= left_nritems) {
path->slots[0] -= left_nritems;
if (btrfs_header_nritems(path->nodes[0]) == 0)
- clean_tree_block(fs_info, path->nodes[0]);
+ btrfs_clean_tree_block(path->nodes[0]);
btrfs_tree_unlock(path->nodes[0]);
free_extent_buffer(path->nodes[0]);
path->nodes[0] = right;
@@ -3944,7 +3944,7 @@ static noinline int __push_leaf_left(struct btrfs_fs_info *fs_info,
if (right_nritems)
btrfs_mark_buffer_dirty(right);
else
- clean_tree_block(fs_info, right);
+ btrfs_clean_tree_block(right);
btrfs_item_key(right, &disk_key, 0);
fixup_low_keys(path, &disk_key, 1);
@@ -5005,7 +5005,7 @@ int btrfs_del_items(struct btrfs_trans_handle *trans, struct btrfs_root *root,
btrfs_set_header_level(leaf, 0);
} else {
btrfs_set_path_blocking(path);
- clean_tree_block(fs_info, leaf);
+ btrfs_clean_tree_block(leaf);
btrfs_del_leaf(trans, root, path, leaf);
}
} else {
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index b7d512e5f4a1..a642c8219271 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -1119,9 +1119,9 @@ struct extent_buffer *read_tree_block(struct btrfs_fs_info *fs_info, u64 bytenr,
}
-void clean_tree_block(struct btrfs_fs_info *fs_info,
- struct extent_buffer *buf)
+void btrfs_clean_tree_block(struct extent_buffer *buf)
{
+ struct btrfs_fs_info *fs_info = buf->fs_info;
if (btrfs_header_generation(buf) ==
fs_info->running_transaction->transid) {
btrfs_assert_tree_locked(buf);
diff --git a/fs/btrfs/disk-io.h b/fs/btrfs/disk-io.h
index a94ce82a2be0..917634f2bae9 100644
--- a/fs/btrfs/disk-io.h
+++ b/fs/btrfs/disk-io.h
@@ -51,7 +51,7 @@ int reada_tree_block_flagged(struct btrfs_fs_info *fs_info, u64 bytenr,
struct extent_buffer *btrfs_find_create_tree_block(
struct btrfs_fs_info *fs_info,
u64 bytenr);
-void clean_tree_block(struct btrfs_fs_info *fs_info, struct extent_buffer *buf);
+void btrfs_clean_tree_block(struct extent_buffer *buf);
int open_ctree(struct super_block *sb,
struct btrfs_fs_devices *fs_devices,
char *options);
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 44fd4553004b..aa52b0995fba 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -8557,7 +8557,7 @@ btrfs_init_new_buffer(struct btrfs_trans_handle *trans, struct btrfs_root *root,
btrfs_set_buffer_lockdep_class(root->root_key.objectid, buf, level);
btrfs_tree_lock(buf);
- clean_tree_block(fs_info, buf);
+ btrfs_clean_tree_block(buf);
clear_bit(EXTENT_BUFFER_STALE, &buf->bflags);
btrfs_set_lock_blocking_write(buf);
@@ -9252,14 +9252,14 @@ static noinline int walk_up_proc(struct btrfs_trans_handle *trans,
ret);
}
}
- /* make block locked assertion in clean_tree_block happy */
+ /* make block locked assertion in btrfs_clean_tree_block happy */
if (!path->locks[level] &&
btrfs_header_generation(eb) == trans->transid) {
btrfs_tree_lock(eb);
btrfs_set_lock_blocking_write(eb);
path->locks[level] = BTRFS_WRITE_LOCK_BLOCKING;
}
- clean_tree_block(fs_info, eb);
+ btrfs_clean_tree_block(eb);
}
if (eb == root->node) {
diff --git a/fs/btrfs/free-space-tree.c b/fs/btrfs/free-space-tree.c
index e5089087eaa6..4859e09d2af0 100644
--- a/fs/btrfs/free-space-tree.c
+++ b/fs/btrfs/free-space-tree.c
@@ -1248,7 +1248,7 @@ int btrfs_clear_free_space_tree(struct btrfs_fs_info *fs_info)
list_del(&free_space_root->dirty_list);
btrfs_tree_lock(free_space_root->node);
- clean_tree_block(fs_info, free_space_root->node);
+ btrfs_clean_tree_block(free_space_root->node);
btrfs_tree_unlock(free_space_root->node);
btrfs_free_tree_block(trans, free_space_root, free_space_root->node,
0, 1);
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index e659d9d61107..95361ccaa488 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -1101,7 +1101,7 @@ int btrfs_quota_disable(struct btrfs_fs_info *fs_info)
list_del("a_root->dirty_list);
btrfs_tree_lock(quota_root->node);
- clean_tree_block(fs_info, quota_root->node);
+ btrfs_clean_tree_block(quota_root->node);
btrfs_tree_unlock(quota_root->node);
btrfs_free_tree_block(trans, quota_root, quota_root->node, 0, 1);
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index 4cb61cb72c4e..79f75bec9f40 100644
--- a/fs/btrfs/tree-log.c
+++ b/fs/btrfs/tree-log.c
@@ -2736,7 +2736,7 @@ static noinline int walk_down_log_tree(struct btrfs_trans_handle *trans,
if (trans) {
btrfs_tree_lock(next);
btrfs_set_lock_blocking_write(next);
- clean_tree_block(fs_info, next);
+ btrfs_clean_tree_block(next);
btrfs_wait_tree_block_writeback(next);
btrfs_tree_unlock(next);
} else {
@@ -2820,7 +2820,7 @@ static noinline int walk_up_log_tree(struct btrfs_trans_handle *trans,
if (trans) {
btrfs_tree_lock(next);
btrfs_set_lock_blocking_write(next);
- clean_tree_block(fs_info, next);
+ btrfs_clean_tree_block(next);
btrfs_wait_tree_block_writeback(next);
btrfs_tree_unlock(next);
} else {
@@ -2902,7 +2902,7 @@ static int walk_log_tree(struct btrfs_trans_handle *trans,
if (trans) {
btrfs_tree_lock(next);
btrfs_set_lock_blocking_write(next);
- clean_tree_block(fs_info, next);
+ btrfs_clean_tree_block(next);
btrfs_wait_tree_block_writeback(next);
btrfs_tree_unlock(next);
} else {
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 09/30] btrfs: get fs_info from eb in btrfs_leaf_free_space
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (7 preceding siblings ...)
2019-03-25 18:46 ` [PATCH 08/30] btrfs: get fs_info from eb in clean_tree_block David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 10/30] btrfs: get fs_info from eb in read_node_slot David Sterba
` (20 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/ctree.c | 58 +++++++++++++++++++---------------------
fs/btrfs/ctree.h | 3 +--
fs/btrfs/delayed-inode.c | 3 +--
fs/btrfs/file-item.c | 4 +--
fs/btrfs/file.c | 2 +-
fs/btrfs/print-tree.c | 2 +-
fs/btrfs/xattr.c | 2 +-
7 files changed, 35 insertions(+), 39 deletions(-)
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index 76e57a8c98df..597337b07afa 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -2716,7 +2716,6 @@ int btrfs_search_slot(struct btrfs_trans_handle *trans, struct btrfs_root *root,
const struct btrfs_key *key, struct btrfs_path *p,
int ins_len, int cow)
{
- struct btrfs_fs_info *fs_info = root->fs_info;
struct extent_buffer *b;
int slot;
int ret;
@@ -2914,7 +2913,7 @@ int btrfs_search_slot(struct btrfs_trans_handle *trans, struct btrfs_root *root,
} else {
p->slots[level] = slot;
if (ins_len > 0 &&
- btrfs_leaf_free_space(fs_info, b) < ins_len) {
+ btrfs_leaf_free_space(b) < ins_len) {
if (write_lock_level < 1) {
write_lock_level = 1;
btrfs_release_path(p);
@@ -3574,9 +3573,9 @@ static int leaf_space_used(struct extent_buffer *l, int start, int nr)
* the start of the leaf data. IOW, how much room
* the leaf has left for both items and data
*/
-noinline int btrfs_leaf_free_space(struct btrfs_fs_info *fs_info,
- struct extent_buffer *leaf)
+noinline int btrfs_leaf_free_space(struct extent_buffer *leaf)
{
+ struct btrfs_fs_info *fs_info = leaf->fs_info;
int nritems = btrfs_header_nritems(leaf);
int ret;
@@ -3635,7 +3634,8 @@ static noinline int __push_leaf_right(struct btrfs_fs_info *fs_info,
if (path->slots[0] > i)
break;
if (path->slots[0] == i) {
- int space = btrfs_leaf_free_space(fs_info, left);
+ int space = btrfs_leaf_free_space(left);
+
if (space + push_space * 2 > free_space)
break;
}
@@ -3778,7 +3778,7 @@ static int push_leaf_right(struct btrfs_trans_handle *trans, struct btrfs_root
btrfs_tree_lock(right);
btrfs_set_lock_blocking_write(right);
- free_space = btrfs_leaf_free_space(fs_info, right);
+ free_space = btrfs_leaf_free_space(right);
if (free_space < data_size)
goto out_unlock;
@@ -3788,7 +3788,7 @@ static int push_leaf_right(struct btrfs_trans_handle *trans, struct btrfs_root
if (ret)
goto out_unlock;
- free_space = btrfs_leaf_free_space(fs_info, right);
+ free_space = btrfs_leaf_free_space(right);
if (free_space < data_size)
goto out_unlock;
@@ -3858,7 +3858,8 @@ static noinline int __push_leaf_left(struct btrfs_fs_info *fs_info,
if (path->slots[0] < i)
break;
if (path->slots[0] == i) {
- int space = btrfs_leaf_free_space(fs_info, right);
+ int space = btrfs_leaf_free_space(right);
+
if (space + push_space * 2 > free_space)
break;
}
@@ -4012,7 +4013,7 @@ static int push_leaf_left(struct btrfs_trans_handle *trans, struct btrfs_root
btrfs_tree_lock(left);
btrfs_set_lock_blocking_write(left);
- free_space = btrfs_leaf_free_space(fs_info, left);
+ free_space = btrfs_leaf_free_space(left);
if (free_space < data_size) {
ret = 1;
goto out;
@@ -4028,7 +4029,7 @@ static int push_leaf_left(struct btrfs_trans_handle *trans, struct btrfs_root
goto out;
}
- free_space = btrfs_leaf_free_space(fs_info, left);
+ free_space = btrfs_leaf_free_space(left);
if (free_space < data_size) {
ret = 1;
goto out;
@@ -4124,7 +4125,6 @@ static noinline int push_for_double_split(struct btrfs_trans_handle *trans,
struct btrfs_path *path,
int data_size)
{
- struct btrfs_fs_info *fs_info = root->fs_info;
int ret;
int progress = 0;
int slot;
@@ -4133,7 +4133,7 @@ static noinline int push_for_double_split(struct btrfs_trans_handle *trans,
slot = path->slots[0];
if (slot < btrfs_header_nritems(path->nodes[0]))
- space_needed -= btrfs_leaf_free_space(fs_info, path->nodes[0]);
+ space_needed -= btrfs_leaf_free_space(path->nodes[0]);
/*
* try to push all the items after our slot into the
@@ -4154,14 +4154,14 @@ static noinline int push_for_double_split(struct btrfs_trans_handle *trans,
if (path->slots[0] == 0 || path->slots[0] == nritems)
return 0;
- if (btrfs_leaf_free_space(fs_info, path->nodes[0]) >= data_size)
+ if (btrfs_leaf_free_space(path->nodes[0]) >= data_size)
return 0;
/* try to push all the items before our slot into the next leaf */
slot = path->slots[0];
space_needed = data_size;
if (slot > 0)
- space_needed -= btrfs_leaf_free_space(fs_info, path->nodes[0]);
+ space_needed -= btrfs_leaf_free_space(path->nodes[0]);
ret = push_leaf_left(trans, root, path, 1, space_needed, 0, slot);
if (ret < 0)
return ret;
@@ -4210,7 +4210,7 @@ static noinline int split_leaf(struct btrfs_trans_handle *trans,
int space_needed = data_size;
if (slot < btrfs_header_nritems(l))
- space_needed -= btrfs_leaf_free_space(fs_info, l);
+ space_needed -= btrfs_leaf_free_space(l);
wret = push_leaf_right(trans, root, path, space_needed,
space_needed, 0, 0);
@@ -4219,8 +4219,7 @@ static noinline int split_leaf(struct btrfs_trans_handle *trans,
if (wret) {
space_needed = data_size;
if (slot > 0)
- space_needed -= btrfs_leaf_free_space(fs_info,
- l);
+ space_needed -= btrfs_leaf_free_space(l);
wret = push_leaf_left(trans, root, path, space_needed,
space_needed, 0, (u32)-1);
if (wret < 0)
@@ -4229,7 +4228,7 @@ static noinline int split_leaf(struct btrfs_trans_handle *trans,
l = path->nodes[0];
/* did the pushes work? */
- if (btrfs_leaf_free_space(fs_info, l) >= data_size)
+ if (btrfs_leaf_free_space(l) >= data_size)
return 0;
}
@@ -4336,7 +4335,7 @@ static noinline int split_leaf(struct btrfs_trans_handle *trans,
push_for_double:
push_for_double_split(trans, root, path, data_size);
tried_avoid_double = 1;
- if (btrfs_leaf_free_space(fs_info, path->nodes[0]) >= data_size)
+ if (btrfs_leaf_free_space(path->nodes[0]) >= data_size)
return 0;
goto again;
}
@@ -4345,7 +4344,6 @@ static noinline int setup_leaf_for_split(struct btrfs_trans_handle *trans,
struct btrfs_root *root,
struct btrfs_path *path, int ins_len)
{
- struct btrfs_fs_info *fs_info = root->fs_info;
struct btrfs_key key;
struct extent_buffer *leaf;
struct btrfs_file_extent_item *fi;
@@ -4359,7 +4357,7 @@ static noinline int setup_leaf_for_split(struct btrfs_trans_handle *trans,
BUG_ON(key.type != BTRFS_EXTENT_DATA_KEY &&
key.type != BTRFS_EXTENT_CSUM_KEY);
- if (btrfs_leaf_free_space(fs_info, leaf) >= ins_len)
+ if (btrfs_leaf_free_space(leaf) >= ins_len)
return 0;
item_size = btrfs_item_size_nr(leaf, path->slots[0]);
@@ -4386,7 +4384,7 @@ static noinline int setup_leaf_for_split(struct btrfs_trans_handle *trans,
goto err;
/* the leaf has changed, it now has room. return now */
- if (btrfs_leaf_free_space(fs_info, path->nodes[0]) >= ins_len)
+ if (btrfs_leaf_free_space(path->nodes[0]) >= ins_len)
goto err;
if (key.type == BTRFS_EXTENT_DATA_KEY) {
@@ -4425,7 +4423,7 @@ static noinline int split_item(struct btrfs_fs_info *fs_info,
struct btrfs_disk_key disk_key;
leaf = path->nodes[0];
- BUG_ON(btrfs_leaf_free_space(fs_info, leaf) < sizeof(struct btrfs_item));
+ BUG_ON(btrfs_leaf_free_space(leaf) < sizeof(struct btrfs_item));
btrfs_set_path_blocking(path);
@@ -4474,7 +4472,7 @@ static noinline int split_item(struct btrfs_fs_info *fs_info,
item_size - split_offset);
btrfs_mark_buffer_dirty(leaf);
- BUG_ON(btrfs_leaf_free_space(fs_info, leaf) < 0);
+ BUG_ON(btrfs_leaf_free_space(leaf) < 0);
kfree(buf);
return 0;
}
@@ -4642,7 +4640,7 @@ void btrfs_truncate_item(struct btrfs_fs_info *fs_info,
btrfs_set_item_size(leaf, item, new_size);
btrfs_mark_buffer_dirty(leaf);
- if (btrfs_leaf_free_space(fs_info, leaf) < 0) {
+ if (btrfs_leaf_free_space(leaf) < 0) {
btrfs_print_leaf(leaf);
BUG();
}
@@ -4671,7 +4669,7 @@ void btrfs_extend_item(struct btrfs_fs_info *fs_info, struct btrfs_path *path,
nritems = btrfs_header_nritems(leaf);
data_end = leaf_data_end(leaf);
- if (btrfs_leaf_free_space(fs_info, leaf) < data_size) {
+ if (btrfs_leaf_free_space(leaf) < data_size) {
btrfs_print_leaf(leaf);
BUG();
}
@@ -4710,7 +4708,7 @@ void btrfs_extend_item(struct btrfs_fs_info *fs_info, struct btrfs_path *path,
btrfs_set_item_size(leaf, item, old_size + data_size);
btrfs_mark_buffer_dirty(leaf);
- if (btrfs_leaf_free_space(fs_info, leaf) < 0) {
+ if (btrfs_leaf_free_space(leaf) < 0) {
btrfs_print_leaf(leaf);
BUG();
}
@@ -4749,10 +4747,10 @@ void setup_items_for_insert(struct btrfs_root *root, struct btrfs_path *path,
nritems = btrfs_header_nritems(leaf);
data_end = leaf_data_end(leaf);
- if (btrfs_leaf_free_space(fs_info, leaf) < total_size) {
+ if (btrfs_leaf_free_space(leaf) < total_size) {
btrfs_print_leaf(leaf);
btrfs_crit(fs_info, "not enough freespace need %u have %d",
- total_size, btrfs_leaf_free_space(fs_info, leaf));
+ total_size, btrfs_leaf_free_space(leaf));
BUG();
}
@@ -4803,7 +4801,7 @@ void setup_items_for_insert(struct btrfs_root *root, struct btrfs_path *path,
btrfs_set_header_nritems(leaf, nritems + nr);
btrfs_mark_buffer_dirty(leaf);
- if (btrfs_leaf_free_space(fs_info, leaf) < 0) {
+ if (btrfs_leaf_free_space(leaf) < 0) {
btrfs_print_leaf(leaf);
BUG();
}
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 9465e5360c3f..9528eb7c93d7 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -3011,8 +3011,7 @@ static inline int btrfs_next_item(struct btrfs_root *root, struct btrfs_path *p)
{
return btrfs_next_old_item(root, p, 0);
}
-int btrfs_leaf_free_space(struct btrfs_fs_info *fs_info,
- struct extent_buffer *leaf);
+int btrfs_leaf_free_space(struct extent_buffer *leaf);
int __must_check btrfs_drop_snapshot(struct btrfs_root *root,
struct btrfs_block_rsv *block_rsv,
int update_ref, int for_reloc);
diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c
index c669f250d4a0..ccba129577c8 100644
--- a/fs/btrfs/delayed-inode.c
+++ b/fs/btrfs/delayed-inode.c
@@ -691,7 +691,6 @@ static int btrfs_batch_insert_items(struct btrfs_root *root,
struct btrfs_path *path,
struct btrfs_delayed_item *item)
{
- struct btrfs_fs_info *fs_info = root->fs_info;
struct btrfs_delayed_item *curr, *next;
int free_space;
int total_data_size = 0, total_size = 0;
@@ -708,7 +707,7 @@ static int btrfs_batch_insert_items(struct btrfs_root *root,
BUG_ON(!path->nodes[0]);
leaf = path->nodes[0];
- free_space = btrfs_leaf_free_space(fs_info, leaf);
+ free_space = btrfs_leaf_free_space(leaf);
INIT_LIST_HEAD(&head);
next = item;
diff --git a/fs/btrfs/file-item.c b/fs/btrfs/file-item.c
index aa40e66df1e1..3038054bbd2b 100644
--- a/fs/btrfs/file-item.c
+++ b/fs/btrfs/file-item.c
@@ -821,11 +821,11 @@ int btrfs_csum_file_blocks(struct btrfs_trans_handle *trans,
u32 diff;
u32 free_space;
- if (btrfs_leaf_free_space(fs_info, leaf) <
+ if (btrfs_leaf_free_space(leaf) <
sizeof(struct btrfs_item) + csum_size * 2)
goto insert;
- free_space = btrfs_leaf_free_space(fs_info, leaf) -
+ free_space = btrfs_leaf_free_space(leaf) -
sizeof(struct btrfs_item) - csum_size;
tmp = sums->len - total_bytes;
tmp >>= fs_info->sb->s_blocksize_bits;
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 5e6aee84daee..15cc3b861346 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -1050,7 +1050,7 @@ int __btrfs_drop_extents(struct btrfs_trans_handle *trans,
if (!ret && replace_extent && leafs_visited == 1 &&
(path->locks[0] == BTRFS_WRITE_LOCK_BLOCKING ||
path->locks[0] == BTRFS_WRITE_LOCK) &&
- btrfs_leaf_free_space(fs_info, leaf) >=
+ btrfs_leaf_free_space(leaf) >=
sizeof(struct btrfs_item) + extent_item_size) {
key.objectid = ino;
diff --git a/fs/btrfs/print-tree.c b/fs/btrfs/print-tree.c
index df49931ffe92..1141ca5fae6a 100644
--- a/fs/btrfs/print-tree.c
+++ b/fs/btrfs/print-tree.c
@@ -189,7 +189,7 @@ void btrfs_print_leaf(struct extent_buffer *l)
btrfs_info(fs_info,
"leaf %llu gen %llu total ptrs %d free space %d owner %llu",
btrfs_header_bytenr(l), btrfs_header_generation(l), nr,
- btrfs_leaf_free_space(fs_info, l), btrfs_header_owner(l));
+ btrfs_leaf_free_space(l), btrfs_header_owner(l));
print_eb_refs_lock(l);
for (i = 0 ; i < nr ; i++) {
item = btrfs_item_nr(i);
diff --git a/fs/btrfs/xattr.c b/fs/btrfs/xattr.c
index 58579a4d2f22..5532036f2530 100644
--- a/fs/btrfs/xattr.c
+++ b/fs/btrfs/xattr.c
@@ -176,7 +176,7 @@ int btrfs_setxattr(struct btrfs_trans_handle *trans, struct inode *inode,
char *ptr;
if (size > old_data_len) {
- if (btrfs_leaf_free_space(fs_info, leaf) <
+ if (btrfs_leaf_free_space(leaf) <
(size - old_data_len)) {
ret = -ENOSPC;
goto out;
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 10/30] btrfs: get fs_info from eb in read_node_slot
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (8 preceding siblings ...)
2019-03-25 18:46 ` [PATCH 09/30] btrfs: get fs_info from eb in btrfs_leaf_free_space David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 11/30] btrfs: get fs_info from eb in btree_read_extent_buffer_pages David Sterba
` (19 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/ctree.c | 26 ++++++++++++--------------
1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index 597337b07afa..3e26254fefe8 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -1792,9 +1792,8 @@ static void root_sub_used(struct btrfs_root *root, u32 size)
/* given a node and slot number, this reads the blocks it points to. The
* extent buffer is returned with a reference taken (but unlocked).
*/
-static noinline struct extent_buffer *
-read_node_slot(struct btrfs_fs_info *fs_info, struct extent_buffer *parent,
- int slot)
+static noinline struct extent_buffer *read_node_slot(
+ struct extent_buffer *parent, int slot)
{
int level = btrfs_header_level(parent);
struct extent_buffer *eb;
@@ -1806,7 +1805,7 @@ read_node_slot(struct btrfs_fs_info *fs_info, struct extent_buffer *parent,
BUG_ON(level == 0);
btrfs_node_key_to_cpu(parent, &first_key, slot);
- eb = read_tree_block(fs_info, btrfs_node_blockptr(parent, slot),
+ eb = read_tree_block(parent->fs_info, btrfs_node_blockptr(parent, slot),
btrfs_node_ptr_generation(parent, slot),
level - 1, &first_key);
if (!IS_ERR(eb) && !extent_buffer_uptodate(eb)) {
@@ -1863,7 +1862,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
return 0;
/* promote the child to a root */
- child = read_node_slot(fs_info, mid, 0);
+ child = read_node_slot(mid, 0);
if (IS_ERR(child)) {
ret = PTR_ERR(child);
btrfs_handle_fs_error(fs_info, ret, NULL);
@@ -1903,7 +1902,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
BTRFS_NODEPTRS_PER_BLOCK(fs_info) / 4)
return 0;
- left = read_node_slot(fs_info, parent, pslot - 1);
+ left = read_node_slot(parent, pslot - 1);
if (IS_ERR(left))
left = NULL;
@@ -1918,7 +1917,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
}
}
- right = read_node_slot(fs_info, parent, pslot + 1);
+ right = read_node_slot(parent, pslot + 1);
if (IS_ERR(right))
right = NULL;
@@ -2078,7 +2077,7 @@ static noinline int push_nodes_for_insert(struct btrfs_trans_handle *trans,
if (!parent)
return 1;
- left = read_node_slot(fs_info, parent, pslot - 1);
+ left = read_node_slot(parent, pslot - 1);
if (IS_ERR(left))
left = NULL;
@@ -2131,7 +2130,7 @@ static noinline int push_nodes_for_insert(struct btrfs_trans_handle *trans,
btrfs_tree_unlock(left);
free_extent_buffer(left);
}
- right = read_node_slot(fs_info, parent, pslot + 1);
+ right = read_node_slot(parent, pslot + 1);
if (IS_ERR(right))
right = NULL;
@@ -3767,7 +3766,7 @@ static int push_leaf_right(struct btrfs_trans_handle *trans, struct btrfs_root
btrfs_assert_tree_locked(path->nodes[1]);
- right = read_node_slot(fs_info, upper, slot + 1);
+ right = read_node_slot(upper, slot + 1);
/*
* slot + 1 is not valid or we fail to read the right node,
* no big deal, just return.
@@ -4002,7 +4001,7 @@ static int push_leaf_left(struct btrfs_trans_handle *trans, struct btrfs_root
btrfs_assert_tree_locked(path->nodes[1]);
- left = read_node_slot(fs_info, path->nodes[1], slot - 1);
+ left = read_node_slot(path->nodes[1], slot - 1);
/*
* slot - 1 is not valid or we fail to read the left node,
* no big deal, just return.
@@ -5133,7 +5132,6 @@ int btrfs_search_forward(struct btrfs_root *root, struct btrfs_key *min_key,
struct btrfs_path *path,
u64 min_trans)
{
- struct btrfs_fs_info *fs_info = root->fs_info;
struct extent_buffer *cur;
struct btrfs_key found_key;
int slot;
@@ -5214,7 +5212,7 @@ int btrfs_search_forward(struct btrfs_root *root, struct btrfs_key *min_key,
goto out;
}
btrfs_set_path_blocking(path);
- cur = read_node_slot(fs_info, cur, slot);
+ cur = read_node_slot(cur, slot);
if (IS_ERR(cur)) {
ret = PTR_ERR(cur);
goto out;
@@ -5243,7 +5241,7 @@ static int tree_move_down(struct btrfs_fs_info *fs_info,
struct extent_buffer *eb;
BUG_ON(*level == 0);
- eb = read_node_slot(fs_info, path->nodes[*level], path->slots[*level]);
+ eb = read_node_slot(path->nodes[*level], path->slots[*level]);
if (IS_ERR(eb))
return PTR_ERR(eb);
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 11/30] btrfs: get fs_info from eb in btree_read_extent_buffer_pages
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (9 preceding siblings ...)
2019-03-25 18:46 ` [PATCH 10/30] btrfs: get fs_info from eb in read_node_slot David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 12/30] btrfs: get fs_info from eb in btrfs_verify_level_key David Sterba
` (18 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/disk-io.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index a642c8219271..3b8114ad7b8c 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -450,11 +450,11 @@ int btrfs_verify_level_key(struct btrfs_fs_info *fs_info,
* @level: expected level, mandatory check
* @first_key: expected key of first slot, skip check if NULL
*/
-static int btree_read_extent_buffer_pages(struct btrfs_fs_info *fs_info,
- struct extent_buffer *eb,
+static int btree_read_extent_buffer_pages(struct extent_buffer *eb,
u64 parent_transid, int level,
struct btrfs_key *first_key)
{
+ struct btrfs_fs_info *fs_info = eb->fs_info;
struct extent_io_tree *io_tree;
int failed = 0;
int ret;
@@ -1109,7 +1109,7 @@ struct extent_buffer *read_tree_block(struct btrfs_fs_info *fs_info, u64 bytenr,
if (IS_ERR(buf))
return buf;
- ret = btree_read_extent_buffer_pages(fs_info, buf, parent_transid,
+ ret = btree_read_extent_buffer_pages(buf, parent_transid,
level, first_key);
if (ret) {
free_extent_buffer_stale(buf);
@@ -4170,10 +4170,7 @@ void btrfs_btree_balance_dirty_nodelay(struct btrfs_fs_info *fs_info)
int btrfs_read_buffer(struct extent_buffer *buf, u64 parent_transid, int level,
struct btrfs_key *first_key)
{
- struct btrfs_root *root = BTRFS_I(buf->pages[0]->mapping->host)->root;
- struct btrfs_fs_info *fs_info = root->fs_info;
-
- return btree_read_extent_buffer_pages(fs_info, buf, parent_transid,
+ return btree_read_extent_buffer_pages(buf, parent_transid,
level, first_key);
}
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 12/30] btrfs: get fs_info from eb in btrfs_verify_level_key
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (10 preceding siblings ...)
2019-03-25 18:46 ` [PATCH 11/30] btrfs: get fs_info from eb in btree_read_extent_buffer_pages David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 13/30] btrfs: tree-checker: get fs_info from eb in generic_err David Sterba
` (17 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/ctree.c | 2 +-
fs/btrfs/disk-io.c | 6 +++---
fs/btrfs/disk-io.h | 3 +--
3 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index 3e26254fefe8..0998e7fba98b 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -2420,7 +2420,7 @@ read_block_for_search(struct btrfs_root *root, struct btrfs_path *p,
* being cached, read from scrub, or have multiple
* parents (shared tree blocks).
*/
- if (btrfs_verify_level_key(fs_info, tmp,
+ if (btrfs_verify_level_key(tmp,
parent_level - 1, &first_key, gen)) {
free_extent_buffer(tmp);
return -EUCLEAN;
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 3b8114ad7b8c..496b00a78a24 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -394,10 +394,10 @@ static int btrfs_check_super_csum(struct btrfs_fs_info *fs_info,
return ret;
}
-int btrfs_verify_level_key(struct btrfs_fs_info *fs_info,
- struct extent_buffer *eb, int level,
+int btrfs_verify_level_key(struct extent_buffer *eb, int level,
struct btrfs_key *first_key, u64 parent_transid)
{
+ struct btrfs_fs_info *fs_info = eb->fs_info;
int found_level;
struct btrfs_key found_key;
int ret;
@@ -471,7 +471,7 @@ static int btree_read_extent_buffer_pages(struct extent_buffer *eb,
if (verify_parent_transid(io_tree, eb,
parent_transid, 0))
ret = -EIO;
- else if (btrfs_verify_level_key(fs_info, eb, level,
+ else if (btrfs_verify_level_key(eb, level,
first_key, parent_transid))
ret = -EUCLEAN;
else
diff --git a/fs/btrfs/disk-io.h b/fs/btrfs/disk-io.h
index 917634f2bae9..a32158f0c2fc 100644
--- a/fs/btrfs/disk-io.h
+++ b/fs/btrfs/disk-io.h
@@ -39,8 +39,7 @@ static inline u64 btrfs_sb_offset(int mirror)
struct btrfs_device;
struct btrfs_fs_devices;
-int btrfs_verify_level_key(struct btrfs_fs_info *fs_info,
- struct extent_buffer *eb, int level,
+int btrfs_verify_level_key(struct extent_buffer *eb, int level,
struct btrfs_key *first_key, u64 parent_transid);
struct extent_buffer *read_tree_block(struct btrfs_fs_info *fs_info, u64 bytenr,
u64 parent_transid, int level,
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 13/30] btrfs: tree-checker: get fs_info from eb in generic_err
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (11 preceding siblings ...)
2019-03-25 18:46 ` [PATCH 12/30] btrfs: get fs_info from eb in btrfs_verify_level_key David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 14/30] btrfs: tree-checker: get fs_info from eb in file_extent_err David Sterba
` (16 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/tree-checker.c | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index de8626234de4..dc157925a602 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -41,12 +41,12 @@
* Append generic "corrupt leaf/node root=%llu block=%llu slot=%d: " to @fmt.
* Allows callers to customize the output.
*/
-__printf(4, 5)
+__printf(3, 4)
__cold
-static void generic_err(const struct btrfs_fs_info *fs_info,
- const struct extent_buffer *eb, int slot,
+static void generic_err(const struct extent_buffer *eb, int slot,
const char *fmt, ...)
{
+ const struct btrfs_fs_info *fs_info = eb->fs_info;
struct va_format vaf;
va_list args;
@@ -196,19 +196,19 @@ static int check_csum_item(struct btrfs_fs_info *fs_info,
u32 csumsize = btrfs_super_csum_size(fs_info->super_copy);
if (key->objectid != BTRFS_EXTENT_CSUM_OBJECTID) {
- generic_err(fs_info, leaf, slot,
+ generic_err(leaf, slot,
"invalid key objectid for csum item, have %llu expect %llu",
key->objectid, BTRFS_EXTENT_CSUM_OBJECTID);
return -EUCLEAN;
}
if (!IS_ALIGNED(key->offset, sectorsize)) {
- generic_err(fs_info, leaf, slot,
+ generic_err(leaf, slot,
"unaligned key offset for csum item, have %llu should be aligned to %u",
key->offset, sectorsize);
return -EUCLEAN;
}
if (!IS_ALIGNED(btrfs_item_size_nr(leaf, slot), csumsize)) {
- generic_err(fs_info, leaf, slot,
+ generic_err(leaf, slot,
"unaligned item size for csum item, have %u should be aligned to %u",
btrfs_item_size_nr(leaf, slot), csumsize);
return -EUCLEAN;
@@ -486,7 +486,7 @@ static int check_leaf(struct btrfs_fs_info *fs_info, struct extent_buffer *leaf,
int slot;
if (btrfs_header_level(leaf) != 0) {
- generic_err(fs_info, leaf, 0,
+ generic_err(leaf, 0,
"invalid level for leaf, have %d expect 0",
btrfs_header_level(leaf));
return -EUCLEAN;
@@ -511,7 +511,7 @@ static int check_leaf(struct btrfs_fs_info *fs_info, struct extent_buffer *leaf,
owner == BTRFS_DEV_TREE_OBJECTID ||
owner == BTRFS_FS_TREE_OBJECTID ||
owner == BTRFS_DATA_RELOC_TREE_OBJECTID) {
- generic_err(fs_info, leaf, 0,
+ generic_err(leaf, 0,
"invalid root, root %llu must never be empty",
owner);
return -EUCLEAN;
@@ -540,7 +540,7 @@ static int check_leaf(struct btrfs_fs_info *fs_info, struct extent_buffer *leaf,
eb = btrfs_root_node(check_root);
/* if leaf is the root, then it's fine */
if (leaf != eb) {
- generic_err(fs_info, leaf, 0,
+ generic_err(leaf, 0,
"invalid nritems, have %u should not be 0 for non-root leaf",
nritems);
free_extent_buffer(eb);
@@ -573,7 +573,7 @@ static int check_leaf(struct btrfs_fs_info *fs_info, struct extent_buffer *leaf,
/* Make sure the keys are in the right order */
if (btrfs_comp_cpu_keys(&prev_key, &key) >= 0) {
- generic_err(fs_info, leaf, slot,
+ generic_err(leaf, slot,
"bad key order, prev (%llu %u %llu) current (%llu %u %llu)",
prev_key.objectid, prev_key.type,
prev_key.offset, key.objectid, key.type,
@@ -592,7 +592,7 @@ static int check_leaf(struct btrfs_fs_info *fs_info, struct extent_buffer *leaf,
item_end_expected = btrfs_item_offset_nr(leaf,
slot - 1);
if (btrfs_item_end_nr(leaf, slot) != item_end_expected) {
- generic_err(fs_info, leaf, slot,
+ generic_err(leaf, slot,
"unexpected item end, have %u expect %u",
btrfs_item_end_nr(leaf, slot),
item_end_expected);
@@ -606,7 +606,7 @@ static int check_leaf(struct btrfs_fs_info *fs_info, struct extent_buffer *leaf,
*/
if (btrfs_item_end_nr(leaf, slot) >
BTRFS_LEAF_DATA_SIZE(fs_info)) {
- generic_err(fs_info, leaf, slot,
+ generic_err(leaf, slot,
"slot end outside of leaf, have %u expect range [0, %u]",
btrfs_item_end_nr(leaf, slot),
BTRFS_LEAF_DATA_SIZE(fs_info));
@@ -616,7 +616,7 @@ static int check_leaf(struct btrfs_fs_info *fs_info, struct extent_buffer *leaf,
/* Also check if the item pointer overlaps with btrfs item. */
if (btrfs_item_nr_offset(slot) + sizeof(struct btrfs_item) >
btrfs_item_ptr_offset(leaf, slot)) {
- generic_err(fs_info, leaf, slot,
+ generic_err(leaf, slot,
"slot overlaps with its data, item end %lu data start %lu",
btrfs_item_nr_offset(slot) +
sizeof(struct btrfs_item),
@@ -675,7 +675,7 @@ int btrfs_check_node(struct btrfs_fs_info *fs_info, struct extent_buffer *node)
int ret = 0;
if (level <= 0 || level >= BTRFS_MAX_LEVEL) {
- generic_err(fs_info, node, 0,
+ generic_err(node, 0,
"invalid level for node, have %d expect [1, %d]",
level, BTRFS_MAX_LEVEL - 1);
return -EUCLEAN;
@@ -695,13 +695,13 @@ int btrfs_check_node(struct btrfs_fs_info *fs_info, struct extent_buffer *node)
btrfs_node_key_to_cpu(node, &next_key, slot + 1);
if (!bytenr) {
- generic_err(fs_info, node, slot,
+ generic_err(node, slot,
"invalid NULL node pointer");
ret = -EUCLEAN;
goto out;
}
if (!IS_ALIGNED(bytenr, fs_info->sectorsize)) {
- generic_err(fs_info, node, slot,
+ generic_err(node, slot,
"unaligned pointer, have %llu should be aligned to %u",
bytenr, fs_info->sectorsize);
ret = -EUCLEAN;
@@ -709,7 +709,7 @@ int btrfs_check_node(struct btrfs_fs_info *fs_info, struct extent_buffer *node)
}
if (btrfs_comp_cpu_keys(&key, &next_key) >= 0) {
- generic_err(fs_info, node, slot,
+ generic_err(node, slot,
"bad key order, current (%llu %u %llu) next (%llu %u %llu)",
key.objectid, key.type, key.offset,
next_key.objectid, next_key.type,
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 14/30] btrfs: tree-checker: get fs_info from eb in file_extent_err
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (12 preceding siblings ...)
2019-03-25 18:46 ` [PATCH 13/30] btrfs: tree-checker: get fs_info from eb in generic_err David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 15/30] btrfs: tree-checker: get fs_info from eb in check_csum_item David Sterba
` (15 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/tree-checker.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index dc157925a602..c2a08491d0d1 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -66,12 +66,12 @@ static void generic_err(const struct extent_buffer *eb, int slot,
* Customized reporter for extent data item, since its key objectid and
* offset has its own meaning.
*/
-__printf(4, 5)
+__printf(3, 4)
__cold
-static void file_extent_err(const struct btrfs_fs_info *fs_info,
- const struct extent_buffer *eb, int slot,
+static void file_extent_err(const struct extent_buffer *eb, int slot,
const char *fmt, ...)
{
+ const struct btrfs_fs_info *fs_info = eb->fs_info;
struct btrfs_key key;
struct va_format vaf;
va_list args;
@@ -97,7 +97,7 @@ static void file_extent_err(const struct btrfs_fs_info *fs_info,
#define CHECK_FE_ALIGNED(fs_info, leaf, slot, fi, name, alignment) \
({ \
if (!IS_ALIGNED(btrfs_file_extent_##name((leaf), (fi)), (alignment))) \
- file_extent_err((fs_info), (leaf), (slot), \
+ file_extent_err((leaf), (slot), \
"invalid %s for file extent, have %llu, should be aligned to %u", \
(#name), btrfs_file_extent_##name((leaf), (fi)), \
(alignment)); \
@@ -113,7 +113,7 @@ static int check_extent_data_item(struct btrfs_fs_info *fs_info,
u32 item_size = btrfs_item_size_nr(leaf, slot);
if (!IS_ALIGNED(key->offset, sectorsize)) {
- file_extent_err(fs_info, leaf, slot,
+ file_extent_err(leaf, slot,
"unaligned file_offset for file extent, have %llu should be aligned to %u",
key->offset, sectorsize);
return -EUCLEAN;
@@ -122,7 +122,7 @@ static int check_extent_data_item(struct btrfs_fs_info *fs_info,
fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item);
if (btrfs_file_extent_type(leaf, fi) > BTRFS_FILE_EXTENT_TYPES) {
- file_extent_err(fs_info, leaf, slot,
+ file_extent_err(leaf, slot,
"invalid type for file extent, have %u expect range [0, %u]",
btrfs_file_extent_type(leaf, fi),
BTRFS_FILE_EXTENT_TYPES);
@@ -134,14 +134,14 @@ static int check_extent_data_item(struct btrfs_fs_info *fs_info,
* and must be caught in open_ctree().
*/
if (btrfs_file_extent_compression(leaf, fi) > BTRFS_COMPRESS_TYPES) {
- file_extent_err(fs_info, leaf, slot,
+ file_extent_err(leaf, slot,
"invalid compression for file extent, have %u expect range [0, %u]",
btrfs_file_extent_compression(leaf, fi),
BTRFS_COMPRESS_TYPES);
return -EUCLEAN;
}
if (btrfs_file_extent_encryption(leaf, fi)) {
- file_extent_err(fs_info, leaf, slot,
+ file_extent_err(leaf, slot,
"invalid encryption for file extent, have %u expect 0",
btrfs_file_extent_encryption(leaf, fi));
return -EUCLEAN;
@@ -149,7 +149,7 @@ static int check_extent_data_item(struct btrfs_fs_info *fs_info,
if (btrfs_file_extent_type(leaf, fi) == BTRFS_FILE_EXTENT_INLINE) {
/* Inline extent must have 0 as key offset */
if (key->offset) {
- file_extent_err(fs_info, leaf, slot,
+ file_extent_err(leaf, slot,
"invalid file_offset for inline file extent, have %llu expect 0",
key->offset);
return -EUCLEAN;
@@ -163,7 +163,7 @@ static int check_extent_data_item(struct btrfs_fs_info *fs_info,
/* Uncompressed inline extent size must match item size */
if (item_size != BTRFS_FILE_EXTENT_INLINE_DATA_START +
btrfs_file_extent_ram_bytes(leaf, fi)) {
- file_extent_err(fs_info, leaf, slot,
+ file_extent_err(leaf, slot,
"invalid ram_bytes for uncompressed inline extent, have %u expect %llu",
item_size, BTRFS_FILE_EXTENT_INLINE_DATA_START +
btrfs_file_extent_ram_bytes(leaf, fi));
@@ -174,7 +174,7 @@ static int check_extent_data_item(struct btrfs_fs_info *fs_info,
/* Regular or preallocated extent has fixed item size */
if (item_size != sizeof(*fi)) {
- file_extent_err(fs_info, leaf, slot,
+ file_extent_err(leaf, slot,
"invalid item size for reg/prealloc file extent, have %u expect %zu",
item_size, sizeof(*fi));
return -EUCLEAN;
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 15/30] btrfs: tree-checker: get fs_info from eb in check_csum_item
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (13 preceding siblings ...)
2019-03-25 18:46 ` [PATCH 14/30] btrfs: tree-checker: get fs_info from eb in file_extent_err David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 16/30] btrfs: tree-checker: get fs_info from eb in dir_item_err David Sterba
` (14 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/tree-checker.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index c2a08491d0d1..8d6110fafcb4 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -188,10 +188,10 @@ static int check_extent_data_item(struct btrfs_fs_info *fs_info,
return 0;
}
-static int check_csum_item(struct btrfs_fs_info *fs_info,
- struct extent_buffer *leaf, struct btrfs_key *key,
+static int check_csum_item(struct extent_buffer *leaf, struct btrfs_key *key,
int slot)
{
+ struct btrfs_fs_info *fs_info = leaf->fs_info;
u32 sectorsize = fs_info->sectorsize;
u32 csumsize = btrfs_super_csum_size(fs_info->super_copy);
@@ -462,7 +462,7 @@ static int check_leaf_item(struct btrfs_fs_info *fs_info,
ret = check_extent_data_item(fs_info, leaf, key, slot);
break;
case BTRFS_EXTENT_CSUM_KEY:
- ret = check_csum_item(fs_info, leaf, key, slot);
+ ret = check_csum_item(leaf, key, slot);
break;
case BTRFS_DIR_ITEM_KEY:
case BTRFS_DIR_INDEX_KEY:
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 16/30] btrfs: tree-checker: get fs_info from eb in dir_item_err
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (14 preceding siblings ...)
2019-03-25 18:46 ` [PATCH 15/30] btrfs: tree-checker: get fs_info from eb in check_csum_item David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 17/30] btrfs: tree-checker: get fs_info from eb in check_dir_item David Sterba
` (13 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/tree-checker.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index 8d6110fafcb4..3dc83e913d09 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -220,12 +220,12 @@ static int check_csum_item(struct extent_buffer *leaf, struct btrfs_key *key,
* Customized reported for dir_item, only important new info is key->objectid,
* which represents inode number
*/
-__printf(4, 5)
+__printf(3, 4)
__cold
-static void dir_item_err(const struct btrfs_fs_info *fs_info,
- const struct extent_buffer *eb, int slot,
+static void dir_item_err(const struct extent_buffer *eb, int slot,
const char *fmt, ...)
{
+ const struct btrfs_fs_info *fs_info = eb->fs_info;
struct btrfs_key key;
struct va_format vaf;
va_list args;
@@ -263,7 +263,7 @@ static int check_dir_item(struct btrfs_fs_info *fs_info,
/* header itself should not cross item boundary */
if (cur + sizeof(*di) > item_size) {
- dir_item_err(fs_info, leaf, slot,
+ dir_item_err(leaf, slot,
"dir item header crosses item boundary, have %zu boundary %u",
cur + sizeof(*di), item_size);
return -EUCLEAN;
@@ -272,7 +272,7 @@ static int check_dir_item(struct btrfs_fs_info *fs_info,
/* dir type check */
dir_type = btrfs_dir_type(leaf, di);
if (dir_type >= BTRFS_FT_MAX) {
- dir_item_err(fs_info, leaf, slot,
+ dir_item_err(leaf, slot,
"invalid dir item type, have %u expect [0, %u)",
dir_type, BTRFS_FT_MAX);
return -EUCLEAN;
@@ -280,14 +280,14 @@ static int check_dir_item(struct btrfs_fs_info *fs_info,
if (key->type == BTRFS_XATTR_ITEM_KEY &&
dir_type != BTRFS_FT_XATTR) {
- dir_item_err(fs_info, leaf, slot,
+ dir_item_err(leaf, slot,
"invalid dir item type for XATTR key, have %u expect %u",
dir_type, BTRFS_FT_XATTR);
return -EUCLEAN;
}
if (dir_type == BTRFS_FT_XATTR &&
key->type != BTRFS_XATTR_ITEM_KEY) {
- dir_item_err(fs_info, leaf, slot,
+ dir_item_err(leaf, slot,
"xattr dir type found for non-XATTR key");
return -EUCLEAN;
}
@@ -300,13 +300,13 @@ static int check_dir_item(struct btrfs_fs_info *fs_info,
name_len = btrfs_dir_name_len(leaf, di);
data_len = btrfs_dir_data_len(leaf, di);
if (name_len > max_name_len) {
- dir_item_err(fs_info, leaf, slot,
+ dir_item_err(leaf, slot,
"dir item name len too long, have %u max %u",
name_len, max_name_len);
return -EUCLEAN;
}
if (name_len + data_len > BTRFS_MAX_XATTR_SIZE(fs_info)) {
- dir_item_err(fs_info, leaf, slot,
+ dir_item_err(leaf, slot,
"dir item name and data len too long, have %u max %u",
name_len + data_len,
BTRFS_MAX_XATTR_SIZE(fs_info));
@@ -314,7 +314,7 @@ static int check_dir_item(struct btrfs_fs_info *fs_info,
}
if (data_len && dir_type != BTRFS_FT_XATTR) {
- dir_item_err(fs_info, leaf, slot,
+ dir_item_err(leaf, slot,
"dir item with invalid data len, have %u expect 0",
data_len);
return -EUCLEAN;
@@ -324,7 +324,7 @@ static int check_dir_item(struct btrfs_fs_info *fs_info,
/* header and name/data should not cross item boundary */
if (cur + total_size > item_size) {
- dir_item_err(fs_info, leaf, slot,
+ dir_item_err(leaf, slot,
"dir item data crosses item boundary, have %u boundary %u",
cur + total_size, item_size);
return -EUCLEAN;
@@ -342,7 +342,7 @@ static int check_dir_item(struct btrfs_fs_info *fs_info,
(unsigned long)(di + 1), name_len);
name_hash = btrfs_name_hash(namebuf, name_len);
if (key->offset != name_hash) {
- dir_item_err(fs_info, leaf, slot,
+ dir_item_err(leaf, slot,
"name hash mismatch with key, have 0x%016x expect 0x%016llx",
name_hash, key->offset);
return -EUCLEAN;
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 17/30] btrfs: tree-checker: get fs_info from eb in check_dir_item
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (15 preceding siblings ...)
2019-03-25 18:46 ` [PATCH 16/30] btrfs: tree-checker: get fs_info from eb in dir_item_err David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 18/30] btrfs: tree-checker: get fs_info from eb in block_group_err David Sterba
` (12 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/tree-checker.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index 3dc83e913d09..d6822c0390af 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -244,10 +244,10 @@ static void dir_item_err(const struct extent_buffer *eb, int slot,
va_end(args);
}
-static int check_dir_item(struct btrfs_fs_info *fs_info,
- struct extent_buffer *leaf,
+static int check_dir_item(struct extent_buffer *leaf,
struct btrfs_key *key, int slot)
{
+ struct btrfs_fs_info *fs_info = leaf->fs_info;
struct btrfs_dir_item *di;
u32 item_size = btrfs_item_size_nr(leaf, slot);
u32 cur = 0;
@@ -467,7 +467,7 @@ static int check_leaf_item(struct btrfs_fs_info *fs_info,
case BTRFS_DIR_ITEM_KEY:
case BTRFS_DIR_INDEX_KEY:
case BTRFS_XATTR_ITEM_KEY:
- ret = check_dir_item(fs_info, leaf, key, slot);
+ ret = check_dir_item(leaf, key, slot);
break;
case BTRFS_BLOCK_GROUP_ITEM_KEY:
ret = check_block_group_item(fs_info, leaf, key, slot);
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 18/30] btrfs: tree-checker: get fs_info from eb in block_group_err
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (16 preceding siblings ...)
2019-03-25 18:46 ` [PATCH 17/30] btrfs: tree-checker: get fs_info from eb in check_dir_item David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:46 ` [PATCH 19/30] btrfs: tree-checker: get fs_info from eb in check_block_group_item David Sterba
` (11 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/tree-checker.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index d6822c0390af..1bf8b67dbf57 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -354,12 +354,12 @@ static int check_dir_item(struct extent_buffer *leaf,
return 0;
}
-__printf(4, 5)
+__printf(3, 4)
__cold
-static void block_group_err(const struct btrfs_fs_info *fs_info,
- const struct extent_buffer *eb, int slot,
+static void block_group_err(const struct extent_buffer *eb, int slot,
const char *fmt, ...)
{
+ const struct btrfs_fs_info *fs_info = eb->fs_info;
struct btrfs_key key;
struct va_format vaf;
va_list args;
@@ -392,13 +392,13 @@ static int check_block_group_item(struct btrfs_fs_info *fs_info,
* handle it. We care more about the size.
*/
if (key->offset == 0) {
- block_group_err(fs_info, leaf, slot,
+ block_group_err(leaf, slot,
"invalid block group size 0");
return -EUCLEAN;
}
if (item_size != sizeof(bgi)) {
- block_group_err(fs_info, leaf, slot,
+ block_group_err(leaf, slot,
"invalid item size, have %u expect %zu",
item_size, sizeof(bgi));
return -EUCLEAN;
@@ -408,7 +408,7 @@ static int check_block_group_item(struct btrfs_fs_info *fs_info,
sizeof(bgi));
if (btrfs_block_group_chunk_objectid(&bgi) !=
BTRFS_FIRST_CHUNK_TREE_OBJECTID) {
- block_group_err(fs_info, leaf, slot,
+ block_group_err(leaf, slot,
"invalid block group chunk objectid, have %llu expect %llu",
btrfs_block_group_chunk_objectid(&bgi),
BTRFS_FIRST_CHUNK_TREE_OBJECTID);
@@ -416,7 +416,7 @@ static int check_block_group_item(struct btrfs_fs_info *fs_info,
}
if (btrfs_block_group_used(&bgi) > key->offset) {
- block_group_err(fs_info, leaf, slot,
+ block_group_err(leaf, slot,
"invalid block group used, have %llu expect [0, %llu)",
btrfs_block_group_used(&bgi), key->offset);
return -EUCLEAN;
@@ -424,7 +424,7 @@ static int check_block_group_item(struct btrfs_fs_info *fs_info,
flags = btrfs_block_group_flags(&bgi);
if (hweight64(flags & BTRFS_BLOCK_GROUP_PROFILE_MASK) > 1) {
- block_group_err(fs_info, leaf, slot,
+ block_group_err(leaf, slot,
"invalid profile flags, have 0x%llx (%lu bits set) expect no more than 1 bit set",
flags & BTRFS_BLOCK_GROUP_PROFILE_MASK,
hweight64(flags & BTRFS_BLOCK_GROUP_PROFILE_MASK));
@@ -437,7 +437,7 @@ static int check_block_group_item(struct btrfs_fs_info *fs_info,
type != BTRFS_BLOCK_GROUP_SYSTEM &&
type != (BTRFS_BLOCK_GROUP_METADATA |
BTRFS_BLOCK_GROUP_DATA)) {
- block_group_err(fs_info, leaf, slot,
+ block_group_err(leaf, slot,
"invalid type, have 0x%llx (%lu bits set) expect either 0x%llx, 0x%llx, 0x%llx or 0x%llx",
type, hweight64(type),
BTRFS_BLOCK_GROUP_DATA, BTRFS_BLOCK_GROUP_METADATA,
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 19/30] btrfs: tree-checker: get fs_info from eb in check_block_group_item
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (17 preceding siblings ...)
2019-03-25 18:46 ` [PATCH 18/30] btrfs: tree-checker: get fs_info from eb in block_group_err David Sterba
@ 2019-03-25 18:46 ` David Sterba
2019-03-25 18:47 ` [PATCH 20/30] btrfs: tree-checker: get fs_info from eb in check_extent_data_item David Sterba
` (10 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:46 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/tree-checker.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index 1bf8b67dbf57..352d7ccf46aa 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -378,8 +378,7 @@ static void block_group_err(const struct extent_buffer *eb, int slot,
va_end(args);
}
-static int check_block_group_item(struct btrfs_fs_info *fs_info,
- struct extent_buffer *leaf,
+static int check_block_group_item(struct extent_buffer *leaf,
struct btrfs_key *key, int slot)
{
struct btrfs_block_group_item bgi;
@@ -470,7 +469,7 @@ static int check_leaf_item(struct btrfs_fs_info *fs_info,
ret = check_dir_item(leaf, key, slot);
break;
case BTRFS_BLOCK_GROUP_ITEM_KEY:
- ret = check_block_group_item(fs_info, leaf, key, slot);
+ ret = check_block_group_item(leaf, key, slot);
break;
}
return ret;
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 20/30] btrfs: tree-checker: get fs_info from eb in check_extent_data_item
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (18 preceding siblings ...)
2019-03-25 18:46 ` [PATCH 19/30] btrfs: tree-checker: get fs_info from eb in check_block_group_item David Sterba
@ 2019-03-25 18:47 ` David Sterba
2019-03-25 18:47 ` [PATCH 21/30] btrfs: tree-checker: get fs_info from eb in check_leaf_item David Sterba
` (9 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:47 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/tree-checker.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index 352d7ccf46aa..12a02bc7717e 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -104,10 +104,10 @@ static void file_extent_err(const struct extent_buffer *eb, int slot,
(!IS_ALIGNED(btrfs_file_extent_##name((leaf), (fi)), (alignment))); \
})
-static int check_extent_data_item(struct btrfs_fs_info *fs_info,
- struct extent_buffer *leaf,
+static int check_extent_data_item(struct extent_buffer *leaf,
struct btrfs_key *key, int slot)
{
+ struct btrfs_fs_info *fs_info = leaf->fs_info;
struct btrfs_file_extent_item *fi;
u32 sectorsize = fs_info->sectorsize;
u32 item_size = btrfs_item_size_nr(leaf, slot);
@@ -458,7 +458,7 @@ static int check_leaf_item(struct btrfs_fs_info *fs_info,
switch (key->type) {
case BTRFS_EXTENT_DATA_KEY:
- ret = check_extent_data_item(fs_info, leaf, key, slot);
+ ret = check_extent_data_item(leaf, key, slot);
break;
case BTRFS_EXTENT_CSUM_KEY:
ret = check_csum_item(leaf, key, slot);
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 21/30] btrfs: tree-checker: get fs_info from eb in check_leaf_item
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (19 preceding siblings ...)
2019-03-25 18:47 ` [PATCH 20/30] btrfs: tree-checker: get fs_info from eb in check_extent_data_item David Sterba
@ 2019-03-25 18:47 ` David Sterba
2019-03-25 18:47 ` [PATCH 22/30] btrfs: tree-checker: get fs_info from eb in check_leaf David Sterba
` (8 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:47 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/tree-checker.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index 12a02bc7717e..0330e2d27afb 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -450,8 +450,7 @@ static int check_block_group_item(struct extent_buffer *leaf,
/*
* Common point to switch the item-specific validation.
*/
-static int check_leaf_item(struct btrfs_fs_info *fs_info,
- struct extent_buffer *leaf,
+static int check_leaf_item(struct extent_buffer *leaf,
struct btrfs_key *key, int slot)
{
int ret = 0;
@@ -628,7 +627,7 @@ static int check_leaf(struct btrfs_fs_info *fs_info, struct extent_buffer *leaf,
* Check if the item size and content meet other
* criteria
*/
- ret = check_leaf_item(fs_info, leaf, &key, slot);
+ ret = check_leaf_item(leaf, &key, slot);
if (ret < 0)
return ret;
}
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 22/30] btrfs: tree-checker: get fs_info from eb in check_leaf
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (20 preceding siblings ...)
2019-03-25 18:47 ` [PATCH 21/30] btrfs: tree-checker: get fs_info from eb in check_leaf_item David Sterba
@ 2019-03-25 18:47 ` David Sterba
2019-03-25 18:47 ` [PATCH 23/30] btrfs: get fs_info from eb in btrfs_check_leaf_full David Sterba
` (7 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:47 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/tree-checker.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index 0330e2d27afb..dd37d23ae8ba 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -474,9 +474,10 @@ static int check_leaf_item(struct extent_buffer *leaf,
return ret;
}
-static int check_leaf(struct btrfs_fs_info *fs_info, struct extent_buffer *leaf,
- bool check_item_data, bool check_empty_leaf)
+static int check_leaf(struct extent_buffer *leaf, bool check_item_data,
+ bool check_empty_leaf)
{
+ struct btrfs_fs_info *fs_info = leaf->fs_info;
/* No valid key type is 0, so all key should be larger than this key */
struct btrfs_key prev_key = {0, 0, 0};
struct btrfs_key key;
@@ -643,13 +644,13 @@ static int check_leaf(struct btrfs_fs_info *fs_info, struct extent_buffer *leaf,
int btrfs_check_leaf_full(struct btrfs_fs_info *fs_info,
struct extent_buffer *leaf)
{
- return check_leaf(fs_info, leaf, true, true);
+ return check_leaf(leaf, true, true);
}
int btrfs_check_leaf_relaxed(struct btrfs_fs_info *fs_info,
struct extent_buffer *leaf)
{
- return check_leaf(fs_info, leaf, false, true);
+ return check_leaf(leaf, false, true);
}
/*
@@ -660,7 +661,7 @@ int btrfs_check_leaf_relaxed(struct btrfs_fs_info *fs_info,
int btrfs_check_leaf_write(struct btrfs_fs_info *fs_info,
struct extent_buffer *leaf)
{
- return check_leaf(fs_info, leaf, false, false);
+ return check_leaf(leaf, false, false);
}
int btrfs_check_node(struct btrfs_fs_info *fs_info, struct extent_buffer *node)
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 23/30] btrfs: get fs_info from eb in btrfs_check_leaf_full
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (21 preceding siblings ...)
2019-03-25 18:47 ` [PATCH 22/30] btrfs: tree-checker: get fs_info from eb in check_leaf David Sterba
@ 2019-03-25 18:47 ` David Sterba
2019-03-25 18:47 ` [PATCH 24/30] btrfs: get fs_info from eb in btrfs_check_leaf_relaxed David Sterba
` (6 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:47 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/disk-io.c | 2 +-
fs/btrfs/tree-checker.c | 3 +--
fs/btrfs/tree-checker.h | 3 +--
3 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 496b00a78a24..eb7323e40006 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -665,7 +665,7 @@ static int btree_readpage_end_io_hook(struct btrfs_io_bio *io_bio,
* that we don't try and read the other copies of this block, just
* return -EIO.
*/
- if (found_level == 0 && btrfs_check_leaf_full(fs_info, eb)) {
+ if (found_level == 0 && btrfs_check_leaf_full(eb)) {
set_bit(EXTENT_BUFFER_CORRUPT, &eb->bflags);
ret = -EIO;
}
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index dd37d23ae8ba..271694a479fd 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -641,8 +641,7 @@ static int check_leaf(struct extent_buffer *leaf, bool check_item_data,
return 0;
}
-int btrfs_check_leaf_full(struct btrfs_fs_info *fs_info,
- struct extent_buffer *leaf)
+int btrfs_check_leaf_full(struct extent_buffer *leaf)
{
return check_leaf(leaf, true, true);
}
diff --git a/fs/btrfs/tree-checker.h b/fs/btrfs/tree-checker.h
index d3216cf6c521..d190ada1a58d 100644
--- a/fs/btrfs/tree-checker.h
+++ b/fs/btrfs/tree-checker.h
@@ -14,8 +14,7 @@
* Will check not only the item pointers, but also every possible member
* in item data.
*/
-int btrfs_check_leaf_full(struct btrfs_fs_info *fs_info,
- struct extent_buffer *leaf);
+int btrfs_check_leaf_full(struct extent_buffer *leaf);
/*
* Less strict leaf checker.
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 24/30] btrfs: get fs_info from eb in btrfs_check_leaf_relaxed
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (22 preceding siblings ...)
2019-03-25 18:47 ` [PATCH 23/30] btrfs: get fs_info from eb in btrfs_check_leaf_full David Sterba
@ 2019-03-25 18:47 ` David Sterba
2019-03-25 18:47 ` [PATCH 25/30] btrfs: get fs_info from eb in btrfs_check_node David Sterba
` (5 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:47 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/disk-io.c | 2 +-
fs/btrfs/tree-checker.c | 3 +--
fs/btrfs/tree-checker.h | 3 +--
3 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index eb7323e40006..b6a813705023 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -4127,7 +4127,7 @@ void btrfs_mark_buffer_dirty(struct extent_buffer *buf)
* So here we should only check item pointers, not item data.
*/
if (btrfs_header_level(buf) == 0 &&
- btrfs_check_leaf_relaxed(fs_info, buf)) {
+ btrfs_check_leaf_relaxed(buf)) {
btrfs_print_leaf(buf);
ASSERT(0);
}
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index 271694a479fd..0c908a49a525 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -646,8 +646,7 @@ int btrfs_check_leaf_full(struct extent_buffer *leaf)
return check_leaf(leaf, true, true);
}
-int btrfs_check_leaf_relaxed(struct btrfs_fs_info *fs_info,
- struct extent_buffer *leaf)
+int btrfs_check_leaf_relaxed(struct extent_buffer *leaf)
{
return check_leaf(leaf, false, true);
}
diff --git a/fs/btrfs/tree-checker.h b/fs/btrfs/tree-checker.h
index d190ada1a58d..8923ddcc9956 100644
--- a/fs/btrfs/tree-checker.h
+++ b/fs/btrfs/tree-checker.h
@@ -20,8 +20,7 @@ int btrfs_check_leaf_full(struct extent_buffer *leaf);
* Less strict leaf checker.
* Will only check item pointers, not reading item data.
*/
-int btrfs_check_leaf_relaxed(struct btrfs_fs_info *fs_info,
- struct extent_buffer *leaf);
+int btrfs_check_leaf_relaxed(struct extent_buffer *leaf);
int btrfs_check_leaf_write(struct btrfs_fs_info *fs_info,
struct extent_buffer *leaf);
int btrfs_check_node(struct btrfs_fs_info *fs_info, struct extent_buffer *node);
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 25/30] btrfs: get fs_info from eb in btrfs_check_node
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (23 preceding siblings ...)
2019-03-25 18:47 ` [PATCH 24/30] btrfs: get fs_info from eb in btrfs_check_leaf_relaxed David Sterba
@ 2019-03-25 18:47 ` David Sterba
2019-03-25 18:47 ` [PATCH 26/30] btrfs: get fs_info from eb in should_balance_chunk David Sterba
` (4 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:47 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/disk-io.c | 4 ++--
fs/btrfs/tree-checker.c | 3 ++-
fs/btrfs/tree-checker.h | 2 +-
3 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index b6a813705023..78a4f6cf866e 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -537,7 +537,7 @@ static int csum_dirty_buffer(struct btrfs_fs_info *fs_info, struct page *page)
return -EINVAL;
if (btrfs_header_level(eb))
- err = btrfs_check_node(fs_info, eb);
+ err = btrfs_check_node(eb);
else
err = btrfs_check_leaf_write(fs_info, eb);
@@ -670,7 +670,7 @@ static int btree_readpage_end_io_hook(struct btrfs_io_bio *io_bio,
ret = -EIO;
}
- if (found_level > 0 && btrfs_check_node(fs_info, eb))
+ if (found_level > 0 && btrfs_check_node(eb))
ret = -EIO;
if (!ret)
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index 0c908a49a525..b4f7d47f8d75 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -662,8 +662,9 @@ int btrfs_check_leaf_write(struct btrfs_fs_info *fs_info,
return check_leaf(leaf, false, false);
}
-int btrfs_check_node(struct btrfs_fs_info *fs_info, struct extent_buffer *node)
+int btrfs_check_node(struct extent_buffer *node)
{
+ struct btrfs_fs_info *fs_info = node->fs_info;
unsigned long nr = btrfs_header_nritems(node);
struct btrfs_key key, next_key;
int slot;
diff --git a/fs/btrfs/tree-checker.h b/fs/btrfs/tree-checker.h
index 8923ddcc9956..fd09f2247b7c 100644
--- a/fs/btrfs/tree-checker.h
+++ b/fs/btrfs/tree-checker.h
@@ -23,6 +23,6 @@ int btrfs_check_leaf_full(struct extent_buffer *leaf);
int btrfs_check_leaf_relaxed(struct extent_buffer *leaf);
int btrfs_check_leaf_write(struct btrfs_fs_info *fs_info,
struct extent_buffer *leaf);
-int btrfs_check_node(struct btrfs_fs_info *fs_info, struct extent_buffer *node);
+int btrfs_check_node(struct extent_buffer *node);
#endif
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 26/30] btrfs: get fs_info from eb in should_balance_chunk
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (24 preceding siblings ...)
2019-03-25 18:47 ` [PATCH 25/30] btrfs: get fs_info from eb in btrfs_check_node David Sterba
@ 2019-03-25 18:47 ` David Sterba
2019-03-25 18:47 ` [PATCH 27/30] btrfs: get fs_info from eb in btrfs_check_chunk_valid David Sterba
` (3 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:47 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/volumes.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index fcb0d3f34e09..eaa9c38e848b 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -3601,10 +3601,10 @@ static int chunk_soft_convert_filter(u64 chunk_type,
return 0;
}
-static int should_balance_chunk(struct btrfs_fs_info *fs_info,
- struct extent_buffer *leaf,
+static int should_balance_chunk(struct extent_buffer *leaf,
struct btrfs_chunk *chunk, u64 chunk_offset)
{
+ struct btrfs_fs_info *fs_info = leaf->fs_info;
struct btrfs_balance_control *bctl = fs_info->balance_ctl;
struct btrfs_balance_args *bargs = NULL;
u64 chunk_type = btrfs_chunk_type(leaf, chunk);
@@ -3784,8 +3784,7 @@ static int __btrfs_balance(struct btrfs_fs_info *fs_info)
spin_unlock(&fs_info->balance_lock);
}
- ret = should_balance_chunk(fs_info, leaf, chunk,
- found_key.offset);
+ ret = should_balance_chunk(leaf, chunk, found_key.offset);
btrfs_release_path(path);
if (!ret) {
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 27/30] btrfs: get fs_info from eb in btrfs_check_chunk_valid
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (25 preceding siblings ...)
2019-03-25 18:47 ` [PATCH 26/30] btrfs: get fs_info from eb in should_balance_chunk David Sterba
@ 2019-03-25 18:47 ` David Sterba
2019-03-25 18:47 ` [PATCH 28/30] btrfs: get fs_info from eb in read_one_chunk David Sterba
` (2 subsequent siblings)
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:47 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/volumes.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index eaa9c38e848b..12077c32523f 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -6714,10 +6714,10 @@ struct btrfs_device *btrfs_alloc_device(struct btrfs_fs_info *fs_info,
}
/* Return -EIO if any error, otherwise return 0. */
-static int btrfs_check_chunk_valid(struct btrfs_fs_info *fs_info,
- struct extent_buffer *leaf,
+static int btrfs_check_chunk_valid(struct extent_buffer *leaf,
struct btrfs_chunk *chunk, u64 logical)
{
+ struct btrfs_fs_info *fs_info = leaf->fs_info;
u64 length;
u64 stripe_len;
u16 num_stripes;
@@ -6836,7 +6836,7 @@ static int read_one_chunk(struct btrfs_fs_info *fs_info, struct btrfs_key *key,
length = btrfs_chunk_length(leaf, chunk);
num_stripes = btrfs_chunk_num_stripes(leaf, chunk);
- ret = btrfs_check_chunk_valid(fs_info, leaf, chunk, logical);
+ ret = btrfs_check_chunk_valid(leaf, chunk, logical);
if (ret)
return ret;
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 28/30] btrfs: get fs_info from eb in read_one_chunk
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (26 preceding siblings ...)
2019-03-25 18:47 ` [PATCH 27/30] btrfs: get fs_info from eb in btrfs_check_chunk_valid David Sterba
@ 2019-03-25 18:47 ` David Sterba
2019-03-25 18:47 ` [PATCH 29/30] " David Sterba
2019-03-25 18:47 ` [PATCH 30/30] btrfs: get fs_info from eb in btrfs_check_leaf_write David Sterba
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:47 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/volumes.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 12077c32523f..de65029b8ad2 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -6817,10 +6817,10 @@ static void btrfs_report_missing_device(struct btrfs_fs_info *fs_info,
devid, uuid);
}
-static int read_one_chunk(struct btrfs_fs_info *fs_info, struct btrfs_key *key,
- struct extent_buffer *leaf,
+static int read_one_chunk(struct btrfs_key *key, struct extent_buffer *leaf,
struct btrfs_chunk *chunk)
{
+ struct btrfs_fs_info *fs_info = leaf->fs_info;
struct btrfs_mapping_tree *map_tree = &fs_info->mapping_tree;
struct map_lookup *map;
struct extent_map *em;
@@ -7192,7 +7192,7 @@ int btrfs_read_sys_array(struct btrfs_fs_info *fs_info)
if (cur_offset + len > array_size)
goto out_short_read;
- ret = read_one_chunk(fs_info, &key, sb, chunk);
+ ret = read_one_chunk(&key, sb, chunk);
if (ret)
break;
} else {
@@ -7340,7 +7340,7 @@ int btrfs_read_chunk_tree(struct btrfs_fs_info *fs_info)
} else if (found_key.type == BTRFS_CHUNK_ITEM_KEY) {
struct btrfs_chunk *chunk;
chunk = btrfs_item_ptr(leaf, slot, struct btrfs_chunk);
- ret = read_one_chunk(fs_info, &found_key, leaf, chunk);
+ ret = read_one_chunk(&found_key, leaf, chunk);
if (ret)
goto error;
}
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 29/30] btrfs: get fs_info from eb in read_one_chunk
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (27 preceding siblings ...)
2019-03-25 18:47 ` [PATCH 28/30] btrfs: get fs_info from eb in read_one_chunk David Sterba
@ 2019-03-25 18:47 ` David Sterba
2019-03-25 18:47 ` [PATCH 30/30] btrfs: get fs_info from eb in btrfs_check_leaf_write David Sterba
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:47 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/volumes.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index de65029b8ad2..6bccc2ec42dd 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -7000,10 +7000,10 @@ static struct btrfs_fs_devices *open_seed_devices(struct btrfs_fs_info *fs_info,
return fs_devices;
}
-static int read_one_dev(struct btrfs_fs_info *fs_info,
- struct extent_buffer *leaf,
+static int read_one_dev(struct extent_buffer *leaf,
struct btrfs_dev_item *dev_item)
{
+ struct btrfs_fs_info *fs_info = leaf->fs_info;
struct btrfs_fs_devices *fs_devices = fs_info->fs_devices;
struct btrfs_device *device;
u64 devid;
@@ -7333,7 +7333,7 @@ int btrfs_read_chunk_tree(struct btrfs_fs_info *fs_info)
struct btrfs_dev_item *dev_item;
dev_item = btrfs_item_ptr(leaf, slot,
struct btrfs_dev_item);
- ret = read_one_dev(fs_info, leaf, dev_item);
+ ret = read_one_dev(leaf, dev_item);
if (ret)
goto error;
total_dev++;
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 30/30] btrfs: get fs_info from eb in btrfs_check_leaf_write
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
` (28 preceding siblings ...)
2019-03-25 18:47 ` [PATCH 29/30] " David Sterba
@ 2019-03-25 18:47 ` David Sterba
29 siblings, 0 replies; 31+ messages in thread
From: David Sterba @ 2019-03-25 18:47 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
We can read fs_info from extent buffer and can drop it from the
parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/disk-io.c | 2 +-
fs/btrfs/tree-checker.c | 3 +--
fs/btrfs/tree-checker.h | 3 +--
3 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 78a4f6cf866e..5373f4ad4114 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -539,7 +539,7 @@ static int csum_dirty_buffer(struct btrfs_fs_info *fs_info, struct page *page)
if (btrfs_header_level(eb))
err = btrfs_check_node(eb);
else
- err = btrfs_check_leaf_write(fs_info, eb);
+ err = btrfs_check_leaf_write(eb);
if (err < 0) {
btrfs_err(fs_info,
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index b4f7d47f8d75..aea626a3af53 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -656,8 +656,7 @@ int btrfs_check_leaf_relaxed(struct extent_buffer *leaf)
* Don't check if the empty leaf belongs to a tree root. Mostly for balance
* and new tree created in current transaction.
*/
-int btrfs_check_leaf_write(struct btrfs_fs_info *fs_info,
- struct extent_buffer *leaf)
+int btrfs_check_leaf_write(struct extent_buffer *leaf)
{
return check_leaf(leaf, false, false);
}
diff --git a/fs/btrfs/tree-checker.h b/fs/btrfs/tree-checker.h
index fd09f2247b7c..6a3e96e26b6f 100644
--- a/fs/btrfs/tree-checker.h
+++ b/fs/btrfs/tree-checker.h
@@ -21,8 +21,7 @@ int btrfs_check_leaf_full(struct extent_buffer *leaf);
* Will only check item pointers, not reading item data.
*/
int btrfs_check_leaf_relaxed(struct extent_buffer *leaf);
-int btrfs_check_leaf_write(struct btrfs_fs_info *fs_info,
- struct extent_buffer *leaf);
+int btrfs_check_leaf_write(struct extent_buffer *leaf);
int btrfs_check_node(struct extent_buffer *node);
#endif
--
2.21.0
^ permalink raw reply related [flat|nested] 31+ messages in thread
end of thread, other threads:[~2019-03-25 18:46 UTC | newest]
Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-25 18:46 [PATCH 00/30] Redundant argument cleanups, part 1 David Sterba
2019-03-25 18:46 ` [PATCH 01/30] btrfs: get fs_info from eb in lock_extent_buffer_for_io David Sterba
2019-03-25 18:46 ` [PATCH 02/30] btrfs: get fs_info from eb in repair_eb_io_failure David Sterba
2019-03-25 18:46 ` [PATCH 03/30] btrfs: get fs_info from eb in write_one_eb David Sterba
2019-03-25 18:46 ` [PATCH 04/30] btrfs: get fs_info from eb in leaf_data_end David Sterba
2019-03-25 18:46 ` [PATCH 05/30] btrfs: get fs_info from eb in btrfs_exclude_logged_extents David Sterba
2019-03-25 18:46 ` [PATCH 06/30] btrfs: get fs_info from eb in check_tree_block_fsid David Sterba
2019-03-25 18:46 ` [PATCH 07/30] btrfs: get fs_info from eb in tree_mod_log_eb_copy David Sterba
2019-03-25 18:46 ` [PATCH 08/30] btrfs: get fs_info from eb in clean_tree_block David Sterba
2019-03-25 18:46 ` [PATCH 09/30] btrfs: get fs_info from eb in btrfs_leaf_free_space David Sterba
2019-03-25 18:46 ` [PATCH 10/30] btrfs: get fs_info from eb in read_node_slot David Sterba
2019-03-25 18:46 ` [PATCH 11/30] btrfs: get fs_info from eb in btree_read_extent_buffer_pages David Sterba
2019-03-25 18:46 ` [PATCH 12/30] btrfs: get fs_info from eb in btrfs_verify_level_key David Sterba
2019-03-25 18:46 ` [PATCH 13/30] btrfs: tree-checker: get fs_info from eb in generic_err David Sterba
2019-03-25 18:46 ` [PATCH 14/30] btrfs: tree-checker: get fs_info from eb in file_extent_err David Sterba
2019-03-25 18:46 ` [PATCH 15/30] btrfs: tree-checker: get fs_info from eb in check_csum_item David Sterba
2019-03-25 18:46 ` [PATCH 16/30] btrfs: tree-checker: get fs_info from eb in dir_item_err David Sterba
2019-03-25 18:46 ` [PATCH 17/30] btrfs: tree-checker: get fs_info from eb in check_dir_item David Sterba
2019-03-25 18:46 ` [PATCH 18/30] btrfs: tree-checker: get fs_info from eb in block_group_err David Sterba
2019-03-25 18:46 ` [PATCH 19/30] btrfs: tree-checker: get fs_info from eb in check_block_group_item David Sterba
2019-03-25 18:47 ` [PATCH 20/30] btrfs: tree-checker: get fs_info from eb in check_extent_data_item David Sterba
2019-03-25 18:47 ` [PATCH 21/30] btrfs: tree-checker: get fs_info from eb in check_leaf_item David Sterba
2019-03-25 18:47 ` [PATCH 22/30] btrfs: tree-checker: get fs_info from eb in check_leaf David Sterba
2019-03-25 18:47 ` [PATCH 23/30] btrfs: get fs_info from eb in btrfs_check_leaf_full David Sterba
2019-03-25 18:47 ` [PATCH 24/30] btrfs: get fs_info from eb in btrfs_check_leaf_relaxed David Sterba
2019-03-25 18:47 ` [PATCH 25/30] btrfs: get fs_info from eb in btrfs_check_node David Sterba
2019-03-25 18:47 ` [PATCH 26/30] btrfs: get fs_info from eb in should_balance_chunk David Sterba
2019-03-25 18:47 ` [PATCH 27/30] btrfs: get fs_info from eb in btrfs_check_chunk_valid David Sterba
2019-03-25 18:47 ` [PATCH 28/30] btrfs: get fs_info from eb in read_one_chunk David Sterba
2019-03-25 18:47 ` [PATCH 29/30] " David Sterba
2019-03-25 18:47 ` [PATCH 30/30] btrfs: get fs_info from eb in btrfs_check_leaf_write 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).