Пример #1
0
static void clean_main(struct sb *sb, struct inode *inode)
{
    log_finish(sb);
    log_finish_cycle(sb, 1);
    free_map(inode->map);
    destroy_defer_bfree(&sb->derollup);
    destroy_defer_bfree(&sb->defree);
    tux3_clear_dirty_inode(sb->logmap);
    invalidate_buffers(sb->volmap->map);
    tux3_clear_dirty_inode(sb->volmap);
    put_super(sb);
    tux3_exit_mem();
}
Пример #2
0
static void tux3_put_super(struct super_block *sb)
{
	struct sb *sbi = tux_sb(sb);

	/* FIXME: remove this, then use sb->s_dirt instead */
	tux3_write_super(sb);

	destroy_defer_bfree(&sbi->new_decycle);
	destroy_defer_bfree(&sbi->decycle);
	destroy_defer_bfree(&sbi->derollup);
	destroy_defer_bfree(&sbi->defree);
	iput(sbi->atable);
	iput(sbi->bitmap);
	iput(sbi->volmap);
	iput(sbi->logmap);

	BUG_ON(!list_empty(&sbi->alloc_inodes));
	sb->s_fs_info = NULL;
	kfree(sbi);
}