]> Pileus Git - ~andy/linux/commitdiff
do_remount(): pull touch_mnt_namespace() up
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 17 Sep 2013 02:41:01 +0000 (22:41 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 25 Oct 2013 03:34:56 +0000 (23:34 -0400)
... and don't bother with dropping and regaining vfsmount_lock

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

index 17ff1470b4052d78ed1ed836d6dfaf81155501f2..3ee6e59ead55a9ca2398a30b86f347315532a8b5 100644 (file)
@@ -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;
 }