android_kernel_oneplus_msm8998/fs/f2fs
Chao Yu 9bb4d22cf5 f2fs: fix to let checkpoint guarantee atomic page persistence
1. thread A: commit_inmem_pages submit data into block layer, but
haven't waited it writeback.
2. thread A: commit_inmem_pages update related node.
3. thread B: do checkpoint, flush all nodes to disk.
4. SPOR

Then, atomic file becomes corrupted since nodes is flushed before data.

This patch fixes to treat atomic page as checkpoint guaranteed one,
then in checkpoint, we can make sure all atomic page can be writebacked
with metadata of atomic file.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2018-07-08 17:30:06 -07:00
..
acl.c f2fs: stop all the operations by cp_error flag 2017-11-15 21:58:10 -08:00
acl.h f2fs: backport from (4c1fad64 - Merge tag 'for-f2fs-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs) 2016-10-17 16:38:44 -07:00
checkpoint.c f2fs: remove duplicated dquot_initialize and fix error handling 2018-07-08 17:28:43 -07:00
data.c f2fs: fix to let checkpoint guarantee atomic page persistence 2018-07-08 17:30:06 -07:00
debug.c f2fs: inject fault to kzalloc 2018-02-07 18:05:29 -08:00
dir.c f2fs: introduce a new mount option test_dummy_encryption 2018-04-08 03:51:18 -07:00
extent_cache.c f2fs: remove redundant initialization of pointer 'p' 2018-04-08 03:50:59 -07:00
f2fs.h Revert "f2fs: add ovp valid_blocks check for bg gc victim to fg_gc" 2018-07-08 17:30:03 -07:00
file.c f2fs: treat volatile file's data as hot one 2018-07-08 17:29:55 -07:00
gc.c Revert "f2fs: add ovp valid_blocks check for bg gc victim to fg_gc" 2018-07-08 17:30:03 -07:00
gc.h f2fs: add an ioctl to disable GC for specific file 2018-02-07 18:05:56 -08:00
hash.c f2fs: check entire encrypted bigname when finding a dentry 2017-05-08 16:35:47 -07:00
inline.c f2fs: remove unmatched zero_user_segment when convert inline dentry 2018-07-08 17:28:19 -07:00
inode.c f2fs: fix to initialize i_current_depth according to inode type 2018-07-08 17:30:04 -07:00
Kconfig f2fs: remove wrong backported codes 2017-01-11 09:55:38 -08:00
Makefile f2fs: move sysfs code from super.c to fs/f2fs/sysfs.c 2017-07-13 16:56:51 -07:00
namei.c f2fs: fix to initialize i_current_depth according to inode type 2018-07-08 17:30:04 -07:00
node.c f2fs: don't drop any page on f2fs_cp_error() case 2018-07-08 17:30:01 -07:00
node.h f2fs: don't track new nat entry in nat set 2018-04-08 03:51:21 -07:00
recovery.c f2fs: do not check F2FS_INLINE_DOTS in recover 2018-07-08 17:28:45 -07:00
segment.c f2fs: treat volatile file's data as hot one 2018-07-08 17:29:55 -07:00
segment.h Revert "f2fs: add ovp valid_blocks check for bg gc victim to fg_gc" 2018-07-08 17:30:03 -07:00
shrinker.c f2fs: obsolete ALLOC_NID_LIST list 2017-11-15 21:48:51 -08:00
super.c f2fs: fix to initialize i_current_depth according to inode type 2018-07-08 17:30:04 -07:00
sysfs.c f2fs: fix spelling mistake: "extenstion" -> "extension" 2018-07-08 17:29:59 -07:00
trace.c f2fs: fix potential hangtask in f2fs_trace_pid 2018-02-07 18:05:37 -08:00
trace.h f2fs: add sbi and page pointer in f2fs_io_info 2015-05-28 15:41:32 -07:00
xattr.c f2fs: correct removexattr behavior for null valued extended attribute 2018-02-07 18:06:07 -08:00
xattr.h f2fs: guard macro variables with braces 2017-05-08 16:26:38 -07:00