Skip to content

Commit fd101da

Browse files
committed
Merge tag 'vfs-6.15-rc1.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
Pull vfs mount updates from Christian Brauner: - Mount notifications The day has come where we finally provide a new api to listen for mount topology changes outside of /proc/<pid>/mountinfo. A mount namespace file descriptor can be supplied and registered with fanotify to listen for mount topology changes. Currently notifications for mount, umount and moving mounts are generated. The generated notification record contains the unique mount id of the mount. The listmount() and statmount() api can be used to query detailed information about the mount using the received unique mount id. This allows userspace to figure out exactly how the mount topology changed without having to generating diffs of /proc/<pid>/mountinfo in userspace. - Support O_PATH file descriptors with FSCONFIG_SET_FD in the new mount api - Support detached mounts in overlayfs Since last cycle we support specifying overlayfs layers via file descriptors. However, we don't allow detached mounts which means userspace cannot user file descriptors received via open_tree(OPEN_TREE_CLONE) and fsmount() directly. They have to attach them to a mount namespace via move_mount() first. This is cumbersome and means they have to undo mounts via umount(). Allow them to directly use detached mounts. - Allow to retrieve idmappings with statmount Currently it isn't possible to figure out what idmapping has been attached to an idmapped mount. Add an extension to statmount() which allows to read the idmapping from the mount. - Allow creating idmapped mounts from mounts that are already idmapped So far it isn't possible to allow the creation of idmapped mounts from already idmapped mounts as this has significant lifetime implications. Make the creation of idmapped mounts atomic by allow to pass struct mount_attr together with the open_tree_attr() system call allowing to solve these issues without complicating VFS lookup in any way. The system call has in general the benefit that creating a detached mount and applying mount attributes to it becomes an atomic operation for userspace. - Add a way to query statmount() for supported options Allow userspace to query which mount information can be retrieved through statmount(). - Allow superblock owners to force unmount * tag 'vfs-6.15-rc1.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (21 commits) umount: Allow superblock owners to force umount selftests: add tests for mount notification selinux: add FILE__WATCH_MOUNTNS samples/vfs: fix printf format string for size_t fs: allow changing idmappings fs: add kflags member to struct mount_kattr fs: add open_tree_attr() fs: add copy_mount_setattr() helper fs: add vfs_open_tree() helper statmount: add a new supported_mask field samples/vfs: add STATMOUNT_MNT_{G,U}IDMAP selftests: add tests for using detached mount with overlayfs samples/vfs: check whether flag was raised statmount: allow to retrieve idmappings uidgid: add map_id_range_up() fs: allow detached mounts in clone_private_mount() selftests/overlayfs: test specifying layers as O_PATH file descriptors fs: support O_PATH fds with FSCONFIG_SET_FD vfs: add notifications for mount attach and detach fanotify: notify on mount attach and detach ...
2 parents a79a09a + e1ff7aa commit fd101da

52 files changed

Lines changed: 1567 additions & 175 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

arch/alpha/kernel/syscalls/syscall.tbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -506,3 +506,4 @@
506506
574 common getxattrat sys_getxattrat
507507
575 common listxattrat sys_listxattrat
508508
576 common removexattrat sys_removexattrat
509+
577 common open_tree_attr sys_open_tree_attr

arch/arm/tools/syscall.tbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -481,3 +481,4 @@
481481
464 common getxattrat sys_getxattrat
482482
465 common listxattrat sys_listxattrat
483483
466 common removexattrat sys_removexattrat
484+
467 common open_tree_attr sys_open_tree_attr

arch/arm64/tools/syscall_32.tbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -478,3 +478,4 @@
478478
464 common getxattrat sys_getxattrat
479479
465 common listxattrat sys_listxattrat
480480
466 common removexattrat sys_removexattrat
481+
467 common open_tree_attr sys_open_tree_attr

arch/m68k/kernel/syscalls/syscall.tbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -466,3 +466,4 @@
466466
464 common getxattrat sys_getxattrat
467467
465 common listxattrat sys_listxattrat
468468
466 common removexattrat sys_removexattrat
469+
467 common open_tree_attr sys_open_tree_attr

arch/microblaze/kernel/syscalls/syscall.tbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -472,3 +472,4 @@
472472
464 common getxattrat sys_getxattrat
473473
465 common listxattrat sys_listxattrat
474474
466 common removexattrat sys_removexattrat
475+
467 common open_tree_attr sys_open_tree_attr

arch/mips/kernel/syscalls/syscall_n32.tbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -405,3 +405,4 @@
405405
464 n32 getxattrat sys_getxattrat
406406
465 n32 listxattrat sys_listxattrat
407407
466 n32 removexattrat sys_removexattrat
408+
467 n32 open_tree_attr sys_open_tree_attr

arch/mips/kernel/syscalls/syscall_n64.tbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,3 +381,4 @@
381381
464 n64 getxattrat sys_getxattrat
382382
465 n64 listxattrat sys_listxattrat
383383
466 n64 removexattrat sys_removexattrat
384+
467 n64 open_tree_attr sys_open_tree_attr

arch/mips/kernel/syscalls/syscall_o32.tbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,3 +454,4 @@
454454
464 o32 getxattrat sys_getxattrat
455455
465 o32 listxattrat sys_listxattrat
456456
466 o32 removexattrat sys_removexattrat
457+
467 o32 open_tree_attr sys_open_tree_attr

arch/parisc/kernel/syscalls/syscall.tbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -465,3 +465,4 @@
465465
464 common getxattrat sys_getxattrat
466466
465 common listxattrat sys_listxattrat
467467
466 common removexattrat sys_removexattrat
468+
467 common open_tree_attr sys_open_tree_attr

arch/powerpc/kernel/syscalls/syscall.tbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -557,3 +557,4 @@
557557
464 common getxattrat sys_getxattrat
558558
465 common listxattrat sys_listxattrat
559559
466 common removexattrat sys_removexattrat
560+
467 common open_tree_attr sys_open_tree_attr

0 commit comments

Comments
 (0)