[GIT PULL] vfs fallocate

From: Christian Brauner
Date: Fri Sep 13 2024 - 10:44:57 EST


Hey Linus,

/* Summary */

This contains work to try and cleanup some the fallocate mode handling.
Currently, it confusingly mixes operation modes and an optional flag.
The work here tries to better define operation modes and optional flags
allowing the core and filesystem code to use switch statements to switch
on the operation mode.

/* Testing */

gcc version 14.2.0 (Debian 14.2.0-3)
Debian clang version 16.0.6 (27+b1)

All patches are based on v6.11-rc4 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */

Merge conflicts with mainline
=============================

No known conflicts.

Merge conflicts with other trees
================================

No known conflicts.

The following changes since commit 47ac09b91befbb6a235ab620c32af719f8208399:

Linux 6.11-rc4 (2024-08-18 13:17:27 -0700)

are available in the Git repository at:

git@xxxxxxxxxxxxxxxxxxx:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.12.fallocate

for you to fetch changes up to 7fbabbb4ae2a7203861e4db363e3c861a4df260e:

Merge patch series "Subject: sort out the fallocate mode mess" (2024-08-28 16:54:05 +0200)

Please consider pulling these changes from the signed vfs-6.12.fallocate tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.12.fallocate

----------------------------------------------------------------
Christian Brauner (1):
Merge patch series "Sort out the fallocate mode mess"

Christoph Hellwig (6):
block: remove checks for FALLOC_FL_NO_HIDE_STALE
ext4: remove tracing for FALLOC_FL_NO_HIDE_STALE
fs: sort out the fallocate mode vs flag mess
xfs: call xfs_flush_unmap_range from xfs_free_file_space
xfs: move the xfs_is_always_cow_inode check into xfs_alloc_file_space
xfs: refactor xfs_file_fallocate

block/fops.c | 10 +-
fs/open.c | 51 ++++---
fs/xfs/xfs_bmap_util.c | 11 ++
fs/xfs/xfs_file.c | 353 ++++++++++++++++++++++++++------------------
include/linux/falloc.h | 18 ++-
include/trace/events/ext4.h | 1 -
include/uapi/linux/falloc.h | 1 +
7 files changed, 258 insertions(+), 187 deletions(-)