diff options
Diffstat (limited to 'fs/reiserfs/super.c')
| -rw-r--r-- | fs/reiserfs/super.c | 11 | 
1 files changed, 5 insertions, 6 deletions
diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index 04bf5d791bd..59125fb36d4 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c @@ -12,6 +12,7 @@   */  #include <linux/module.h> +#include <linux/slab.h>  #include <linux/vmalloc.h>  #include <linux/time.h>  #include <asm/uaccess.h> @@ -1618,10 +1619,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 +1877,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));  |