summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Stultz <johnstul@us.ibm.com>2010-02-25 20:03:00 -0800
committerThomas Gleixner <tglx@linutronix.de>2010-04-27 17:33:01 +0200
commitc76dc638bfdaa5733d1ff6bfdda87721fde340c8 (patch)
tree55f4ddac939fbd873cc68fec0351f2a6d215ffd3
parent9e0b2cfd72583db7ad50e3e73958926fb65e0557 (diff)
downloadlwn-c76dc638bfdaa5733d1ff6bfdda87721fde340c8.tar.gz
lwn-c76dc638bfdaa5733d1ff6bfdda87721fde340c8.zip
Make sure MNT_MOUNTED isn't cleared on remount
Originally found by Anton Blanchard, this patch makes sure we keep the MNT_MOUNTED flag set in do_remount(). Without this scalability suffers pretty badly. Signed-off-by: John Stultz <johnstul@us.ibm.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--fs/namespace.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/namespace.c b/fs/namespace.c
index c1632069b06c..5459a05e8aa5 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -1731,6 +1731,7 @@ static int do_remount(struct path *path, int flags, int mnt_flags,
if (!err) {
vfsmount_write_lock();
mnt_flags |= path->mnt->mnt_flags & MNT_PNODE_MASK;
+ mnt_flags |= path->mnt->mnt_flags & MNT_MOUNTED;
path->mnt->mnt_flags = mnt_flags;
vfsmount_write_unlock();
}