nilfs2: allow nilfs_destroy_inode to destroy metadata file inodes
The current nilfs_destroy_inode() doesn't handle metadata file inodes including gc inodes (dummy inodes used for garbage collection). This allows nilfs_destroy_inode() to destroy inodes of metadata files. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
This commit is contained in:
@@ -577,7 +577,5 @@ void nilfs_mdt_destroy(struct inode *inode)
|
|||||||
nilfs_palloc_destroy_cache(inode);
|
nilfs_palloc_destroy_cache(inode);
|
||||||
nilfs_mdt_clear(inode);
|
nilfs_mdt_clear(inode);
|
||||||
|
|
||||||
kfree(mdi->mi_bgl); /* kfree(NULL) is safe */
|
|
||||||
kfree(mdi);
|
|
||||||
nilfs_destroy_inode(inode);
|
nilfs_destroy_inode(inode);
|
||||||
}
|
}
|
||||||
|
@@ -167,6 +167,12 @@ struct inode *nilfs_alloc_inode(struct super_block *sb)
|
|||||||
|
|
||||||
void nilfs_destroy_inode(struct inode *inode)
|
void nilfs_destroy_inode(struct inode *inode)
|
||||||
{
|
{
|
||||||
|
struct nilfs_mdt_info *mdi = NILFS_MDT(inode);
|
||||||
|
|
||||||
|
if (mdi) {
|
||||||
|
kfree(mdi->mi_bgl); /* kfree(NULL) is safe */
|
||||||
|
kfree(mdi);
|
||||||
|
}
|
||||||
kmem_cache_free(nilfs_inode_cachep, NILFS_I(inode));
|
kmem_cache_free(nilfs_inode_cachep, NILFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user