diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2026-08-17 13:26:40 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-08-17 13:26:40 -0700 |
| commit | c3d6d6dde3a3e11b421839497793da71ad6faa44 (patch) | |
| tree | 0f7777c5204b74fee33e101adf1ef796ce2104c7 | |
| parent | 1c3e8cef79ea5f1415cff0d3c507e2e07b71ade8 (diff) | |
| parent | 083e8742e301a24f0c458696b45b481345888b85 (diff) | |
Merge tag 'vfs-7.3-rc1.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
Pull mount updates from Christian Brauner:
- Make the legacy mount API notify pollers of propagation changes.
Changing propagation via change_mnt_propagation() or with
MOVE_MOUNT_SET_GROUP update the propagation relationship of the
target mount. But unlike mount_setattr() neither path touched the
affected mount namespace. So pollers of /proc/<pid>/mountinfo were
never woken.
- Also remove a redundant panic() in mnt_init()
* tag 'vfs-7.3-rc1.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
mount: remove redundant panic() in mnt_init()
fs/namespace: notify pollers of legacy propagation changes
| -rw-r--r-- | fs/namespace.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/fs/namespace.c b/fs/namespace.c index 426ac9e4eece..3c382c2bdeec 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -2908,6 +2908,9 @@ static int do_change_type(const struct path *path, int ms_flags) for (m = mnt; m; m = (recurse ? next_mnt(m, mnt) : NULL)) change_mnt_propagation(m, type); + guard(mount_locked_reader)(); + touch_mnt_namespace(mnt->mnt_ns); + return 0; } @@ -3481,6 +3484,10 @@ static int do_set_group(const struct path *from_path, const struct path *to_path list_add(&to->mnt_share, &from->mnt_share); set_mnt_shared(to); } + + guard(mount_locked_reader)(); + touch_mnt_namespace(to->mnt_ns); + return 0; } @@ -6263,9 +6270,6 @@ void __init mnt_init(void) HASH_ZERO, &mp_hash_shift, &mp_hash_mask, 0, 0); - if (!mount_hashtable || !mountpoint_hashtable) - panic("Failed to allocate mount hash table\n"); - kernfs_init(); err = sysfs_init(); |
