linux-stable/fs/f2fs
Gao Xiang 46706d5917 f2fs: flush cp pack except cp pack 2 page at first
Previously, we attempt to flush the whole cp pack in a single bio,
however, when suddenly powering off at this time, we could get into
an extreme scenario that cp pack 1 page and cp pack 2 page are updated
and latest, but payload or current summaries are still partially
outdated. (see reliable write in the UFS specification)

This patch submits the whole cp pack except cp pack 2 page at first,
and then writes the cp pack 2 page with an extra independent
bio with pre-io barrier.

Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2018-03-13 08:05:43 +09:00
..
acl.c posix_acl: convert posix_acl.a_refcount from atomic_t to refcount_t 2018-01-02 19:27:28 -08:00
acl.h f2fs: remove dead code f2fs_check_acl 2016-09-14 16:52:36 -07:00
checkpoint.c f2fs: flush cp pack except cp pack 2 page at first 2018-03-13 08:05:43 +09:00
data.c f2fs: clean up f2fs_sb_has_xxx functions 2018-03-13 08:05:42 +09:00
debug.c f2fs: inject fault to kzalloc 2018-01-02 19:27:29 -08:00
dir.c f2fs: don't put dentry page in pagecache into highmem 2018-03-13 08:05:03 +09:00
extent_cache.c f2fs: fix to check extent cache in f2fs_drop_extent_tree 2018-03-13 08:05:32 +09:00
f2fs.h f2fs: clean up f2fs_sb_has_xxx functions 2018-03-13 08:05:42 +09:00
file.c f2fs: clean up f2fs_sb_has_xxx functions 2018-03-13 08:05:42 +09:00
gc.c f2fs: fix heap mode to reset it back 2018-03-13 08:05:30 +09:00
gc.h f2fs: add an ioctl to disable GC for specific file 2018-01-22 14:56:35 -08:00
hash.c f2fs: check entire encrypted bigname when finding a dentry 2017-05-04 11:44:35 -04:00
inline.c f2fs: don't put dentry page in pagecache into highmem 2018-03-13 08:05:03 +09:00
inode.c f2fs: don't put dentry page in pagecache into highmem 2018-03-13 08:05:03 +09:00
Kconfig fs/*/Kconfig: drop links to 404-compliant http://acl.bestbits.at 2018-01-01 12:45:37 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
namei.c f2fs: don't put dentry page in pagecache into highmem 2018-03-13 08:05:03 +09:00
node.c f2fs: use GFP_F2FS_ZERO for cleanup 2018-01-25 10:39:49 -08:00
node.h f2fs: allow to recover node blocks given updated checkpoint 2018-01-22 14:56:59 -08:00
recovery.c f2fs: fix to handle looped node chain during recovery 2018-03-13 08:05:40 +09:00
segment.c f2fs: clean up f2fs_sb_has_xxx functions 2018-03-13 08:05:42 +09:00
segment.h f2fs: rebuild sit page from sit info in mem 2018-01-25 10:44:34 -08:00
shrinker.c f2fs: obsolete ALLOC_NID_LIST list 2017-10-10 12:49:53 -07:00
super.c f2fs: clean up f2fs_sb_has_xxx functions 2018-03-13 08:05:42 +09:00
sysfs.c f2fs: clean up f2fs_sb_has_xxx functions 2018-03-13 08:05:42 +09:00
trace.c f2fs: fix potential hangtask in f2fs_trace_pid 2018-01-02 19:27:30 -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-01-22 14:56:57 -08:00
xattr.h f2fs: guard macro variables with braces 2017-04-10 19:48:10 -07:00