linux/fs
Linus Torvalds ebaeabfa5a vfs-6.19-rc1.writeback
-----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCaSmOZQAKCRCRxhvAZXjc
 or4UAP9FbpFsZd0DpsYnKuv7kFepl291PuR0x2dKmseJ/wcf8AEAzI8FR5wd/fey
 25ZNdExoUojAOj5wVn+jUep3u54jBws=
 =/toi
 -----END PGP SIGNATURE-----

Merge tag 'vfs-6.19-rc1.writeback' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull writeback updates from Christian Brauner:
 "Features:

   - Allow file systems to increase the minimum writeback chunk size.

     The relatively low minimal writeback size of 4MiB means that
     written back inodes on rotational media are switched a lot. Besides
     introducing additional seeks, this also can lead to extreme file
     fragmentation on zoned devices when a lot of files are cached
     relative to the available writeback bandwidth.

     This adds a superblock field that allows the file system to
     override the default size, and sets it to the zone size for zoned
     XFS.

   - Add logging for slow writeback when it exceeds
     sysctl_hung_task_timeout_secs. This helps identify tasks waiting
     for a long time and pinpoint potential issues. Recording the
     starting jiffies is also useful when debugging a crashed vmcore.

   - Wake up waiting tasks when finishing the writeback of a chunk

  Cleanups:

   - filemap_* writeback interface cleanups.

     Adding filemap_fdatawrite_wbc ended up being a mistake, as all but
     the original btrfs caller should be using better high level
     interfaces instead.

     This series removes all these low-level interfaces, switches btrfs
     to a more specific interface, and cleans up other too low-level
     interfaces. With this the writeback_control that is passed to the
     writeback code is only initialized in three places.

   - Remove __filemap_fdatawrite, __filemap_fdatawrite_range, and
     filemap_fdatawrite_wbc

   - Add filemap_flush_nr helper for btrfs

   - Push struct writeback_control into start_delalloc_inodes in btrfs

   - Rename filemap_fdatawrite_range_kick to filemap_flush_range

   - Stop opencoding filemap_fdatawrite_range in 9p, ocfs2, and mm

   - Make wbc_to_tag() inline and use it in fs"

* tag 'vfs-6.19-rc1.writeback' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
  fs: Make wbc_to_tag() inline and use it in fs.
  xfs: set s_min_writeback_pages for zoned file systems
  writeback: allow the file system to override MIN_WRITEBACK_PAGES
  writeback: cleanup writeback_chunk_size
  mm: rename filemap_fdatawrite_range_kick to filemap_flush_range
  mm: remove __filemap_fdatawrite_range
  mm: remove filemap_fdatawrite_wbc
  mm: remove __filemap_fdatawrite
  mm,btrfs: add a filemap_flush_nr helper
  btrfs: push struct writeback_control into start_delalloc_inodes
  btrfs: use the local tmp_inode variable in start_delalloc_inodes
  ocfs2: don't opencode filemap_fdatawrite_range in ocfs2_journal_submit_inode_data_buffers
  9p: don't opencode filemap_fdatawrite_range in v9fs_mmap_vm_close
  mm: don't opencode filemap_fdatawrite_range in filemap_invalidate_inode
  writeback: Add logging for slow writeback (exceeds sysctl_hung_task_timeout_secs)
  writeback: Wake up waiting tasks when finishing the writeback of a chunk.
