Commit 06e42bf4 authored by Matthew Wilcox (Oracle)'s avatar Matthew Wilcox (Oracle) Committed by Jaegeuk Kim
Browse files

f2fs: Pass a folio to f2fs_submit_merged_write_cond()



Most callers pass NULL, and the one that passes a page already has a
folio.  Also convert __submit_merged_write_cond() to take a folio.

Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: default avatarChao Yu <chao@kernel.org>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent 7695f8cc
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -638,7 +638,7 @@ static void __f2fs_submit_merged_write(struct f2fs_sb_info *sbi,
}

static void __submit_merged_write_cond(struct f2fs_sb_info *sbi,
				struct inode *inode, struct page *page,
				struct inode *inode, struct folio *folio,
				nid_t ino, enum page_type type, bool force)
{
	enum temp_type temp;
@@ -650,7 +650,7 @@ static void __submit_merged_write_cond(struct f2fs_sb_info *sbi,
			struct f2fs_bio_info *io = sbi->write_io[btype] + temp;

			f2fs_down_read(&io->io_rwsem);
			ret = __has_merged_page(io->bio, inode, page, ino);
			ret = __has_merged_page(io->bio, inode, &folio->page, ino);
			f2fs_up_read(&io->io_rwsem);
		}
		if (ret)
@@ -668,10 +668,10 @@ void f2fs_submit_merged_write(struct f2fs_sb_info *sbi, enum page_type type)
}

void f2fs_submit_merged_write_cond(struct f2fs_sb_info *sbi,
				struct inode *inode, struct page *page,
				struct inode *inode, struct folio *folio,
				nid_t ino, enum page_type type)
{
	__submit_merged_write_cond(sbi, inode, page, ino, type, false);
	__submit_merged_write_cond(sbi, inode, folio, ino, type, false);
}

void f2fs_flush_merged_writes(struct f2fs_sb_info *sbi)
+1 −1
Original line number Diff line number Diff line
@@ -3982,7 +3982,7 @@ void f2fs_submit_read_bio(struct f2fs_sb_info *sbi, struct bio *bio,
int f2fs_init_write_merge_io(struct f2fs_sb_info *sbi);
void f2fs_submit_merged_write(struct f2fs_sb_info *sbi, enum page_type type);
void f2fs_submit_merged_write_cond(struct f2fs_sb_info *sbi,
				struct inode *inode, struct page *page,
				struct inode *inode, struct folio *folio,
				nid_t ino, enum page_type type);
void f2fs_submit_merged_ipu_write(struct f2fs_sb_info *sbi,
					struct bio **bio, struct folio *folio);
+1 −1
Original line number Diff line number Diff line
@@ -4197,7 +4197,7 @@ void f2fs_folio_wait_writeback(struct folio *folio, enum page_type type,
		struct f2fs_sb_info *sbi = F2FS_F_SB(folio);

		/* submit cached LFS IO */
		f2fs_submit_merged_write_cond(sbi, NULL, &folio->page, 0, type);
		f2fs_submit_merged_write_cond(sbi, NULL, folio, 0, type);
		/* submit cached IPU IO */
		f2fs_submit_merged_ipu_write(sbi, NULL, folio);
		if (ordered) {