F2FS File-System Gets A Lost & Found, Performance Enhancements
F2FS maintainer Jaegeuk Kim says most of this past round of development was focused on performance tuning and critical bug fixes for low-end devices. But there's also some new features and we surely love any and all performance work.
One of the new features is a "lost_found" feature whereby it's a lost and found for placing files with no parent. The F2FS MKFS utility can now create a default lost+found folder in the root directory where these dangling files will be placed whenever found by the F2FS fsck process. When the lost and found feature is enabled, F2FS cannot support native encryption of the root directory.
Other work for F2FS in Linux 4.17 includes Nowait AIO support, better tuning for low-end/small devices, enabling readdir_ra by default, a new fsync_mode to determine whether POSIX behavior or not, and a variety of bug fixes. Among the low-end work were memory-related issues being resolved as well as some race conditions and corner cases being ironed out.
The new fsync_mode mount option allows values of posix or strict for determining the fsync behavior. The POSIX mode is enabled by default that uses a light fsync with POSIX semantics while the strict mode forces heavier file synchronization that behaves like EXT4/Btrfs/XFS. Using this strict fsync mode will lead to a performance drop.
The list of F2FS changes for Linux 4.17 can be found via this PR.