mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-06 00:39:48 +00:00
f2fs: fix to handle error path of f2fs_ra_meta_pages()
In f2fs_ra_meta_pages(), if f2fs_submit_page_bio() failed, we need to unlock page, fix it. Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
3fa6a8c5b5
commit
ce4c638cdd
1 changed files with 3 additions and 2 deletions
|
@ -220,6 +220,7 @@ int f2fs_ra_meta_pages(struct f2fs_sb_info *sbi, block_t start, int nrpages,
|
||||||
.is_por = (type == META_POR),
|
.is_por = (type == META_POR),
|
||||||
};
|
};
|
||||||
struct blk_plug plug;
|
struct blk_plug plug;
|
||||||
|
int err;
|
||||||
|
|
||||||
if (unlikely(type == META_POR))
|
if (unlikely(type == META_POR))
|
||||||
fio.op_flags &= ~REQ_META;
|
fio.op_flags &= ~REQ_META;
|
||||||
|
@ -263,8 +264,8 @@ int f2fs_ra_meta_pages(struct f2fs_sb_info *sbi, block_t start, int nrpages,
|
||||||
}
|
}
|
||||||
|
|
||||||
fio.page = page;
|
fio.page = page;
|
||||||
f2fs_submit_page_bio(&fio);
|
err = f2fs_submit_page_bio(&fio);
|
||||||
f2fs_put_page(page, 0);
|
f2fs_put_page(page, err ? 1 : 0);
|
||||||
}
|
}
|
||||||
out:
|
out:
|
||||||
blk_finish_plug(&plug);
|
blk_finish_plug(&plug);
|
||||||
|
|
Loading…
Reference in a new issue