2025-12-01 09:20:51 -08:00
..
9p vfs-6.19-rc1.writeback 2025-12-01 09:20:51 -08:00
adfs
affs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
afs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
autofs
befs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
bfs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
btrfs vfs-6.19-rc1.writeback 2025-12-01 09:20:51 -08:00
cachefiles VFS: unify old_mnt_idmap and new_mnt_idmap in renamedata 2025-09-23 12:37:35 +02:00
ceph vfs-6.19-rc1.writeback 2025-12-01 09:20:51 -08:00
coda Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
configfs file->f_path constification 2025-10-03 16:32:36 -07:00
cramfs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
crypto vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
debugfs vfs-6.18-rc1.async 2025-09-29 11:55:15 -07:00
devpts
dlm dlm for 6.18 2025-09-29 15:24:58 -07:00
ecryptfs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
efivarfs power: always freeze efivarfs 2025-11-12 10:12:39 +01:00
efs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
erofs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
exfat vfs-6.18-rc7.fixes 2025-11-17 09:11:27 -08:00
exportfs
ext2 Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
ext4 vfs-6.19-rc1.writeback 2025-12-01 09:20:51 -08:00
f2fs vfs-6.19-rc1.writeback 2025-12-01 09:20:51 -08:00
fat vfat: fix missing sb_min_blocksize() return value checks 2025-11-05 14:00:16 +01:00
freevxfs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
fuse vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
gfs2 vfs-6.19-rc1.writeback 2025-12-01 09:20:51 -08:00
hfs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
hfsplus Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
hostfs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
hpfs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
hugetlbfs hugetlbfs: move lock assertions after early returns in huge_pmd_unshare() 2025-10-21 15:46:17 -07:00
iomap vfs-6.19-rc1.misc 2025-12-01 08:44:26 -08:00
isofs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
jbd2 jbd2: ensure that all ongoing I/O complete before freeing blocks 2025-10-10 13:10:06 -04:00
jffs2 Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
jfs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
kernfs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
lockd SUNRPC: Move the svc_rpcb_cleanup() call sites 2025-09-23 13:28:19 -04:00
minix Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
netfs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
nfs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
nfs_common
nfsd vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
nilfs2 vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
nls
notify vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
ntfs3 Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
ocfs2 vfs-6.19-rc1.writeback 2025-12-01 09:20:51 -08:00
omfs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
openpromfs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
orangefs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
overlayfs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
proc fs/proc: fix uaf in proc_readdir_de() 2025-11-09 21:19:43 -08:00
pstore pstore update for v6.18-rc1 2025-09-29 18:08:34 -07:00
qnx4 Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
qnx6 Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
quota Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
ramfs fs: rename generic_delete_inode() and generic_drop_inode() 2025-09-15 16:09:42 +02:00
resctrl x86,fs/resctrl: Fix NULL pointer dereference with events force-disabled in mbm_event mode 2025-10-20 18:06:31 +02:00
romfs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
smb vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
squashfs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
sysfs sysfs: check visibility before changing group attribute ownership 2025-10-17 09:48:34 +02:00
tests
tracefs
ubifs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
udf Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
ufs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
unicode
vboxsf simplify vboxsf_dir_atomic_open() 2025-09-16 23:59:38 -04:00
verity Optimize fsverity with 2-way interleaved hashing 2025-09-29 15:55:20 -07:00
xfs vfs-6.19-rc1.writeback 2025-12-01 09:20:51 -08:00
zonefs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
Kconfig Summary of significant series in this pull request: 2025-10-02 18:18:33 -07:00
Kconfig.binfmt binfmt_elf: preserve original ELF e_flags for core dumps 2025-09-03 20:49:32 -07:00
Makefile Remove bcachefs core code 2025-09-29 13:43:52 -07:00
aio.c Summary of significant series in this pull request: 2025-10-02 18:18:33 -07:00
anon_inodes.c
attr.c vfs: add ATTR_CTIME_SET flag 2025-09-21 19:24:50 -04:00
backing-file.c fs, iomap: remove IOCB_DIO_CALLER_COMP 2025-11-25 10:22:18 +01:00
bad_inode.c
binfmt_elf.c binfmt_elf: preserve original ELF e_flags for core dumps 2025-09-03 20:49:32 -07:00
binfmt_elf_fdpic.c
binfmt_flat.c
binfmt_misc.c binfmt_misc: restore write access before closing files opened by open_exec() 2025-11-05 14:00:16 +01:00
binfmt_script.c
bpf_fs_kfuncs.c bpf...d_path(): constify path argument 2025-09-15 21:17:08 -04:00
buffer.c Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
char_dev.c
compat_binfmt_elf.c
coredump.c coredump: fix core_pattern input validation 2025-10-07 13:12:46 +02:00
d_path.c
dax.c vfs-6.19-rc1.iomap 2025-12-01 08:14:00 -08:00
dcache.c vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
direct-io.c
drop_caches.c Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
eventfd.c
eventpoll.c eventpoll: Replace rwlock with spinlock 2025-09-05 15:51:24 +02:00
exec.c coredump: fix core_pattern input validation 2025-10-07 13:12:46 +02:00
fcntl.c fcntl: trim arguments 2025-09-26 10:21:23 +02:00
fhandle.c namespace-6.18-rc1 2025-09-29 11:20:29 -07:00
file.c fs: move fd_install() slowpath into a dedicated routine and provide commentary 2025-11-12 12:19:09 +01:00
file_attr.c fs: remove spurious exports in fs/file_attr.c 2025-11-19 12:17:31 +01:00
file_table.c fs: update comment in init_file() 2025-10-07 12:48:33 +02:00
filesystems.c
fs-writeback.c vfs-6.19-rc1.writeback 2025-12-01 09:20:51 -08:00
fs_context.c change the calling conventions for vfs_parse_fs_string() 2025-09-04 15:20:51 -04:00
fs_parser.c
fs_pin.c
fs_struct.c
fs_types.c
fsopen.c
init.c VFS: rename kern_path_locked() and related functions. 2025-09-23 12:37:36 +02:00
inode.c vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
internal.h file->f_path constification 2025-10-03 16:32:36 -07:00
ioctl.c fs: remove vfs_ioctl export 2025-09-01 13:08:01 +02:00
kernel_read_file.c
libfs.c Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
locks.c
mbcache.c
mnt_idmapping.c
mount.h mount-related stuff for this cycle 2025-10-03 10:19:44 -07:00
mpage.c mpage: convert do_mpage_readpage() to return void type 2025-09-21 14:22:16 -07:00
namei.c vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
namespace.c vfs-6.19-rc1.misc 2025-12-01 08:44:26 -08:00
nsfs.c nsfs: handle inode number mismatches gracefully in file handles 2025-10-07 12:48:33 +02:00
open.c fs: touch predicts in do_dentry_open() 2025-11-12 12:19:09 +01:00
pidfs.c file->f_path constification 2025-10-03 16:32:36 -07:00
pipe.c Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
pnode.c umount_tree(): take all victims out of propagation graph at once 2025-09-15 21:26:44 -04:00
pnode.h umount_tree(): take all victims out of propagation graph at once 2025-09-15 21:26:44 -04:00
posix_acl.c
proc_namespace.c
read_write.c copy_file_range: limit size if in compat mode 2025-08-15 16:11:47 +02:00
readdir.c
remap_range.c
select.c
seq_file.c
signalfd.c
splice.c fs/splice.c: trivial fix: pipes -> pipe's 2025-11-25 10:11:16 +01:00
stack.c
stat.c constify path argument of vfs_statx_path() 2025-09-15 21:17:07 -04:00
statfs.c
super.c vfs-6.19-rc1.writeback 2025-12-01 09:20:51 -08:00
sync.c vfs-6.19-rc1.writeback 2025-12-01 09:20:51 -08:00
sysctls.c
timerfd.c
userfaultfd.c
utimes.c fs: export vfs_utimes 2025-11-26 14:50:10 +01:00
xattr.c