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
This commit is contained in:
Коммит
0afa80ab6f
|
@ -1618,10 +1618,8 @@ static int reiserfs_fill_super(struct super_block *s, void *data, int silent)
|
||||||
save_mount_options(s, data);
|
save_mount_options(s, data);
|
||||||
|
|
||||||
sbi = kzalloc(sizeof(struct reiserfs_sb_info), GFP_KERNEL);
|
sbi = kzalloc(sizeof(struct reiserfs_sb_info), GFP_KERNEL);
|
||||||
if (!sbi) {
|
if (!sbi)
|
||||||
errval = -ENOMEM;
|
return -ENOMEM;
|
||||||
goto error_alloc;
|
|
||||||
}
|
|
||||||
s->s_fs_info = sbi;
|
s->s_fs_info = sbi;
|
||||||
/* Set default values for options: non-aggressive tails, RO on errors */
|
/* Set default values for options: non-aggressive tails, RO on errors */
|
||||||
REISERFS_SB(s)->s_mount_opt |= (1 << REISERFS_SMALLTAIL);
|
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);
|
return (0);
|
||||||
|
|
||||||
error:
|
error:
|
||||||
reiserfs_write_unlock(s);
|
|
||||||
error_alloc:
|
|
||||||
if (jinit_done) { /* kill the commit thread, free journal ram */
|
if (jinit_done) { /* kill the commit thread, free journal ram */
|
||||||
journal_release_error(NULL, s);
|
journal_release_error(NULL, s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
reiserfs_write_unlock(s);
|
||||||
|
|
||||||
reiserfs_free_bitmap_cache(s);
|
reiserfs_free_bitmap_cache(s);
|
||||||
if (SB_BUFFER_WITH_SB(s))
|
if (SB_BUFFER_WITH_SB(s))
|
||||||
brelse(SB_BUFFER_WITH_SB(s));
|
brelse(SB_BUFFER_WITH_SB(s));
|
||||||
|
|
Загрузка…
Ссылка в новой задаче