aboutsummaryrefslogtreecommitdiff
path: root/fs/super.c
diff options
context:
space:
mode:
authorBernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>2012-01-23 22:58:13 +0100
committerBernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>2012-01-23 22:58:13 +0100
commit6702493ec2b7b85ad71986f582a3458422c98231 (patch)
tree4cc03c452f6357a4a694165d28cdd5b44d9aefb2 /fs/super.c
parent9fe6206f400646a2322096b56c59891d530e8d51 (diff)
downloadimx53-linaro-based-on-adeneo.tar.gz
Import stock 2.6.35.3linaro-based-on-adeneo
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Diffstat (limited to 'fs/super.c')
-rw-r--r--fs/super.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/super.c b/fs/super.c
index 938119ab8dc..c7765bd38ee 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -305,8 +305,13 @@ retry:
if (s) {
up_write(&s->s_umount);
destroy_super(s);
+ s = NULL;
}
down_write(&old->s_umount);
+ if (unlikely(!(old->s_flags & MS_BORN))) {
+ deactivate_locked_super(old);
+ goto retry;
+ }
return old;
}
}
@@ -909,6 +914,7 @@ vfs_kern_mount(struct file_system_type *type, int flags, const char *name, void
goto out_free_secdata;
BUG_ON(!mnt->mnt_sb);
WARN_ON(!mnt->mnt_sb->s_bdi);
+ mnt->mnt_sb->s_flags |= MS_BORN;
error = security_sb_kern_mount(mnt->mnt_sb, flags, secdata);
if (error)