/****************************************************************************** * * 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; }
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); }