linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL 00/17 for v6.19] v6.19
@ 2025-11-28 16:48 Christian Brauner
  2025-11-28 16:48 ` [GIT PULL 01/17 for v6.19] vfs iomap Christian Brauner
                   ` (16 more replies)
  0 siblings, 17 replies; 44+ messages in thread
From: Christian Brauner @ 2025-11-28 16:48 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

This is the batch of pull requests for the v6.19 merge window!

We have a couple of inter-dependencies between branches. Notably the
cred guard work and the directory locking work are a prerequisite for
the overlayfs work for this cycle.

We also have an external dependency on the kbuild tree's work to enable
-fms-extension. So pulling the vfs work before the kbuild work will
bring that in. Which is fine. I'm just making sure you're aware of it.

This cycle was quite busy with a lot of infrastructure work and cleanups.

There is the new listns() system call that allows userspace to iterate
through namespaces in the system. Currently there's no direct way to
enumerate namespaces - applications must scan /proc/<pid>/ns/ across all
processes, which is inefficient, incomplete (misses namespaces kept
alive only by file descriptors or bind mounts), and requires broad /proc
access. The new system call supports pagination, filtering by namespace
type, and filtering by owning user namespace.

To support listns() and future namespace work, we've introduced an
active reference count that tracks namespace visibility to userspace. A
namespace is visible when it's in use by a task, persisted through a VFS
object, or is the parent of child namespaces. This prevents resurrection
of namespaces that are pinned only for internal kernel reasons.

There's the credential guard infrastructure change for this cycle that
you triggered. :) We now have with_kernel_creds() and
scoped_with_kernel_creds() guards that allow using kernel credentials
without allocating and copying them. We also have scoped_with_creds()
for the common override_creds()/revert_creds() pattern, and prepare
credential guards for more complex cases. All of overlayfs has been
converted to use these guards.

The inode state accessor work from last cycle continues. We now hide
inode->i_state behind accessors entirely, making plain access fail to
compile. This allows asserting correct usage - locking, flag
manipulation, detecting when code clears already-missing flags or sets
flags when illegal.

Directory operations are getting centralized locking helpers as part of
NeilBrown's effort to eventually allow multiple concurrent operations in
a directory by locking target dentries rather than whole parent
directories.

We now also have recall-only directory delegations for knfsd.

The iomap work includes FUSE support for buffered reads using iomap,
enabling granular uptodate tracking with large folios. There's also zero
range folio batch support to handle dirty folios over unwritten
mappings, and DIO write completions can now run from interrupt context
again for pure overwrites, reducing context switches for
high-performance workloads.

The FD_ADD() and FD_PREPARE() primitives simplify the ubiquitous pattern
of get_unused_fd_flags() + create file + fd_install() that currently
requires cumbersome cleanup paths. The series removes roughly double the
code it adds by eliminating convoluted cleanup logic across many
subsystems. This work came late in the cycle but is quite nice - an
alternative pull request with only trivial filesystem conversions is
available if preferred. The KVM conversions were reverted as they prefer
to take those through their tree.

Note that I provided two pull requests for FD_{ADD,PREPARE}():

(1) [GIT PULL 16/17 for v6.19] vfs fd prepare
    Message-Id: <20251128-vfs-fd-prepare-v619-e23be0b7a0c5@brauner>
    contains everything I sent out and a few later fixes and with a
    revert of the kvm conversions. The kvm maintainers want to take it
    to their tree apparently.

(2) [GIT PULL 17/17 for v6.19] vfs fd prepare minimal
    Message-Id: <20251128-vfs-fd-prepare-minimal-v619-41df48e056e7@brauner>
    contains a condensed version with anything that's complex removed.

I think (1) is fine but I understand wanting to be a bit more
conservative so I also provided (2).

There's the usual collection of cleanups: writeback interface
simplification removing low-level filemap_* interfaces, path lookup
optimizations with cheaper MAY_EXEC handling, step_into()/walk_component()
inlining, and the start of splitting up the monolithic fs.h header into
focused headers for superblock code.

