]> Gentwo Git Trees - linux/.git/commit
switch do_new_mount_fc() to fc_mount()
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 26 Aug 2025 17:57:42 +0000 (13:57 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 2 Sep 2025 23:35:58 +0000 (19:35 -0400)
commit5423426a79dd4d4422750b063febed40f362afcc
tree8ce1660de9cdb5bc816f81b3681218d9386cf3d9
parent8281f98a68d3306b2e47e6bb00708525562ccfdf
switch do_new_mount_fc() to fc_mount()

Prior to the call of do_new_mount_fc() the caller has just done successful
vfs_get_tree().  Then do_new_mount_fc() does several checks on resulting
superblock, and either does fc_drop_locked() and returns an error or
proceeds to unlock the superblock and call vfs_create_mount().

The thing is, there's no reason to delay that unlock + vfs_create_mount() -
the tests do not rely upon the state of ->s_umount and
fc_drop_locked()
put_fs_context()
is equivalent to
unlock ->s_umount
put_fs_context()

Doing vfs_create_mount() before the checks allows us to move vfs_get_tree()
from caller to do_new_mount_fc() and collapse it with vfs_create_mount()
into an fc_mount() call.

Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/namespace.c