summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/node.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/f2fs/node.c')
-rw-r--r--fs/f2fs/node.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index 7b613dd..d714b60 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -1203,10 +1203,13 @@ static void flush_inline_data(struct f2fs_sb_info *sbi, nid_t ino)
if (!inode)
return;
- page = pagecache_get_page(inode->i_mapping, 0, FGP_LOCK|FGP_NOWAIT, 0);
+ page = pagecache_get_page(inode->i_mapping, 0, FGP_NOWAIT, 0);
if (!page)
goto iput_out;
+ if (!trylock_page(page))
+ goto release_out;
+
if (!PageUptodate(page))
goto page_out;
@@ -1221,7 +1224,9 @@ static void flush_inline_data(struct f2fs_sb_info *sbi, nid_t ino)
else
set_page_dirty(page);
page_out:
- f2fs_put_page(page, 1);
+ unlock_page(page);
+release_out:
+ f2fs_put_page(page, 0);
iput_out:
iput(inode);
}
OpenPOWER on IntegriCloud