Smaller items include folio_next_pos() helper fixing a 32-bit ocfs2 bug,
minix filesystem syzbot fixes, autofs fix for futile mount triggers in
private mount namespaces, and coredump/pidfd improvements exposing the
coredump signal.

Thanks!
Christian

^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2025-12-03 10:07 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-28 16:48 [GIT PULL 00/17 for v6.19] v6.19 Christian Brauner
2025-11-28 16:48 ` [GIT PULL 01/17 for v6.19] vfs iomap Christian Brauner
2025-12-01 22:08   ` pr-tracker-bot
2025-11-28 16:48 ` [GIT PULL 02/17 for v6.19] vfs misc Christian Brauner
2025-12-01 22:08   ` pr-tracker-bot
2025-11-28 16:48 ` [GIT PULL 03/17 for v6.19] vfs inode Christian Brauner
2025-12-01 22:08   ` pr-tracker-bot
2025-11-28 16:48 ` [GIT PULL 04/17 for v6.19] vfs writeback Christian Brauner
2025-12-01 22:08   ` pr-tracker-bot
2025-11-28 16:48 ` [GIT PULL 05/17 for v6.19] namespaces Christian Brauner
2025-12-01 19:06   ` Eric W. Biederman
2025-12-02 17:00     ` Linus Torvalds
2025-12-03 10:07       ` Christian Brauner
2025-12-01 22:08   ` pr-tracker-bot
2025-11-28 16:48 ` [GIT PULL 06/17 for v6.19] vfs coredump Christian Brauner
2025-12-01 22:08   ` pr-tracker-bot
2025-11-28 16:48 ` [GIT PULL 07/17 for v6.19] vfs folio Christian Brauner
2025-12-01 22:08   ` pr-tracker-bot
2025-11-28 16:48 ` [GIT PULL 08/17 for v6.19] cred guards Christian Brauner
2025-12-01 21:53   ` Linus Torvalds
2025-12-02  1:26     ` Sasha Levin
2025-12-02  1:36       ` [PATCH] nfs/localio: make do_nfs_local_call_write() return void Sasha Levin
2025-12-01 22:08   ` [GIT PULL 08/17 for v6.19] cred guards pr-tracker-bot
2025-11-28 16:48 ` [GIT PULL 09/17 for v6.19] vfs headers Christian Brauner
2025-12-01 23:22   ` pr-tracker-bot
2025-11-28 16:48 ` [GIT PULL 10/17 for v6.19] vfs super guards Christian Brauner
2025-12-01 23:22   ` pr-tracker-bot
2025-11-28 16:48 ` [GIT PULL 11/17 for v6.19] minix Christian Brauner
2025-12-01 23:22   ` pr-tracker-bot
2025-11-28 16:48 ` [GIT PULL 12/17 for v6.19] vfs directory delegations Christian Brauner
2025-12-02  3:19   ` pr-tracker-bot
2025-11-28 16:48 ` [GIT PULL 13/17 for v6.19] vfs directory locking Christian Brauner
2025-12-02  3:19   ` pr-tracker-bot
2025-11-28 16:48 ` [GIT PULL 14/17 for v6.19] overlayfs cred guards Christian Brauner
2025-12-02  3:19   ` pr-tracker-bot
2025-11-28 16:48 ` [GIT PULL 15/17 for v6.19] autofs Christian Brauner
2025-12-02  3:19   ` pr-tracker-bot
2025-11-28 16:48 ` [GIT PULL 16/17 for v6.19] vfs fd prepare Christian Brauner
2025-12-01 14:15   ` Al Viro
2025-12-01 18:41     ` Sean Christopherson
2025-11-28 16:48 ` [GIT PULL 17/17 for v6.19] vfs fd prepare minimal Christian Brauner
2025-12-02  1:35   ` Linus Torvalds
2025-12-02  9:42     ` Christian Brauner
2025-12-02  3:19   ` pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).