btrfs: get fs_info from eb in write_one_eb
authorDavid Sterba <dsterba@suse.com>
Wed, 20 Mar 2019 10:27:57 +0000 (11:27 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 29 Apr 2019 17:02:29 +0000 (19:02 +0200)
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

index 276c9250ca230d6b1924c0bf3c2b2beaf9c93b75..d33d4d2ef099ac9635ab1f02e2fcb98046959ebd 100644 (file)
@@ -3681,10 +3681,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;
@@ -3753,7 +3753,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,
@@ -3834,7 +3833,7 @@ retry:
                                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);