diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-09-16 22:41:01 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-10-24 23:34:56 -0400 |
commit | 6339dab869e07a81abd22970696dde6febee094a (patch) | |
tree | f2b4796c5b63deaf3abc7b4ed5138035000898a6 /fs/namespace.c | |
parent | aa7a574d0c54cc5a0aceb7357b5097342c0844ee (diff) |
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.c | 6 |
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, | |||
1849 | br_write_lock(&vfsmount_lock); | 1849 | br_write_lock(&vfsmount_lock); |
1850 | mnt_flags |= mnt->mnt.mnt_flags & MNT_PROPAGATION_MASK; | 1850 | mnt_flags |= mnt->mnt.mnt_flags & MNT_PROPAGATION_MASK; |
1851 | mnt->mnt.mnt_flags = mnt_flags; | 1851 | mnt->mnt.mnt_flags = mnt_flags; |
1852 | br_write_unlock(&vfsmount_lock); | ||
1853 | } | ||
1854 | up_write(&sb->s_umount); | ||
1855 | if (!err) { | ||
1856 | br_write_lock(&vfsmount_lock); | ||
1857 | touch_mnt_namespace(mnt->mnt_ns); | 1852 | touch_mnt_namespace(mnt->mnt_ns); |
1858 | br_write_unlock(&vfsmount_lock); | 1853 | br_write_unlock(&vfsmount_lock); |
1859 | } | 1854 | } |
1855 | up_write(&sb->s_umount); | ||
1860 | return err; | 1856 | return err; |
1861 | } | 1857 | } |
1862 | 1858 | ||