summaryrefslogtreecommitdiff
path: root/fs/namespace.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2013-09-16 22:41:01 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2013-10-24 23:34:56 -0400
commit6339dab869e07a81abd22970696dde6febee094a (patch)
treef2b4796c5b63deaf3abc7b4ed5138035000898a6 /fs/namespace.c
parentaa7a574d0c54cc5a0aceb7357b5097342c0844ee (diff)
downloadlwn-6339dab869e07a81abd22970696dde6febee094a.tar.gz
lwn-6339dab869e07a81abd22970696dde6febee094a.zip
do_remount(): pull touch_mnt_namespace() up
... and don't bother with dropping and regaining vfsmount_lock Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/namespace.c')
-rw-r--r--fs/namespace.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/fs/namespace.c b/fs/namespace.c
index 17ff1470b405..3ee6e59ead55 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -1849,14 +1849,10 @@ static int do_remount(struct path *path, int flags, int mnt_flags,
br_write_lock(&vfsmount_lock);
mnt_flags |= mnt->mnt.mnt_flags & MNT_PROPAGATION_MASK;
mnt->mnt.mnt_flags = mnt_flags;
- br_write_unlock(&vfsmount_lock);
- }
- up_write(&sb->s_umount);
- if (!err) {
- br_write_lock(&vfsmount_lock);
touch_mnt_namespace(mnt->mnt_ns);
br_write_unlock(&vfsmount_lock);
}
+ up_write(&sb->s_umount);
return err;
}