Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8060656a authored by Shawn Lin's avatar Shawn Lin Committed by Jaegeuk Kim
Browse files

f2fs: reuse read_inline_data for f2fs_convert_inline_page



f2fs_convert_inline_page introduce what read_inline_data
already does for copying out the inline data from inode_page.
We can use read_inline_data instead to simplify the code.

Signed-off-by: default avatarShawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent 993a0499
Loading
Loading
Loading
Loading
+1 −15
Original line number Diff line number Diff line
@@ -105,7 +105,6 @@ int f2fs_read_inline_data(struct inode *inode, struct page *page)

int f2fs_convert_inline_page(struct dnode_of_data *dn, struct page *page)
{
	void *src_addr, *dst_addr;
	struct f2fs_io_info fio = {
		.sbi = F2FS_I_SB(dn->inode),
		.type = DATA,
@@ -115,8 +114,6 @@ int f2fs_convert_inline_page(struct dnode_of_data *dn, struct page *page)
	};
	int dirty, err;

	f2fs_bug_on(F2FS_I_SB(dn->inode), page->index);

	if (!f2fs_exist_data(dn->inode))
		goto clear_out;

@@ -125,19 +122,8 @@ int f2fs_convert_inline_page(struct dnode_of_data *dn, struct page *page)
		return err;

	f2fs_bug_on(F2FS_P_SB(page), PageWriteback(page));
	if (PageUptodate(page))
		goto no_update;

	zero_user_segment(page, MAX_INLINE_DATA, PAGE_CACHE_SIZE);

	/* Copy the whole inline data block */
	src_addr = inline_data_addr(dn->inode_page);
	dst_addr = kmap_atomic(page);
	memcpy(dst_addr, src_addr, MAX_INLINE_DATA);
	flush_dcache_page(page);
	kunmap_atomic(dst_addr);
	SetPageUptodate(page);
no_update:
	read_inline_data(page, dn->inode_page);
	set_page_dirty(page);

	/* clear dirty state */