Hey Linus, /* Summary */ Make overlayfs support specifying layers through file descriptors. Currently overlayfs only allows specifying layers through path names. This is inconvenient for users that want to assemble an overlayfs mount purely based on file descriptors: This enables user to specify both: fsconfig(fd_overlay, FSCONFIG_SET_FD, "upperdir+", NULL, fd_upper); fsconfig(fd_overlay, FSCONFIG_SET_FD, "workdir+", NULL, fd_work); fsconfig(fd_overlay, FSCONFIG_SET_FD, "lowerdir+", NULL, fd_lower1); fsconfig(fd_overlay, FSCONFIG_SET_FD, "lowerdir+", NULL, fd_lower2); in addition to: fsconfig(fd_overlay, FSCONFIG_SET_STRING, "upperdir+", "/upper", 0); fsconfig(fd_overlay, FSCONFIG_SET_STRING, "workdir+", "/work", 0); fsconfig(fd_overlay, FSCONFIG_SET_STRING, "lowerdir+", "/lower1", 0); fsconfig(fd_overlay, FSCONFIG_SET_STRING, "lowerdir+", "/lower2", 0); There's also a large set of new overlayfs selftests to test new features and some older properties. /* 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.ovl for you to fetch changes up to d59dfd625a8bae3bfc527dd61f24750c4f87266c: selftests: add test for specifying 500 lower layers (2024-10-15 14:39:35 +0200) Please consider pulling these changes from the signed vfs-6.13.ovl tag. Thanks! Christian ---------------------------------------------------------------- vfs-6.13.ovl ---------------------------------------------------------------- Christian Brauner (7): fs: add helper to use mount option as path or fd ovl: specify layers via file descriptors Documentation,ovl: document new file descriptor based layers selftests: use shared header selftests: add overlayfs fd mounting selftests Merge patch series "ovl: file descriptors based layer setup" selftests: add test for specifying 500 lower layers Documentation/filesystems/overlayfs.rst | 17 ++ fs/fs_parser.c | 20 ++ fs/overlayfs/params.c | 116 ++++++++--- include/linux/fs_parser.h | 5 +- .../selftests/filesystems/overlayfs/.gitignore | 1 + .../selftests/filesystems/overlayfs/Makefile | 2 +- .../selftests/filesystems/overlayfs/dev_in_maps.c | 27 +-- .../filesystems/overlayfs/set_layers_via_fds.c | 217 +++++++++++++++++++++ .../selftests/filesystems/overlayfs/wrappers.h | 47 +++++ 9 files changed, 399 insertions(+), 53 deletions(-) create mode 100644 tools/testing/selftests/filesystems/overlayfs/set_layers_via_fds.c create mode 100644 tools/testing/selftests/filesystems/overlayfs/wrappers.h