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

Commit e9d296fa authored by Yunlei He's avatar Yunlei He Committed by Jaegeuk Kim
Browse files

f2fs: Add a segment type check in inplace write



This patch add a segment type check in IPU, in
case of something wrong with blkadd in dnode.

Signed-off-by: default avatarYunlei He <heyunlei@huawei.com>
Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent a6abda93
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -2873,10 +2873,15 @@ void write_data_page(struct dnode_of_data *dn, struct f2fs_io_info *fio)
int rewrite_data_page(struct f2fs_io_info *fio)
{
	int err;
	struct f2fs_sb_info *sbi = fio->sbi;

	fio->new_blkaddr = fio->old_blkaddr;
	/* i/o temperature is needed for passing down write hints */
	__get_segment_type(fio);

	f2fs_bug_on(sbi, !IS_DATASEG(get_seg_entry(sbi,
			GET_SEGNO(sbi, fio->new_blkaddr))->type));

	stat_inc_inplace_blocks(fio->sbi);

	err = f2fs_submit_page_bio(fio);