Skip to content

Commit fe6f0ed

Browse files
committed
Merge tag 'f2fs-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
Pull f2fs updates from Jaegeuk Kim: "In this round, we've tuned f2fs to improve general performance by serializing block allocation and enhancing discard flows like fstrim which avoids user IO contention. And we've added fsync_mode=nobarrier which gives an option to user where it skips issuing cache_flush commands to underlying flash storage. And there are many bug fixes related to fuzzed images, revoked atomic writes, quota ops, and minor direct IO. Enhancements: - add fsync_mode=nobarrier which bypasses cache_flush command - enhance the discarding flow which avoids user IOs and issues in LBA order - readahead some encrypted blocks during GC - enable in-memory inode checksum to verify the blocks if F2FS_CHECK_FS is set - enhance nat_bits behavior - set -o discard by default - set REQ_RAHEAD to bio in ->readpages Bug fixes: - fix a corner case to corrupt atomic_writes revoking flow - revisit i_gc_rwsem to fix race conditions - fix some dio behaviors captured by xfstests - correct handling errors given by quota-related failures - add many sanity check flows to avoid fuzz test failures - add more error number propagation to their callers - fix several corner cases to continue fault injection w/ shutdown loop" * tag 'f2fs-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (89 commits) f2fs: readahead encrypted block during GC f2fs: avoid fi->i_gc_rwsem[WRITE] lock in f2fs_gc f2fs: fix performance issue observed with multi-thread sequential read f2fs: fix to skip verifying block address for non-regular inode f2fs: rework fault injection handling to avoid a warning f2fs: support fault_type mount option f2fs: fix to return success when trimming meta area f2fs: fix use-after-free of dicard command entry f2fs: support discard submission error injection f2fs: split discard command in prior to block layer f2fs: wake up gc thread immediately when gc_urgent is set f2fs: fix incorrect range->len in f2fs_trim_fs() f2fs: refresh recent accessed nat entry in lru list f2fs: fix avoid race between truncate and background GC f2fs: avoid race between zero_range and background GC f2fs: fix to do sanity check with block address in main area v2 f2fs: fix to do sanity check with inline flags f2fs: fix to reset i_gc_failures correctly f2fs: fix invalid memory access f2fs: fix to avoid broken of dnode block list ...
2 parents 6faf05c + 6aa58d8 commit fe6f0ed

File tree

21 files changed

+1671
-532
lines changed

21 files changed

+1671
-532
lines changed

Documentation/ABI/testing/sysfs-fs-f2fs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,14 @@ Description:
5151
Controls the dirty page count condition for the in-place-update
5252
policies.
5353

54+
What: /sys/fs/f2fs/<disk>/min_seq_blocks
55+
Date: August 2018
56+
Contact: "Jaegeuk Kim" <[email protected]>
57+
Description:
58+
Controls the dirty page count condition for batched sequential
59+
writes in ->writepages.
60+
61+
5462
What: /sys/fs/f2fs/<disk>/min_hot_blocks
5563
Date: March 2017
5664
Contact: "Jaegeuk Kim" <[email protected]>

Documentation/filesystems/f2fs.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,24 @@ data_flush Enable data flushing before checkpoint in order to
157157
persist data of regular and symlink.
158158
fault_injection=%d Enable fault injection in all supported types with
159159
specified injection rate.
160+
fault_type=%d Support configuring fault injection type, should be
161+
enabled with fault_injection option, fault type value
162+
is shown below, it supports single or combined type.
163+
Type_Name Type_Value
164+
FAULT_KMALLOC 0x000000001
165+
FAULT_KVMALLOC 0x000000002
166+
FAULT_PAGE_ALLOC 0x000000004
167+
FAULT_PAGE_GET 0x000000008
168+
FAULT_ALLOC_BIO 0x000000010
169+
FAULT_ALLOC_NID 0x000000020
170+
FAULT_ORPHAN 0x000000040
171+
FAULT_BLOCK 0x000000080
172+
FAULT_DIR_DEPTH 0x000000100
173+
FAULT_EVICT_INODE 0x000000200
174+
FAULT_TRUNCATE 0x000000400
175+
FAULT_IO 0x000000800
176+
FAULT_CHECKPOINT 0x000001000
177+
FAULT_DISCARD 0x000002000
160178
mode=%s Control block allocation mode which supports "adaptive"
161179
and "lfs". In "lfs" mode, there should be no random
162180
writes towards main area.

0 commit comments

Comments
 (0)