summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2014-11-26 02:27:38 +0100
committerJaegeuk Kim <jaegeuk@kernel.org>2014-11-26 03:08:00 +0100
commit95f5b0fc5e25d94ace84dbf5bb4acb8b80b4f062 (patch)
tree6883e76ad4b5d8041d6b3e9f704893ea92d09f4f /fs
parentf2fs: make clean the page before writing (diff)
downloadlinux-95f5b0fc5e25d94ace84dbf5bb4acb8b80b4f062.tar.xz
linux-95f5b0fc5e25d94ace84dbf5bb4acb8b80b4f062.zip
f2fs: fix to recover converted inline_data
If an inode has converted inline_data which was written to the disk, we should set its inode flag for further fsync so that this inline_data can be recovered from sudden power off. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/f2fs/inline.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/f2fs/inline.c b/fs/f2fs/inline.c
index e27f290cb3ef..f2d3c581e776 100644
--- a/fs/f2fs/inline.c
+++ b/fs/f2fs/inline.c
@@ -122,6 +122,9 @@ no_update:
if (dirty)
inode_dec_dirty_pages(dn->inode);
+ /* this converted inline_data should be recovered. */
+ set_inode_flag(F2FS_I(dn->inode), FI_APPEND_WRITE);
+
/* clear inline data and flag after data writeback */
truncate_inline_data(dn->inode_page, 0);
clear_out: