vfs: fix the stupidity with i_dentry in inode destructors
Seeing that just about every destructor got that INIT_LIST_HEAD() copied into it, there is no point whatsoever keeping this INIT_LIST_HEAD in inode_init_once(); the cost of taking it into inode_init_always() will be negligible for pipes and sockets and negative for everything else. Not to mention the removal of boilerplate code from ->destroy_inode() instances... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
2a79f17e4a
commit
6b520e0565
|
@ -74,7 +74,6 @@ spufs_alloc_inode(struct super_block *sb)
|
||||||
static void spufs_i_callback(struct rcu_head *head)
|
static void spufs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(spufs_inode_cache, SPUFS_I(inode));
|
kmem_cache_free(spufs_inode_cache, SPUFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -830,7 +830,6 @@ const struct address_space_operations pohmelfs_aops = {
|
||||||
static void pohmelfs_i_callback(struct rcu_head *head)
|
static void pohmelfs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(pohmelfs_inode_cache, POHMELFS_I(inode));
|
kmem_cache_free(pohmelfs_inode_cache, POHMELFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -251,7 +251,6 @@ struct inode *v9fs_alloc_inode(struct super_block *sb)
|
||||||
static void v9fs_i_callback(struct rcu_head *head)
|
static void v9fs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(v9fs_inode_cache, V9FS_I(inode));
|
kmem_cache_free(v9fs_inode_cache, V9FS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -98,7 +98,6 @@ static struct inode *affs_alloc_inode(struct super_block *sb)
|
||||||
static void affs_i_callback(struct rcu_head *head)
|
static void affs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(affs_inode_cachep, AFFS_I(inode));
|
kmem_cache_free(affs_inode_cachep, AFFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -495,7 +495,6 @@ static void afs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
struct afs_vnode *vnode = AFS_FS_I(inode);
|
struct afs_vnode *vnode = AFS_FS_I(inode);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(afs_inode_cachep, vnode);
|
kmem_cache_free(afs_inode_cachep, vnode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -286,7 +286,6 @@ befs_alloc_inode(struct super_block *sb)
|
||||||
static void befs_i_callback(struct rcu_head *head)
|
static void befs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(befs_inode_cachep, BEFS_I(inode));
|
kmem_cache_free(befs_inode_cachep, BEFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -251,7 +251,6 @@ static struct inode *bfs_alloc_inode(struct super_block *sb)
|
||||||
static void bfs_i_callback(struct rcu_head *head)
|
static void bfs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(bfs_inode_cachep, BFS_I(inode));
|
kmem_cache_free(bfs_inode_cachep, BFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -425,7 +425,6 @@ static void bdev_i_callback(struct rcu_head *head)
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
struct bdev_inode *bdi = BDEV_I(inode);
|
struct bdev_inode *bdi = BDEV_I(inode);
|
||||||
|
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(bdev_cachep, bdi);
|
kmem_cache_free(bdev_cachep, bdi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6761,7 +6761,6 @@ struct inode *btrfs_alloc_inode(struct super_block *sb)
|
||||||
static void btrfs_i_callback(struct rcu_head *head)
|
static void btrfs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(btrfs_inode_cachep, BTRFS_I(inode));
|
kmem_cache_free(btrfs_inode_cachep, BTRFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -384,7 +384,6 @@ static void ceph_i_callback(struct rcu_head *head)
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
struct ceph_inode_info *ci = ceph_inode(inode);
|
struct ceph_inode_info *ci = ceph_inode(inode);
|
||||||
|
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(ceph_inode_cachep, ci);
|
kmem_cache_free(ceph_inode_cachep, ci);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -58,7 +58,6 @@ static struct inode *coda_alloc_inode(struct super_block *sb)
|
||||||
static void coda_i_callback(struct rcu_head *head)
|
static void coda_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(coda_inode_cachep, ITOC(inode));
|
kmem_cache_free(coda_inode_cachep, ITOC(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,6 @@ static void ecryptfs_i_callback(struct rcu_head *head)
|
||||||
struct ecryptfs_inode_info *inode_info;
|
struct ecryptfs_inode_info *inode_info;
|
||||||
inode_info = ecryptfs_inode_to_private(inode);
|
inode_info = ecryptfs_inode_to_private(inode);
|
||||||
|
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(ecryptfs_inode_info_cache, inode_info);
|
kmem_cache_free(ecryptfs_inode_info_cache, inode_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -68,7 +68,6 @@ static struct inode *efs_alloc_inode(struct super_block *sb)
|
||||||
static void efs_i_callback(struct rcu_head *head)
|
static void efs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(efs_inode_cachep, INODE_INFO(inode));
|
kmem_cache_free(efs_inode_cachep, INODE_INFO(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -166,7 +166,6 @@ static struct inode *exofs_alloc_inode(struct super_block *sb)
|
||||||
static void exofs_i_callback(struct rcu_head *head)
|
static void exofs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(exofs_inode_cachep, exofs_i(inode));
|
kmem_cache_free(exofs_inode_cachep, exofs_i(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -173,7 +173,6 @@ static struct inode *ext2_alloc_inode(struct super_block *sb)
|
||||||
static void ext2_i_callback(struct rcu_head *head)
|
static void ext2_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(ext2_inode_cachep, EXT2_I(inode));
|
kmem_cache_free(ext2_inode_cachep, EXT2_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -511,7 +511,6 @@ static int ext3_drop_inode(struct inode *inode)
|
||||||
static void ext3_i_callback(struct rcu_head *head)
|
static void ext3_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(ext3_inode_cachep, EXT3_I(inode));
|
kmem_cache_free(ext3_inode_cachep, EXT3_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -930,7 +930,6 @@ static int ext4_drop_inode(struct inode *inode)
|
||||||
static void ext4_i_callback(struct rcu_head *head)
|
static void ext4_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(ext4_inode_cachep, EXT4_I(inode));
|
kmem_cache_free(ext4_inode_cachep, EXT4_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -518,7 +518,6 @@ static struct inode *fat_alloc_inode(struct super_block *sb)
|
||||||
static void fat_i_callback(struct rcu_head *head)
|
static void fat_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(fat_inode_cachep, MSDOS_I(inode));
|
kmem_cache_free(fat_inode_cachep, MSDOS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -340,7 +340,6 @@ vxfs_iget(struct super_block *sbp, ino_t ino)
|
||||||
static void vxfs_i_callback(struct rcu_head *head)
|
static void vxfs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(vxfs_inode_cachep, inode->i_private);
|
kmem_cache_free(vxfs_inode_cachep, inode->i_private);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -107,7 +107,6 @@ static struct inode *fuse_alloc_inode(struct super_block *sb)
|
||||||
static void fuse_i_callback(struct rcu_head *head)
|
static void fuse_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(fuse_inode_cachep, inode);
|
kmem_cache_free(fuse_inode_cachep, inode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1582,7 +1582,6 @@ static struct inode *gfs2_alloc_inode(struct super_block *sb)
|
||||||
static void gfs2_i_callback(struct rcu_head *head)
|
static void gfs2_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(gfs2_inode_cachep, inode);
|
kmem_cache_free(gfs2_inode_cachep, inode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -170,7 +170,6 @@ static struct inode *hfs_alloc_inode(struct super_block *sb)
|
||||||
static void hfs_i_callback(struct rcu_head *head)
|
static void hfs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(hfs_inode_cachep, HFS_I(inode));
|
kmem_cache_free(hfs_inode_cachep, HFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -558,7 +558,6 @@ static void hfsplus_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
|
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(hfsplus_inode_cachep, HFSPLUS_I(inode));
|
kmem_cache_free(hfsplus_inode_cachep, HFSPLUS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -250,7 +250,6 @@ static void hostfs_evict_inode(struct inode *inode)
|
||||||
static void hostfs_i_callback(struct rcu_head *head)
|
static void hostfs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kfree(HOSTFS_I(inode));
|
kfree(HOSTFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -181,7 +181,6 @@ static struct inode *hpfs_alloc_inode(struct super_block *sb)
|
||||||
static void hpfs_i_callback(struct rcu_head *head)
|
static void hpfs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(hpfs_inode_cachep, hpfs_i(inode));
|
kmem_cache_free(hpfs_inode_cachep, hpfs_i(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -622,7 +622,6 @@ void hppfs_evict_inode(struct inode *ino)
|
||||||
static void hppfs_i_callback(struct rcu_head *head)
|
static void hppfs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kfree(HPPFS_I(inode));
|
kfree(HPPFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -666,7 +666,6 @@ static struct inode *hugetlbfs_alloc_inode(struct super_block *sb)
|
||||||
static void hugetlbfs_i_callback(struct rcu_head *head)
|
static void hugetlbfs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(hugetlbfs_inode_cachep, HUGETLBFS_I(inode));
|
kmem_cache_free(hugetlbfs_inode_cachep, HUGETLBFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -191,6 +191,7 @@ int inode_init_always(struct super_block *sb, struct inode *inode)
|
||||||
}
|
}
|
||||||
inode->i_private = NULL;
|
inode->i_private = NULL;
|
||||||
inode->i_mapping = mapping;
|
inode->i_mapping = mapping;
|
||||||
|
INIT_LIST_HEAD(&inode->i_dentry); /* buggered by rcu freeing */
|
||||||
#ifdef CONFIG_FS_POSIX_ACL
|
#ifdef CONFIG_FS_POSIX_ACL
|
||||||
inode->i_acl = inode->i_default_acl = ACL_NOT_CACHED;
|
inode->i_acl = inode->i_default_acl = ACL_NOT_CACHED;
|
||||||
#endif
|
#endif
|
||||||
|
@ -254,7 +255,6 @@ EXPORT_SYMBOL(__destroy_inode);
|
||||||
static void i_callback(struct rcu_head *head)
|
static void i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(inode_cachep, inode);
|
kmem_cache_free(inode_cachep, inode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -290,7 +290,6 @@ void inode_init_once(struct inode *inode)
|
||||||
{
|
{
|
||||||
memset(inode, 0, sizeof(*inode));
|
memset(inode, 0, sizeof(*inode));
|
||||||
INIT_HLIST_NODE(&inode->i_hash);
|
INIT_HLIST_NODE(&inode->i_hash);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
INIT_LIST_HEAD(&inode->i_devices);
|
INIT_LIST_HEAD(&inode->i_devices);
|
||||||
INIT_LIST_HEAD(&inode->i_wb_list);
|
INIT_LIST_HEAD(&inode->i_wb_list);
|
||||||
INIT_LIST_HEAD(&inode->i_lru);
|
INIT_LIST_HEAD(&inode->i_lru);
|
||||||
|
|
|
@ -85,7 +85,6 @@ static struct inode *isofs_alloc_inode(struct super_block *sb)
|
||||||
static void isofs_i_callback(struct rcu_head *head)
|
static void isofs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(isofs_inode_cachep, ISOFS_I(inode));
|
kmem_cache_free(isofs_inode_cachep, ISOFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,6 @@ static struct inode *jffs2_alloc_inode(struct super_block *sb)
|
||||||
static void jffs2_i_callback(struct rcu_head *head)
|
static void jffs2_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(jffs2_inode_cachep, JFFS2_INODE_INFO(inode));
|
kmem_cache_free(jffs2_inode_cachep, JFFS2_INODE_INFO(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -119,7 +119,6 @@ static void jfs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
struct jfs_inode_info *ji = JFS_IP(inode);
|
struct jfs_inode_info *ji = JFS_IP(inode);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(jfs_inode_cachep, ji);
|
kmem_cache_free(jfs_inode_cachep, ji);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -144,7 +144,6 @@ struct inode *logfs_safe_iget(struct super_block *sb, ino_t ino, int *is_cached)
|
||||||
static void logfs_i_callback(struct rcu_head *head)
|
static void logfs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(logfs_inode_cache, logfs_inode(inode));
|
kmem_cache_free(logfs_inode_cache, logfs_inode(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,6 @@ static struct inode *minix_alloc_inode(struct super_block *sb)
|
||||||
static void minix_i_callback(struct rcu_head *head)
|
static void minix_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(minix_inode_cachep, minix_i(inode));
|
kmem_cache_free(minix_inode_cachep, minix_i(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,6 @@ static struct inode *ncp_alloc_inode(struct super_block *sb)
|
||||||
static void ncp_i_callback(struct rcu_head *head)
|
static void ncp_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(ncp_inode_cachep, NCP_FINFO(inode));
|
kmem_cache_free(ncp_inode_cachep, NCP_FINFO(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1464,7 +1464,6 @@ struct inode *nfs_alloc_inode(struct super_block *sb)
|
||||||
static void nfs_i_callback(struct rcu_head *head)
|
static void nfs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(nfs_inode_cachep, NFS_I(inode));
|
kmem_cache_free(nfs_inode_cachep, NFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -175,8 +175,6 @@ static void nilfs_i_callback(struct rcu_head *head)
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
struct nilfs_mdt_info *mdi = NILFS_MDT(inode);
|
struct nilfs_mdt_info *mdi = NILFS_MDT(inode);
|
||||||
|
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
|
|
||||||
if (mdi) {
|
if (mdi) {
|
||||||
kfree(mdi->mi_bgl); /* kfree(NULL) is safe */
|
kfree(mdi->mi_bgl); /* kfree(NULL) is safe */
|
||||||
kfree(mdi);
|
kfree(mdi);
|
||||||
|
|
|
@ -335,7 +335,6 @@ struct inode *ntfs_alloc_big_inode(struct super_block *sb)
|
||||||
static void ntfs_i_callback(struct rcu_head *head)
|
static void ntfs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(ntfs_big_inode_cache, NTFS_I(inode));
|
kmem_cache_free(ntfs_big_inode_cache, NTFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -354,7 +354,6 @@ static struct inode *dlmfs_alloc_inode(struct super_block *sb)
|
||||||
static void dlmfs_i_callback(struct rcu_head *head)
|
static void dlmfs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(dlmfs_inode_cache, DLMFS_I(inode));
|
kmem_cache_free(dlmfs_inode_cache, DLMFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -569,7 +569,6 @@ static struct inode *ocfs2_alloc_inode(struct super_block *sb)
|
||||||
static void ocfs2_i_callback(struct rcu_head *head)
|
static void ocfs2_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(ocfs2_inode_cachep, OCFS2_I(inode));
|
kmem_cache_free(ocfs2_inode_cachep, OCFS2_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -346,7 +346,6 @@ static struct inode *openprom_alloc_inode(struct super_block *sb)
|
||||||
static void openprom_i_callback(struct rcu_head *head)
|
static void openprom_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(op_inode_cachep, OP_I(inode));
|
kmem_cache_free(op_inode_cachep, OP_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,6 @@ static struct inode *proc_alloc_inode(struct super_block *sb)
|
||||||
static void proc_i_callback(struct rcu_head *head)
|
static void proc_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(proc_inode_cachep, PROC_I(inode));
|
kmem_cache_free(proc_inode_cachep, PROC_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -427,7 +427,6 @@ static struct inode *qnx4_alloc_inode(struct super_block *sb)
|
||||||
static void qnx4_i_callback(struct rcu_head *head)
|
static void qnx4_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(qnx4_inode_cachep, qnx4_i(inode));
|
kmem_cache_free(qnx4_inode_cachep, qnx4_i(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -532,7 +532,6 @@ static struct inode *reiserfs_alloc_inode(struct super_block *sb)
|
||||||
static void reiserfs_i_callback(struct rcu_head *head)
|
static void reiserfs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(reiserfs_inode_cachep, REISERFS_I(inode));
|
kmem_cache_free(reiserfs_inode_cachep, REISERFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -403,7 +403,6 @@ static struct inode *romfs_alloc_inode(struct super_block *sb)
|
||||||
static void romfs_i_callback(struct rcu_head *head)
|
static void romfs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(romfs_inode_cachep, ROMFS_I(inode));
|
kmem_cache_free(romfs_inode_cachep, ROMFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -464,7 +464,6 @@ static struct inode *squashfs_alloc_inode(struct super_block *sb)
|
||||||
static void squashfs_i_callback(struct rcu_head *head)
|
static void squashfs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(squashfs_inode_cachep, squashfs_i(inode));
|
kmem_cache_free(squashfs_inode_cachep, squashfs_i(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -336,7 +336,6 @@ static struct inode *sysv_alloc_inode(struct super_block *sb)
|
||||||
static void sysv_i_callback(struct rcu_head *head)
|
static void sysv_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(sysv_inode_cachep, SYSV_I(inode));
|
kmem_cache_free(sysv_inode_cachep, SYSV_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -276,7 +276,6 @@ static void ubifs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
struct ubifs_inode *ui = ubifs_inode(inode);
|
struct ubifs_inode *ui = ubifs_inode(inode);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(ubifs_inode_slab, ui);
|
kmem_cache_free(ubifs_inode_slab, ui);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -138,7 +138,6 @@ static struct inode *udf_alloc_inode(struct super_block *sb)
|
||||||
static void udf_i_callback(struct rcu_head *head)
|
static void udf_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(udf_inode_cachep, UDF_I(inode));
|
kmem_cache_free(udf_inode_cachep, UDF_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1425,7 +1425,6 @@ static struct inode *ufs_alloc_inode(struct super_block *sb)
|
||||||
static void ufs_i_callback(struct rcu_head *head)
|
static void ufs_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(ufs_inode_cachep, UFS_I(inode));
|
kmem_cache_free(ufs_inode_cachep, UFS_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -107,7 +107,6 @@ xfs_inode_free_callback(
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
struct xfs_inode *ip = XFS_I(inode);
|
struct xfs_inode *ip = XFS_I(inode);
|
||||||
|
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_zone_free(xfs_inode_zone, ip);
|
kmem_zone_free(xfs_inode_zone, ip);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -243,7 +243,6 @@ static struct inode *mqueue_alloc_inode(struct super_block *sb)
|
||||||
static void mqueue_i_callback(struct rcu_head *head)
|
static void mqueue_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(mqueue_inode_cachep, MQUEUE_I(inode));
|
kmem_cache_free(mqueue_inode_cachep, MQUEUE_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2234,7 +2234,6 @@ static struct inode *shmem_alloc_inode(struct super_block *sb)
|
||||||
static void shmem_destroy_callback(struct rcu_head *head)
|
static void shmem_destroy_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(shmem_inode_cachep, SHMEM_I(inode));
|
kmem_cache_free(shmem_inode_cachep, SHMEM_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -185,7 +185,6 @@ static void
|
||||||
rpc_i_callback(struct rcu_head *head)
|
rpc_i_callback(struct rcu_head *head)
|
||||||
{
|
{
|
||||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||||
INIT_LIST_HEAD(&inode->i_dentry);
|
|
||||||
kmem_cache_free(rpc_inode_cachep, RPC_I(inode));
|
kmem_cache_free(rpc_inode_cachep, RPC_I(inode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue