[GIT PULL] vfs fixes

From: Christian Brauner

Date: Mon Jan 26 2026 - 05:51:09 EST


Hey Linus,

/* Summary */

Here's a few fixes for the current cycle:

- Fix the the buggy conversion of fuse_reverse_inval_entry() introduced
during the creation rework.

- Disallow nfs delegation requests for directories by setting
simple_nosetlease().

- Require an opt-in for getting readdir flag bits outside of
S_DT_MASK set in d_type.

- Fix scheduling delayed writeback work by only scheduling when the
dirty time expiry interval is non-zero and cancel the delayed work if
the interval is set to zero.

- Use rounded_jiffies_interval for dirty time work.

- Check the return value of sb_set_blocksize() for romfs.

- Wait for batched folios to be stable in __iomap_get_folio().

- Use private naming for fuse hash size.

- Fix the stale dentry cleanup to prevent a race that causes a UAF.

/* Conflicts */

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

No known conflicts.

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

No known conflicts.

The following changes since commit 0f61b1860cc3f52aef9036d7235ed1f017632193:

Linux 6.19-rc5 (2026-01-11 17:03:14 -1000)

are available in the Git repository at:

git@xxxxxxxxxxxxxxxxxxx:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.19-rc8.fixes

for you to fetch changes up to 6358461178ca29a87c66495f1ce854388b0107c3:

Merge patch series "fuse: fixes and cleanups for expired dentry eviction" (2026-01-16 19:15:20 +0100)

Please consider pulling these changes from the signed vfs-6.19-rc8.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.19-rc8.fixes

----------------------------------------------------------------
Amir Goldstein (1):
readdir: require opt-in for d_type flags

Christian Brauner (3):
Merge patch series "vfs: properly deny directory leases on filesystems with special lease handling"
Merge patch series "Fix vm.dirtytime_expire_seconds=0 causing 100% CPU"
Merge patch series "fuse: fixes and cleanups for expired dentry eviction"

Christoph Hellwig (1):
iomap: wait for batched folios to be stable in __iomap_get_folio

Deepanshu Kartikey (1):
romfs: check sb_set_blocksize() return value

Jeff Layton (6):
nfs: properly disallow delegation requests on directories
smb/client: properly disallow delegations on directories
9p: don't allow delegations to be set on directories
gfs2: don't allow delegations to be set on directories
ceph: don't allow delegations to be set on directories
vboxsf: don't allow delegations to be set on directories

Jens Axboe (1):
fuse: use private naming for fuse hash size

Laveesh Bansal (2):
writeback: fix 100% CPU usage when dirtytime_expire_interval is 0
docs: clarify that dirtytime_expire_seconds=0 disables writeback

Miklos Szeredi (6):
fuse: fix race when disposing stale dentries
fuse: make sure dentry is evicted if stale
fuse: add need_resched() before unlocking bucket
fuse: clean up fuse_dentry_tree_work()
fuse: shrink once after all buckets have been scanned
vfs: document d_dispose_if_unused()

NeilBrown (1):
fuse: fix conversion of fuse_reverse_inval_entry() to start_removing()

Zhao Mengmeng (1):
writeback: use round_jiffies_relative for dirtytime_work

Documentation/admin-guide/sysctl/vm.rst | 2 +
fs/9p/vfs_dir.c | 2 +
fs/ceph/dir.c | 2 +
fs/dcache.c | 10 +++++
fs/fs-writeback.c | 16 ++++++--
fs/fuse/dir.c | 66 ++++++++++++++++++---------------
fs/gfs2/file.c | 1 +
fs/iomap/buffered-io.c | 1 +
fs/nfs/dir.c | 1 +
fs/nfs/nfs4file.c | 2 -
fs/readdir.c | 3 ++
fs/romfs/super.c | 5 ++-
fs/smb/client/cifsfs.c | 4 +-
fs/vboxsf/dir.c | 1 +
include/linux/fs.h | 6 ++-
15 files changed, 82 insertions(+), 40 deletions(-)