diff options
author | Chao Yu <chao@kernel.org> | 2023-08-21 17:22:24 +0200 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2023-08-23 19:24:40 +0200 |
commit | 5118697f7215711f83c339cedab68399d6a01314 (patch) | |
tree | 41308c2efb64e55b14733db5f2cfe273eb4bbdc8 /fs/f2fs | |
parent | f2fs: clean up error handling in sanity_check_{compress_,}inode() (diff) | |
download | linux-5118697f7215711f83c339cedab68399d6a01314.tar.xz linux-5118697f7215711f83c339cedab68399d6a01314.zip |
f2fs: fix error path of f2fs_submit_page_read()
In error path of f2fs_submit_page_read(), it missed to call
iostat_update_and_unbind_ctx() and free bio_post_read_ctx, fix it.
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs')
-rw-r--r-- | fs/f2fs/data.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 5d9697717353..916e317ac925 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -1167,6 +1167,9 @@ static int f2fs_submit_page_read(struct inode *inode, struct page *page, f2fs_wait_on_block_writeback(inode, blkaddr); if (bio_add_page(bio, page, PAGE_SIZE, 0) < PAGE_SIZE) { + iostat_update_and_unbind_ctx(bio); + if (bio->bi_private) + mempool_free(bio->bi_private, bio_post_read_ctx_pool); bio_put(bio); return -EFAULT; } |