diff options
Diffstat (limited to 'fs/reiserfs/super.c')
-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 d8fd90d83ab3..59125fb36d42 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c | |||
@@ -1619,10 +1619,8 @@ static int reiserfs_fill_super(struct super_block *s, void *data, int silent) | |||
1619 | save_mount_options(s, data); | 1619 | save_mount_options(s, data); |
1620 | 1620 | ||
1621 | sbi = kzalloc(sizeof(struct reiserfs_sb_info), GFP_KERNEL); | 1621 | sbi = kzalloc(sizeof(struct reiserfs_sb_info), GFP_KERNEL); |
1622 | if (!sbi) { | 1622 | if (!sbi) |
1623 | errval = -ENOMEM; | 1623 | return -ENOMEM; |
1624 | goto error_alloc; | ||
1625 | } | ||
1626 | s->s_fs_info = sbi; | 1624 | s->s_fs_info = sbi; |
1627 | /* Set default values for options: non-aggressive tails, RO on errors */ | 1625 | /* Set default values for options: non-aggressive tails, RO on errors */ |
1628 | REISERFS_SB(s)->s_mount_opt |= (1 << REISERFS_SMALLTAIL); | 1626 | REISERFS_SB(s)->s_mount_opt |= (1 << REISERFS_SMALLTAIL); |
@@ -1879,12 +1877,12 @@ static int reiserfs_fill_super(struct super_block *s, void *data, int silent) | |||
1879 | return (0); | 1877 | return (0); |
1880 | 1878 | ||
1881 | error: | 1879 | error: |
1882 | reiserfs_write_unlock(s); | ||
1883 | error_alloc: | ||
1884 | if (jinit_done) { /* kill the commit thread, free journal ram */ | 1880 | if (jinit_done) { /* kill the commit thread, free journal ram */ |
1885 | journal_release_error(NULL, s); | 1881 | journal_release_error(NULL, s); |
1886 | } | 1882 | } |
1887 | 1883 | ||
1884 | reiserfs_write_unlock(s); | ||
1885 | |||
1888 | reiserfs_free_bitmap_cache(s); | 1886 | reiserfs_free_bitmap_cache(s); |
1889 | if (SB_BUFFER_WITH_SB(s)) | 1887 | if (SB_BUFFER_WITH_SB(s)) |
1890 | brelse(SB_BUFFER_WITH_SB(s)); | 1888 | brelse(SB_BUFFER_WITH_SB(s)); |