From: Chao Yu Date: Thu, 21 Jun 2018 14:38:28 +0000 (+0800) Subject: f2fs: fix to wait on page writeback before updating page X-Git-Tag: v4.18.9~20 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=eade994be5e644a2e77a9d088b1f6536e7a7e942;p=users%2Fdwmw2%2Flinux.git f2fs: fix to wait on page writeback before updating page [ Upstream commit 6aead1617b3adf2b7e2c56f0f13e4e0ee42ebb4a ] In error path of f2fs_move_rehashed_dirents, inode page could be writeback state, so we should wait on inode page writeback before updating it. Signed-off-by: Chao Yu Signed-off-by: Jaegeuk Kim Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/f2fs/inline.c b/fs/f2fs/inline.c index f882de2ede95d..2bcb2d36f024e 100644 --- a/fs/f2fs/inline.c +++ b/fs/f2fs/inline.c @@ -498,6 +498,7 @@ static int f2fs_move_rehashed_dirents(struct inode *dir, struct page *ipage, return 0; recover: lock_page(ipage); + f2fs_wait_on_page_writeback(ipage, NODE, true); memcpy(inline_dentry, backup_dentry, MAX_INLINE_DATA(dir)); f2fs_i_depth_write(dir, 0); f2fs_i_size_write(dir, MAX_INLINE_DATA(dir));