Commit d498b25a authored by Al Viro's avatar Al Viro

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: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 47cd813f
...@@ -2344,17 +2344,13 @@ void __init mnt_init(void) ...@@ -2344,17 +2344,13 @@ void __init mnt_init(void)
void put_mnt_ns(struct mnt_namespace *ns) void put_mnt_ns(struct mnt_namespace *ns)
{ {
struct vfsmount *root;
LIST_HEAD(umount_list); LIST_HEAD(umount_list);
if (!atomic_dec_and_lock(&ns->count, &vfsmount_lock)) if (!atomic_dec_and_test(&ns->count))
return; return;
root = ns->root;
ns->root = NULL;
spin_unlock(&vfsmount_lock);
down_write(&namespace_sem); down_write(&namespace_sem);
spin_lock(&vfsmount_lock); spin_lock(&vfsmount_lock);
umount_tree(root, 0, &umount_list); umount_tree(ns->root, 0, &umount_list);
spin_unlock(&vfsmount_lock); spin_unlock(&vfsmount_lock);
up_write(&namespace_sem); up_write(&namespace_sem);
release_mounts(&umount_list); release_mounts(&umount_list);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment