android_kernel_oneplus_msm8998/fs/f2fs
Jaegeuk Kim 0ef31c7bfa f2fs: keep dirty inodes selectively for checkpoint
commit 7c45729a4d6d1c90879e6c5c2df325c2f6db7191 upstream.

This is to avoid no free segment bug during checkpoint caused by a number of
dirty inodes.

The case was reported by Chao like this.
1. mount with lazytime option
2. fill 4k file until disk is full
3. sync filesystem
4. read all files in the image
5. umount

In this case, we actually don't need to flush dirty inode to inode page during
checkpoint.

Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2017-09-25 15:08:18 -07:00
..
acl.c f2fs: keep dirty inodes selectively for checkpoint 2017-09-25 15:08:18 -07: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) 2017-09-25 14:27:55 -07:00
checkpoint.c f2fs: use BIO_MAX_PAGES for bio allocation 2017-09-25 15:06:10 -07:00
crypto_key.c Merge 4.4.59 into android-4.4 2017-04-06 19:01:38 +00:00
crypto_policy.c fscrypt: fix context consistency check when key(s) unavailable 2017-05-25 14:30:11 +02:00
data.c f2fs: use BIO_MAX_PAGES for bio allocation 2017-09-25 15:06:10 -07:00
debug.c f2fs: split free nid list 2017-09-25 15:05:19 -07:00
dir.c f2fs: keep dirty inodes selectively for checkpoint 2017-09-25 15:08:18 -07:00
extent_cache.c f2fs: keep dirty inodes selectively for checkpoint 2017-09-25 15:08:18 -07:00
f2fs.h f2fs: keep dirty inodes selectively for checkpoint 2017-09-25 15:08:18 -07:00
f2fs_crypto.h Merge 4.4.59 into android-4.4 2017-04-06 19:01:38 +00:00
file.c f2fs: keep dirty inodes selectively for checkpoint 2017-09-25 15:08:18 -07:00
gc.c f2fs: give a chance to detach from dirty list 2017-09-25 15:04:52 -07:00
gc.h f2fs: backport from (4c1fad64 - Merge tag 'for-f2fs-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs) 2017-09-25 14:27:55 -07:00
hash.c f2fs: backport from (4c1fad64 - Merge tag 'for-f2fs-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs) 2017-09-25 14:27:55 -07:00
inline.c f2fs: keep dirty inodes selectively for checkpoint 2017-09-25 15:08:18 -07:00
inode.c f2fs: keep dirty inodes selectively for checkpoint 2017-09-25 15:08:18 -07:00
Kconfig f2fs: backport from (4c1fad64 - Merge tag 'for-f2fs-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs) 2017-09-25 14:27:55 -07:00
Makefile f2fs: backport from (4c1fad64 - Merge tag 'for-f2fs-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs) 2017-09-25 14:27:55 -07:00
namei.c f2fs: keep dirty inodes selectively for checkpoint 2017-09-25 15:08:18 -07:00
node.c f2fs: use BIO_MAX_PAGES for bio allocation 2017-09-25 15:06:10 -07:00
node.h f2fs: split free nid list 2017-09-25 15:05:19 -07:00
recovery.c f2fs: backport from (4c1fad64 - Merge tag 'for-f2fs-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs) 2017-09-25 14:27:55 -07:00
segment.c f2fs: use BIO_MAX_PAGES for bio allocation 2017-09-25 15:06:10 -07:00
segment.h f2fs: use BIO_MAX_PAGES for bio allocation 2017-09-25 15:06:10 -07:00
shrinker.c f2fs: avoid casted negative value as shrink count 2017-09-25 15:05:35 -07:00
super.c f2fs: keep dirty inodes selectively for checkpoint 2017-09-25 15:08:18 -07:00
trace.c f2fs: backport from (4c1fad64 - Merge tag 'for-f2fs-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs) 2017-09-25 14:27:55 -07:00
trace.h f2fs: add sbi and page pointer in f2fs_io_info 2015-05-28 15:41:32 -07:00
xattr.c f2fs: keep dirty inodes selectively for checkpoint 2017-09-25 15:08:18 -07:00
xattr.h f2fs: backport from (4c1fad64 - Merge tag 'for-f2fs-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs) 2017-09-25 14:27:55 -07:00