Commit 4a6de50d authored by Jaegeuk Kim's avatar Jaegeuk Kim

f2fs: use PGP_LOCK to check its truncation

Previously, after trylock_page is succeeded, it doesn't check its mapping.
In order to fix that, we can just give PGP_LOCK to pagecache_get_page.
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent 675f10bd
...@@ -1202,13 +1202,10 @@ static void flush_inline_data(struct f2fs_sb_info *sbi, nid_t ino) ...@@ -1202,13 +1202,10 @@ static void flush_inline_data(struct f2fs_sb_info *sbi, nid_t ino)
if (!inode) if (!inode)
return; return;
page = pagecache_get_page(inode->i_mapping, 0, FGP_NOWAIT, 0); page = pagecache_get_page(inode->i_mapping, 0, FGP_LOCK|FGP_NOWAIT, 0);
if (!page) if (!page)
goto iput_out; goto iput_out;
if (!trylock_page(page))
goto release_out;
if (!PageUptodate(page)) if (!PageUptodate(page))
goto page_out; goto page_out;
...@@ -1223,9 +1220,7 @@ static void flush_inline_data(struct f2fs_sb_info *sbi, nid_t ino) ...@@ -1223,9 +1220,7 @@ static void flush_inline_data(struct f2fs_sb_info *sbi, nid_t ino)
else else
set_page_dirty(page); set_page_dirty(page);
page_out: page_out:
unlock_page(page); f2fs_put_page(page, 1);
release_out:
f2fs_put_page(page, 0);
iput_out: iput_out:
iput(inode); iput(inode);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment