diff options
author | Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org> | 2012-01-23 22:58:13 +0100 |
---|---|---|
committer | Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org> | 2012-01-23 22:58:13 +0100 |
commit | 6702493ec2b7b85ad71986f582a3458422c98231 (patch) | |
tree | 4cc03c452f6357a4a694165d28cdd5b44d9aefb2 /fs/super.c | |
parent | 9fe6206f400646a2322096b56c59891d530e8d51 (diff) | |
download | imx53-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.c | 6 |
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) |