diff --git a/init_super.c b/init_super.c index fb37605..f45e42d 100644 --- a/init_super.c +++ b/init_super.c @@ -47,14 +47,10 @@ int reiser4_init_fs_info(struct super_block *super) void reiser4_done_fs_info(struct super_block *super) { assert("zam-990", super->s_fs_info != NULL); - - /* release per-super-block d_cursor resources */ + /* + * release per-super-block d_cursor resources + */ reiser4_done_super_d_info(super); - - /* make sure that there are not jnodes already */ - assert("", list_empty(&get_super_private(super)->all_jnodes)); - assert("", get_current_context()->trans->atom == NULL); - reiser4_check_block_counters(super); kfree(super->s_fs_info); super->s_fs_info = NULL; } diff --git a/page_cache.c b/page_cache.c index 099c00a..c566bf9 100644 --- a/page_cache.c +++ b/page_cache.c @@ -282,19 +282,16 @@ void reiser4_done_formatted_fake(struct super_block *super) sinfo = get_super_private_nocheck(super); if (sinfo->fake != NULL) { - inode_detach_wb(sinfo->fake); iput(sinfo->fake); sinfo->fake = NULL; } if (sinfo->bitmap != NULL) { - inode_detach_wb(sinfo->bitmap); iput(sinfo->bitmap); sinfo->bitmap = NULL; } if (sinfo->cc != NULL) { - inode_detach_wb(sinfo->cc); iput(sinfo->cc); sinfo->cc = NULL; } diff --git a/super_ops.c b/super_ops.c index 697580c..2222e86 100644 --- a/super_ops.c +++ b/super_ops.c @@ -257,8 +257,12 @@ static void reiser4_put_super(struct super_block *super) reiser4_done_ktxnmgrd(super); reiser4_done_txnmgr(&sbinfo->tmgr); - reiser4_done_fs_info(super); + assert("edward-1890", list_empty(&get_super_private(super)->all_jnodes)); + assert("edward-1891", get_current_context()->trans->atom == NULL); + reiser4_check_block_counters(super); + reiser4_exit_context(ctx); + reiser4_done_fs_info(super); } /**