Convert f2fs_get_new_data_page() into f2fs_get_new_data_folio() and add a f2fs_get_new_data_page() wrapper.
Signed-off-by: Matthew Wilcox (Oracle) <wi...@infradead.org> --- fs/f2fs/data.c | 6 +++--- fs/f2fs/f2fs.h | 9 ++++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 2301daf57e56..52ca44b3c687 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -1342,7 +1342,7 @@ struct folio *f2fs_get_lock_data_folio(struct inode *inode, pgoff_t index, * Note that, ipage is set only by make_empty_dir, and if any error occur, * ipage should be released by this function. */ -struct page *f2fs_get_new_data_page(struct inode *inode, +struct folio *f2fs_get_new_data_folio(struct inode *inode, struct page *ipage, pgoff_t index, bool new_i_size) { struct address_space *mapping = inode->i_mapping; @@ -1383,13 +1383,13 @@ struct page *f2fs_get_new_data_page(struct inode *inode, f2fs_bug_on(F2FS_I_SB(inode), ipage); folio = f2fs_get_lock_data_folio(inode, index, true); if (IS_ERR(folio)) - return &folio->page; + return folio; } got_it: if (new_i_size && i_size_read(inode) < ((loff_t)(index + 1) << PAGE_SHIFT)) f2fs_i_size_write(inode, ((loff_t)(index + 1) << PAGE_SHIFT)); - return &folio->page; + return folio; } static int __allocate_data_block(struct dnode_of_data *dn, int seg_type) diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index 788a8cd55603..2dcc3b48221b 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -3958,7 +3958,7 @@ struct folio *f2fs_find_data_folio(struct inode *inode, pgoff_t index, pgoff_t *next_pgofs); struct folio *f2fs_get_lock_data_folio(struct inode *inode, pgoff_t index, bool for_write); -struct page *f2fs_get_new_data_page(struct inode *inode, +struct folio *f2fs_get_new_data_folio(struct inode *inode, struct page *ipage, pgoff_t index, bool new_i_size); int f2fs_do_write_data_page(struct f2fs_io_info *fio); int f2fs_map_blocks(struct inode *inode, struct f2fs_map_blocks *map, int flag); @@ -3983,6 +3983,13 @@ int f2fs_init_post_read_wq(struct f2fs_sb_info *sbi); void f2fs_destroy_post_read_wq(struct f2fs_sb_info *sbi); extern const struct iomap_ops f2fs_iomap_ops; +static inline +struct page *f2fs_get_new_data_page(struct inode *inode, + struct page *ipage, pgoff_t index, bool new_i_size) +{ + return &f2fs_get_new_data_folio(inode, ipage, index, new_i_size)->page; +} + static inline struct page *f2fs_get_lock_data_page(struct inode *inode, pgoff_t index, bool for_write) { -- 2.47.2 _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel