Re: [GIT PULL] f2fs update for 5.16-rc1

From: Christoph Hellwig
Date: Thu Nov 11 2021 - 03:49:16 EST


So question on the direct I/O code. The perfectly fine iomap code
wasn't merged because of the pre-existing stale data exposure issuewith
f2fs direct I/O low-level implementation. This doesn't seem to be fixed
or even worked around, but instead we do get new direct I/O features?

On Wed, Nov 10, 2021 at 08:11:10PM -0800, Jaegeuk Kim wrote:
> Hi Linus,
>
> Could you please consider this pull request?
>
> Thanks,
>
> The following changes since commit ff1ffd71d5f0612cf194f5705c671d6b64bf5f91:
>
> Merge tag 'hyperv-fixes-signed-20210915' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux (2021-09-15 17:18:56 -0700)
>
> are available in the Git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git tags/f2fs-for-5.16-rc1
>
> for you to fetch changes up to 5429c9dbc9025f9a166f64e22e3a69c94fd5b29b:
>
> f2fs: fix UAF in f2fs_available_free_memory (2021-11-09 08:23:17 -0800)
>
> ----------------------------------------------------------------
> f2fs-for-5.16-rc1
>
> In this cycle, we've applied relatively small number of patches which fix subtle
> corner cases mainly, while introducing a new mount option to be able to fragment
> the disk intentionally for performance tests.
>
> Enhancement:
> - add a mount option to fragmente on-disk layout to understand the performance
> - support direct IO for multi-partitions
> - add a fault injection of dquot_initialize
>
> Bug fix:
> - address some lockdep complaints
> - fix a deadlock issue with quota
> - fix a memory tuning condition
> - fix compression condition to improve the ratio
> - fix disabling compression on the non-empty compressed file
> - invalidate cached pages before IPU/DIO writes
>
> And, we've added some minor clean-ups as usual.
>
> ----------------------------------------------------------------
> Chao Yu (7):
> f2fs: quota: fix potential deadlock
> f2fs: avoid attaching SB_ACTIVE flag during mount
> f2fs: introduce excess_dirty_threshold()
> f2fs: fix wrong condition to trigger background checkpoint correctly
> f2fs: multidevice: support direct IO
> f2fs: fix incorrect return value in f2fs_sanity_check_ckpt()
> f2fs: support fault injection for dquot_initialize()
>
> Daeho Jeong (2):
> f2fs: include non-compressed blocks in compr_written_block
> f2fs: introduce fragment allocation mode mount option
>
> Dongliang Mu (1):
> f2fs: fix UAF in f2fs_available_free_memory
>
> Fengnan Chang (1):
> f2fs: compress: fix overwrite may reduce compress ratio unproperly
>
> Gao Xiang (1):
> f2fs: fix up f2fs_lookup tracepoints
>
> Hyeong-Jun Kim (2):
> f2fs: compress: disallow disabling compress on non-empty compressed file
> f2fs: invalidate META_MAPPING before IPU/DIO write
>
> Jaegeuk Kim (1):
> f2fs: should use GFP_NOFS for directory inodes
>
> Keoseong Park (1):
> f2fs: fix to use WHINT_MODE
>
> Qing Wang (1):
> f2fs: replace snprintf in show functions with sysfs_emit
>
> Weichao Guo (1):
> f2fs: set SBI_NEED_FSCK flag when inconsistent node block found
>
> Documentation/ABI/testing/sysfs-fs-f2fs | 16 ++++++
> Documentation/filesystems/f2fs.rst | 19 +++++++
> fs/f2fs/checkpoint.c | 8 ++-
> fs/f2fs/compress.c | 20 +++++++
> fs/f2fs/data.c | 95 +++++++++++++++++++++++++--------
> fs/f2fs/f2fs.h | 54 ++++++++++++++++---
> fs/f2fs/file.c | 6 +--
> fs/f2fs/gc.c | 5 +-
> fs/f2fs/inline.c | 2 +-
> fs/f2fs/inode.c | 4 +-
> fs/f2fs/namei.c | 32 +++++------
> fs/f2fs/node.c | 1 +
> fs/f2fs/node.h | 5 --
> fs/f2fs/recovery.c | 14 ++---
> fs/f2fs/segment.c | 83 +++++++++++++++++++++-------
> fs/f2fs/segment.h | 1 +
> fs/f2fs/super.c | 39 +++++++++++++-
> fs/f2fs/sysfs.c | 24 ++++++++-
> fs/f2fs/verity.c | 2 +-
> fs/f2fs/xattr.c | 2 +-
> include/trace/events/f2fs.h | 33 ++++++++----
> 21 files changed, 359 insertions(+), 106 deletions(-)
---end quoted text---