mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
get rid of useless vfsmount_lock use in put_mnt_ns()
It hadn't been needed since we'd sanitized the logics in mark_mounts_for_expiry() (which, in turn, used to be a rudiment of bad old times when namespace_sem was per-ns). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
47cd813f29
commit
d498b25a4f
@ -2344,17 +2344,13 @@ void __init mnt_init(void)
|
||||
|
||||
void put_mnt_ns(struct mnt_namespace *ns)
|
||||
{
|
||||
struct vfsmount *root;
|
||||
LIST_HEAD(umount_list);
|
||||
|
||||
if (!atomic_dec_and_lock(&ns->count, &vfsmount_lock))
|
||||
if (!atomic_dec_and_test(&ns->count))
|
||||
return;
|
||||
root = ns->root;
|
||||
ns->root = NULL;
|
||||
spin_unlock(&vfsmount_lock);
|
||||
down_write(&namespace_sem);
|
||||
spin_lock(&vfsmount_lock);
|
||||
umount_tree(root, 0, &umount_list);
|
||||
umount_tree(ns->root, 0, &umount_list);
|
||||
spin_unlock(&vfsmount_lock);
|
||||
up_write(&namespace_sem);
|
||||
release_mounts(&umount_list);
|
||||
|
Loading…
Reference in New Issue
Block a user