diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-04-02 19:48:54 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-04-02 19:48:54 -0700 |
commit | 0afa80ab6ff9aac57f118463699cee306ad6ed8a (patch) | |
tree | c5002a93cf59827fb5f8506ff91a77cb826d90ae | |
parent | 5193d7a7f500cfbbfc0de221e808208199723521 (diff) | |
parent | b7b7fa43103a9fb30dbcc60cbd5161fdfc25f904 (diff) | |
download | blackbird-op-linux-0afa80ab6ff9aac57f118463699cee306ad6ed8a.tar.gz blackbird-op-linux-0afa80ab6ff9aac57f118463699cee306ad6ed8a.zip |
Merge branch 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing
* 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:
reiserfs: Fix locking BUG during mount failure
-rw-r--r-- | fs/reiserfs/super.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index 04bf5d791bda..ab190511bc18 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c @@ -1618,10 +1618,8 @@ static int reiserfs_fill_super(struct super_block *s, void *data, int silent) save_mount_options(s, data); sbi = kzalloc(sizeof(struct reiserfs_sb_info), GFP_KERNEL); - if (!sbi) { - errval = -ENOMEM; - goto error_alloc; - } + if (!sbi) + return -ENOMEM; s->s_fs_info = sbi; /* Set default values for options: non-aggressive tails, RO on errors */ REISERFS_SB(s)->s_mount_opt |= (1 << REISERFS_SMALLTAIL); @@ -1878,12 +1876,12 @@ static int reiserfs_fill_super(struct super_block *s, void *data, int silent) return (0); error: - reiserfs_write_unlock(s); -error_alloc: if (jinit_done) { /* kill the commit thread, free journal ram */ journal_release_error(NULL, s); } + reiserfs_write_unlock(s); + reiserfs_free_bitmap_cache(s); if (SB_BUFFER_WITH_SB(s)) brelse(SB_BUFFER_WITH_SB(s)); |