Esempio n. 1
0
/******************************************************************************
 *
 * axfs_put_super
 *
 * Description:
 *      After testing various mounting options and media mounts the image
 *
 * Parameters:
 *    (IN) sb - pointer to the super block
 *
 * Returns:
 *    none
 *
 *****************************************************************************/
static void axfs_put_super(struct super_block *sb)
{
	struct axfs_super_incore *sbi = AXFS_SB(sb);

#ifdef CONFIG_AXFS_PROFILING
	shutdown_axfs_profiling(sbi);
#endif

	vfree(sbi->metadata);

    axfs_free_region(sbi,&sbi->strings);
    axfs_free_region(sbi,&sbi->xip);
    axfs_free_region(sbi,&sbi->compressed);
    axfs_free_region(sbi,&sbi->byte_aligned);
    axfs_free_region(sbi,&sbi->node_type);
    axfs_free_region(sbi,&sbi->node_index);
    axfs_free_region(sbi,&sbi->cnode_offset);
    axfs_free_region(sbi,&sbi->cnode_index);
    axfs_free_region(sbi,&sbi->banode_offset);
    axfs_free_region(sbi,&sbi->cblock_offset);
    axfs_free_region(sbi,&sbi->inode_file_size);
    axfs_free_region(sbi,&sbi->inode_name_offset);
    axfs_free_region(sbi,&sbi->inode_num_entries);
    axfs_free_region(sbi,&sbi->inode_mode_index);
    axfs_free_region(sbi,&sbi->inode_array_index);
    axfs_free_region(sbi,&sbi->modes);
    axfs_free_region(sbi,&sbi->uids);
    axfs_free_region(sbi,&sbi->gids);

	vfree(sbi->cblock_buffer[0]);
	vfree(sbi->cblock_buffer[1]);

	vfree(sbi);
	sbi = NULL;
}
Esempio n. 2
0
static void axfs_put_sbi(struct axfs_super *sbi)
{
    if (!sbi)
        return;

    axfs_shutdown_profiling(sbi);

    axfs_free_region(sbi, &sbi->strings);
    axfs_free_region(sbi, &sbi->xip);
    axfs_free_region(sbi, &sbi->compressed);
    axfs_free_region(sbi, &sbi->byte_aligned);
    axfs_free_region(sbi, &sbi->node_type);
    axfs_free_region(sbi, &sbi->node_index);
    axfs_free_region(sbi, &sbi->cnode_offset);
    axfs_free_region(sbi, &sbi->cnode_index);
    axfs_free_region(sbi, &sbi->banode_offset);
    axfs_free_region(sbi, &sbi->cblock_offset);
    axfs_free_region(sbi, &sbi->inode_file_size);
    axfs_free_region(sbi, &sbi->inode_name_offset);
    axfs_free_region(sbi, &sbi->inode_num_entries);
    axfs_free_region(sbi, &sbi->inode_mode_index);
    axfs_free_region(sbi, &sbi->inode_array_index);
    axfs_free_region(sbi, &sbi->modes);
    axfs_free_region(sbi, &sbi->uids);
    axfs_free_region(sbi, &sbi->gids);

    kfree(sbi->second_dev);
    vfree(sbi->cblock_buffer[0]);
    vfree(sbi->cblock_buffer[1]);
    kfree(sbi);
}