[GIT PULL] vfs exportfs

From: Christian Brauner
Date: Tue Nov 26 2024 - 06:19:52 EST


Hey Linus,

/* Summary */
This contains work to bring NFS connectable file handles to userspace
servers.

The name_to_handle_at() system call is extended to encode connectable
file handles. Such file handles can be resolved to an open file with a
connected path. So far userspace NFS servers couldn't make use of this
functionality even though the kernel does already support it. This is
achieved by introducing a new flag for name_to_handle_at().

Similarly, the open_by_handle_at() system call is tought to understand
connectable file handles explicitly created via name_to_handle_at().

/* Testing */

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

All patches are based on v6.12-rc3 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 8e929cb546ee42c9a61d24fae60605e9e3192354:

Linux 6.12-rc3 (2024-10-13 14:33:32 -0700)

are available in the Git repository at:

git@xxxxxxxxxxxxxxxxxxx:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.13.exportfs

for you to fetch changes up to a312c10c0186b3fa6e6f9d4ca696913372804fae:

Merge patch series "API for exporting connectable file handles to userspace" (2024-11-15 11:35:16 +0100)

----------------------------------------------------------------
vfs-6.13.exportfs

----------------------------------------------------------------
Amir Goldstein (3):
fs: prepare for "explicit connectable" file handles
fs: name_to_handle_at() support for "explicit connectable" file handles
fs: open_by_handle_at() support for decoding "explicit connectable" file handles

Christian Brauner (1):
Merge patch series "API for exporting connectable file handles to userspace"

fs/exportfs/expfs.c | 17 +++++++++--
fs/fhandle.c | 75 ++++++++++++++++++++++++++++++++++++++++++----
include/linux/exportfs.h | 13 ++++++++
include/uapi/linux/fcntl.h | 1 +
4 files changed, 98 insertions(+), 8 deletions(-)