mbox series

[GIT,PULL] vfs overlayfs

Message ID 20241115-vfs-ovl-7166080bd558@brauner (mailing list archive)
State New
Headers show
Series [GIT,PULL] vfs overlayfs | expand

Pull-request

git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.13.ovl

Message

Christian Brauner Nov. 15, 2024, 2:03 p.m. UTC
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@gitolite.kernel.org: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