From c1be9c1ad5cca645ffd31284674ee4e28b9472de Mon Sep 17 00:00:00 2001 From: Nikolay Borisov Date: Mon, 14 Sep 2020 12:37:08 +0300 Subject: [PATCH] btrfs: promote extent_read_full_page to btrfs_readpage Now that btrfs_readpage is the only caller of extent_read_full_page the latter can be open coded in the former. Use the occassion to rename __extent_read_full_page to extent_read_full_page. To facillitate this change submit_one_bio has to be exported as well. Reviewed-by: Josef Bacik Reviewed-by: Johannes Thumshirn Signed-off-by: Nikolay Borisov Reviewed-by: David Sterba Signed-off-by: David Sterba --- fs/btrfs/extent_io.c | 21 ++++----------------- fs/btrfs/extent_io.h | 5 ++++- fs/btrfs/inode.c | 9 ++++++++- 3 files changed, 16 insertions(+), 19 deletions(-) diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 355db40..402b88d 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -160,8 +160,8 @@ static int add_extent_changeset(struct extent_state *state, unsigned bits, return ret; } -static int __must_check submit_one_bio(struct bio *bio, int mirror_num, - unsigned long bio_flags) +int __must_check submit_one_bio(struct bio *bio, int mirror_num, + unsigned long bio_flags) { blk_status_t ret = 0; struct extent_io_tree *tree = bio->bi_private; @@ -3365,9 +3365,8 @@ static inline void contiguous_readpages(struct page *pages[], int nr_pages, } } -static int __extent_read_full_page(struct page *page, struct bio **bio, - int mirror_num, unsigned long *bio_flags, - unsigned int read_flags) +int extent_read_full_page(struct page *page, struct bio **bio, int mirror_num, + unsigned long *bio_flags, unsigned int read_flags) { struct btrfs_inode *inode = BTRFS_I(page->mapping->host); u64 start = page_offset(page); @@ -3381,18 +3380,6 @@ static int __extent_read_full_page(struct page *page, struct bio **bio, return ret; } -int extent_read_full_page(struct page *page) -{ - struct bio *bio = NULL; - unsigned long bio_flags = 0; - int ret; - - ret = __extent_read_full_page(page, &bio, 0, &bio_flags, 0); - if (bio) - ret = submit_one_bio(bio, 0, bio_flags); - return ret; -} - static void update_nr_written(struct writeback_control *wbc, unsigned long nr_written) { diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h index 0ccb2da..8fec00c 100644 --- a/fs/btrfs/extent_io.h +++ b/fs/btrfs/extent_io.h @@ -193,7 +193,10 @@ typedef struct extent_map *(get_extent_t)(struct btrfs_inode *inode, int try_release_extent_mapping(struct page *page, gfp_t mask); int try_release_extent_buffer(struct page *page); -int extent_read_full_page(struct page *page); +int __must_check submit_one_bio(struct bio *bio, int mirror_num, + unsigned long bio_flags); +int extent_read_full_page(struct page *page, struct bio **bio, int mirror_num, + unsigned long *bio_flags, unsigned int read_flags); int extent_write_full_page(struct page *page, struct writeback_control *wbc); int extent_write_locked_range(struct inode *inode, u64 start, u64 end, int mode); diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index aaf998f..55c5617 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -8040,7 +8040,14 @@ static int btrfs_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, int btrfs_readpage(struct file *file, struct page *page) { - return extent_read_full_page(page); + struct bio *bio = NULL; + unsigned long bio_flags = 0; + int ret; + + ret = extent_read_full_page(page, &bio, 0, &bio_flags, 0); + if (bio) + ret = submit_one_bio(bio, 0, bio_flags); + return ret; } static int btrfs_writepage(struct page *page, struct writeback_control *wbc) -- 2.7.4