summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/data.c
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2014-10-09 22:39:06 +0200
committerJaegeuk Kim <jaegeuk@kernel.org>2014-11-04 01:07:29 +0100
commitcbcb2872e37ba0511f21b3ab5d65973b2055440c (patch)
tree8919d5ccbdfb7355bedc9dc6ee9a401e22f85c06 /fs/f2fs/data.c
parentf2fs: do not make dirty any inmemory pages (diff)
downloadlinux-cbcb2872e37ba0511f21b3ab5d65973b2055440c.tar.xz
linux-cbcb2872e37ba0511f21b3ab5d65973b2055440c.zip
f2fs: invalidate inmemory page
If user truncates file's data, we should truncate inmemory pages too. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/data.c')
-rw-r--r--fs/f2fs/data.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 84f20e932499..5b80adac8985 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -1116,6 +1116,9 @@ static void f2fs_invalidate_data_page(struct page *page, unsigned int offset,
if (offset % PAGE_CACHE_SIZE || length != PAGE_CACHE_SIZE)
return;
+ if (f2fs_is_atomic_file(inode) || f2fs_is_volatile_file(inode))
+ invalidate_inmem_page(inode, page);
+
if (PageDirty(page))
inode_dec_dirty_pages(inode);
ClearPagePrivate(page);