diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2011-12-12 15:51:45 -0500 |
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-01-03 22:52:40 -0500 |
| commit | 6b520e0565422966cdf1c3759bd73df77b0f248c (patch) | |
| tree | f63a26afa7342eb59b125271b16e30a219b59094 | |
| parent | 2a79f17e4a641a2f463cb512cb0ec349844a147b (diff) | |
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>
53 files changed, 1 insertions, 55 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c index e481f6b9a789..d85f8cbdc8b3 100644 --- a/arch/powerpc/platforms/cell/spufs/inode.c +++ b/arch/powerpc/platforms/cell/spufs/inode.c | |||
| @@ -74,7 +74,6 @@ spufs_alloc_inode(struct super_block *sb) | |||
| 74 | static void spufs_i_callback(struct rcu_head *head) | 74 | static void spufs_i_callback(struct rcu_head *head) |
| 75 | { | 75 | { |
| 76 | struct inode *inode = container_of(head, struct inode, i_rcu); | 76 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 77 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 78 | kmem_cache_free(spufs_inode_cache, SPUFS_I(inode)); | 77 | kmem_cache_free(spufs_inode_cache, SPUFS_I(inode)); |
| 79 | } | 78 | } |
| 80 | 79 | ||
diff --git a/drivers/staging/pohmelfs/inode.c b/drivers/staging/pohmelfs/inode.c index 7a1955583b7d..6c12516826ad 100644 --- a/drivers/staging/pohmelfs/inode.c +++ b/drivers/staging/pohmelfs/inode.c | |||
| @@ -830,7 +830,6 @@ const struct address_space_operations pohmelfs_aops = { | |||
| 830 | static void pohmelfs_i_callback(struct rcu_head *head) | 830 | static void pohmelfs_i_callback(struct rcu_head *head) |
| 831 | { | 831 | { |
| 832 | struct inode *inode = container_of(head, struct inode, i_rcu); | 832 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 833 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 834 | kmem_cache_free(pohmelfs_inode_cache, POHMELFS_I(inode)); | 833 | kmem_cache_free(pohmelfs_inode_cache, POHMELFS_I(inode)); |
| 835 | } | 834 | } |
| 836 | 835 | ||
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c index 879ed8851737..2310cc9eb402 100644 --- a/fs/9p/vfs_inode.c +++ b/fs/9p/vfs_inode.c | |||
| @@ -251,7 +251,6 @@ struct inode *v9fs_alloc_inode(struct super_block *sb) | |||
| 251 | static void v9fs_i_callback(struct rcu_head *head) | 251 | static void v9fs_i_callback(struct rcu_head *head) |
| 252 | { | 252 | { |
| 253 | struct inode *inode = container_of(head, struct inode, i_rcu); | 253 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 254 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 255 | kmem_cache_free(v9fs_inode_cache, V9FS_I(inode)); | 254 | kmem_cache_free(v9fs_inode_cache, V9FS_I(inode)); |
| 256 | } | 255 | } |
| 257 | 256 | ||
diff --git a/fs/affs/super.c b/fs/affs/super.c index b31507d0f9b9..8ba73fed7964 100644 --- a/fs/affs/super.c +++ b/fs/affs/super.c | |||
| @@ -98,7 +98,6 @@ static struct inode *affs_alloc_inode(struct super_block *sb) | |||
| 98 | static void affs_i_callback(struct rcu_head *head) | 98 | static void affs_i_callback(struct rcu_head *head) |
| 99 | { | 99 | { |
| 100 | struct inode *inode = container_of(head, struct inode, i_rcu); | 100 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 101 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 102 | kmem_cache_free(affs_inode_cachep, AFFS_I(inode)); | 101 | kmem_cache_free(affs_inode_cachep, AFFS_I(inode)); |
| 103 | } | 102 | } |
| 104 | 103 | ||
diff --git a/fs/afs/super.c b/fs/afs/super.c index 356dcf0929e8..983ec59fc80d 100644 --- a/fs/afs/super.c +++ b/fs/afs/super.c | |||
| @@ -495,7 +495,6 @@ static void afs_i_callback(struct rcu_head *head) | |||
| 495 | { | 495 | { |
| 496 | struct inode *inode = container_of(head, struct inode, i_rcu); | 496 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 497 | struct afs_vnode *vnode = AFS_FS_I(inode); | 497 | struct afs_vnode *vnode = AFS_FS_I(inode); |
| 498 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 499 | kmem_cache_free(afs_inode_cachep, vnode); | 498 | kmem_cache_free(afs_inode_cachep, vnode); |
| 500 | } | 499 | } |
| 501 | 500 | ||
diff --git a/fs/befs/linuxvfs.c b/fs/befs/linuxvfs.c index 8342ca67abcd..6e6d536767fe 100644 --- a/fs/befs/linuxvfs.c +++ b/fs/befs/linuxvfs.c | |||
| @@ -286,7 +286,6 @@ befs_alloc_inode(struct super_block *sb) | |||
| 286 | static void befs_i_callback(struct rcu_head *head) | 286 | static void befs_i_callback(struct rcu_head *head) |
| 287 | { | 287 | { |
| 288 | struct inode *inode = container_of(head, struct inode, i_rcu); | 288 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 289 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 290 | kmem_cache_free(befs_inode_cachep, BEFS_I(inode)); | 289 | kmem_cache_free(befs_inode_cachep, BEFS_I(inode)); |
| 291 | } | 290 | } |
| 292 | 291 | ||
diff --git a/fs/bfs/inode.c b/fs/bfs/inode.c index 697af5bf70b3..b0391bc402b1 100644 --- a/fs/bfs/inode.c +++ b/fs/bfs/inode.c | |||
| @@ -251,7 +251,6 @@ static struct inode *bfs_alloc_inode(struct super_block *sb) | |||
| 251 | static void bfs_i_callback(struct rcu_head *head) | 251 | static void bfs_i_callback(struct rcu_head *head) |
| 252 | { | 252 | { |
| 253 | struct inode *inode = container_of(head, struct inode, i_rcu); | 253 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 254 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 255 | kmem_cache_free(bfs_inode_cachep, BFS_I(inode)); | 254 | kmem_cache_free(bfs_inode_cachep, BFS_I(inode)); |
| 256 | } | 255 | } |
| 257 | 256 | ||
diff --git a/fs/block_dev.c b/fs/block_dev.c index 4b322a58a513..7866cdd9fe70 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c | |||
| @@ -425,7 +425,6 @@ static void bdev_i_callback(struct rcu_head *head) | |||
| 425 | struct inode *inode = container_of(head, struct inode, i_rcu); | 425 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 426 | struct bdev_inode *bdi = BDEV_I(inode); | 426 | struct bdev_inode *bdi = BDEV_I(inode); |
| 427 | 427 | ||
| 428 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 429 | kmem_cache_free(bdev_cachep, bdi); | 428 | kmem_cache_free(bdev_cachep, bdi); |
| 430 | } | 429 | } |
| 431 | 430 | ||
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index fd1a06df5bc6..f8ff9738558a 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c | |||
| @@ -6761,7 +6761,6 @@ struct inode *btrfs_alloc_inode(struct super_block *sb) | |||
| 6761 | static void btrfs_i_callback(struct rcu_head *head) | 6761 | static void btrfs_i_callback(struct rcu_head *head) |
| 6762 | { | 6762 | { |
| 6763 | struct inode *inode = container_of(head, struct inode, i_rcu); | 6763 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 6764 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 6765 | kmem_cache_free(btrfs_inode_cachep, BTRFS_I(inode)); | 6764 | kmem_cache_free(btrfs_inode_cachep, BTRFS_I(inode)); |
| 6766 | } | 6765 | } |
| 6767 | 6766 | ||
diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c index 87fb132fb330..25283e7a37f8 100644 --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c | |||
| @@ -384,7 +384,6 @@ static void ceph_i_callback(struct rcu_head *head) | |||
| 384 | struct inode *inode = container_of(head, struct inode, i_rcu); | 384 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 385 | struct ceph_inode_info *ci = ceph_inode(inode); | 385 | struct ceph_inode_info *ci = ceph_inode(inode); |
| 386 | 386 | ||
| 387 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 388 | kmem_cache_free(ceph_inode_cachep, ci); | 387 | kmem_cache_free(ceph_inode_cachep, ci); |
| 389 | } | 388 | } |
| 390 | 389 | ||
diff --git a/fs/coda/inode.c b/fs/coda/inode.c index 871b27715465..1c08a8cd673a 100644 --- a/fs/coda/inode.c +++ b/fs/coda/inode.c | |||
| @@ -58,7 +58,6 @@ static struct inode *coda_alloc_inode(struct super_block *sb) | |||
| 58 | static void coda_i_callback(struct rcu_head *head) | 58 | static void coda_i_callback(struct rcu_head *head) |
| 59 | { | 59 | { |
| 60 | struct inode *inode = container_of(head, struct inode, i_rcu); | 60 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 61 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 62 | kmem_cache_free(coda_inode_cachep, ITOC(inode)); | 61 | kmem_cache_free(coda_inode_cachep, ITOC(inode)); |
| 63 | } | 62 | } |
| 64 | 63 | ||
diff --git a/fs/ecryptfs/super.c b/fs/ecryptfs/super.c index dbd52d40df4c..da485f0b4d1e 100644 --- a/fs/ecryptfs/super.c +++ b/fs/ecryptfs/super.c | |||
| @@ -69,7 +69,6 @@ static void ecryptfs_i_callback(struct rcu_head *head) | |||
| 69 | struct ecryptfs_inode_info *inode_info; | 69 | struct ecryptfs_inode_info *inode_info; |
| 70 | inode_info = ecryptfs_inode_to_private(inode); | 70 | inode_info = ecryptfs_inode_to_private(inode); |
| 71 | 71 | ||
| 72 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 73 | kmem_cache_free(ecryptfs_inode_info_cache, inode_info); | 72 | kmem_cache_free(ecryptfs_inode_info_cache, inode_info); |
| 74 | } | 73 | } |
| 75 | 74 | ||
diff --git a/fs/efs/super.c b/fs/efs/super.c index 0f31acb0131c..981106429a9f 100644 --- a/fs/efs/super.c +++ b/fs/efs/super.c | |||
| @@ -68,7 +68,6 @@ static struct inode *efs_alloc_inode(struct super_block *sb) | |||
| 68 | static void efs_i_callback(struct rcu_head *head) | 68 | static void efs_i_callback(struct rcu_head *head) |
| 69 | { | 69 | { |
| 70 | struct inode *inode = container_of(head, struct inode, i_rcu); | 70 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 71 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 72 | kmem_cache_free(efs_inode_cachep, INODE_INFO(inode)); | 71 | kmem_cache_free(efs_inode_cachep, INODE_INFO(inode)); |
| 73 | } | 72 | } |
| 74 | 73 | ||
diff --git a/fs/exofs/super.c b/fs/exofs/super.c index e6085ec192d6..8addfe314dc7 100644 --- a/fs/exofs/super.c +++ b/fs/exofs/super.c | |||
| @@ -166,7 +166,6 @@ static struct inode *exofs_alloc_inode(struct super_block *sb) | |||
| 166 | static void exofs_i_callback(struct rcu_head *head) | 166 | static void exofs_i_callback(struct rcu_head *head) |
| 167 | { | 167 | { |
| 168 | struct inode *inode = container_of(head, struct inode, i_rcu); | 168 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 169 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 170 | kmem_cache_free(exofs_inode_cachep, exofs_i(inode)); | 169 | kmem_cache_free(exofs_inode_cachep, exofs_i(inode)); |
| 171 | } | 170 | } |
| 172 | 171 | ||
diff --git a/fs/ext2/super.c b/fs/ext2/super.c index bd8ac164a3bf..67b5e752ec9d 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c | |||
| @@ -173,7 +173,6 @@ static struct inode *ext2_alloc_inode(struct super_block *sb) | |||
| 173 | static void ext2_i_callback(struct rcu_head *head) | 173 | static void ext2_i_callback(struct rcu_head *head) |
| 174 | { | 174 | { |
| 175 | struct inode *inode = container_of(head, struct inode, i_rcu); | 175 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 176 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 177 | kmem_cache_free(ext2_inode_cachep, EXT2_I(inode)); | 176 | kmem_cache_free(ext2_inode_cachep, EXT2_I(inode)); |
| 178 | } | 177 | } |
| 179 | 178 | ||
diff --git a/fs/ext3/super.c b/fs/ext3/super.c index 922d289aeeb3..668c931b2214 100644 --- a/fs/ext3/super.c +++ b/fs/ext3/super.c | |||
| @@ -511,7 +511,6 @@ static int ext3_drop_inode(struct inode *inode) | |||
| 511 | static void ext3_i_callback(struct rcu_head *head) | 511 | static void ext3_i_callback(struct rcu_head *head) |
| 512 | { | 512 | { |
| 513 | struct inode *inode = container_of(head, struct inode, i_rcu); | 513 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 514 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 515 | kmem_cache_free(ext3_inode_cachep, EXT3_I(inode)); | 514 | kmem_cache_free(ext3_inode_cachep, EXT3_I(inode)); |
| 516 | } | 515 | } |
| 517 | 516 | ||
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 3e1329e2f826..2a1a9e63cffa 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c | |||
| @@ -930,7 +930,6 @@ static int ext4_drop_inode(struct inode *inode) | |||
| 930 | static void ext4_i_callback(struct rcu_head *head) | 930 | static void ext4_i_callback(struct rcu_head *head) |
| 931 | { | 931 | { |
| 932 | struct inode *inode = container_of(head, struct inode, i_rcu); | 932 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 933 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 934 | kmem_cache_free(ext4_inode_cachep, EXT4_I(inode)); | 933 | kmem_cache_free(ext4_inode_cachep, EXT4_I(inode)); |
| 935 | } | 934 | } |
| 936 | 935 | ||
diff --git a/fs/fat/inode.c b/fs/fat/inode.c index 808cac7edcfb..ef44e5f98ced 100644 --- a/fs/fat/inode.c +++ b/fs/fat/inode.c | |||
| @@ -518,7 +518,6 @@ static struct inode *fat_alloc_inode(struct super_block *sb) | |||
| 518 | static void fat_i_callback(struct rcu_head *head) | 518 | static void fat_i_callback(struct rcu_head *head) |
| 519 | { | 519 | { |
| 520 | struct inode *inode = container_of(head, struct inode, i_rcu); | 520 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 521 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 522 | kmem_cache_free(fat_inode_cachep, MSDOS_I(inode)); | 521 | kmem_cache_free(fat_inode_cachep, MSDOS_I(inode)); |
| 523 | } | 522 | } |
| 524 | 523 | ||
diff --git a/fs/freevxfs/vxfs_inode.c b/fs/freevxfs/vxfs_inode.c index 7b2af5abe2fa..41ef6e715d2f 100644 --- a/fs/freevxfs/vxfs_inode.c +++ b/fs/freevxfs/vxfs_inode.c | |||
| @@ -340,7 +340,6 @@ vxfs_iget(struct super_block *sbp, ino_t ino) | |||
| 340 | static void vxfs_i_callback(struct rcu_head *head) | 340 | static void vxfs_i_callback(struct rcu_head *head) |
| 341 | { | 341 | { |
| 342 | struct inode *inode = container_of(head, struct inode, i_rcu); | 342 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 343 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 344 | kmem_cache_free(vxfs_inode_cachep, inode->i_private); | 343 | kmem_cache_free(vxfs_inode_cachep, inode->i_private); |
| 345 | } | 344 | } |
| 346 | 345 | ||
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index aa83109b9431..3d3622a1ceac 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c | |||
| @@ -107,7 +107,6 @@ static struct inode *fuse_alloc_inode(struct super_block *sb) | |||
| 107 | static void fuse_i_callback(struct rcu_head *head) | 107 | static void fuse_i_callback(struct rcu_head *head) |
| 108 | { | 108 | { |
| 109 | struct inode *inode = container_of(head, struct inode, i_rcu); | 109 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 110 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 111 | kmem_cache_free(fuse_inode_cachep, inode); | 110 | kmem_cache_free(fuse_inode_cachep, inode); |
| 112 | } | 111 | } |
| 113 | 112 | ||
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c index 71e420989f77..9e89d94be003 100644 --- a/fs/gfs2/super.c +++ b/fs/gfs2/super.c | |||
| @@ -1582,7 +1582,6 @@ static struct inode *gfs2_alloc_inode(struct super_block *sb) | |||
| 1582 | static void gfs2_i_callback(struct rcu_head *head) | 1582 | static void gfs2_i_callback(struct rcu_head *head) |
| 1583 | { | 1583 | { |
| 1584 | struct inode *inode = container_of(head, struct inode, i_rcu); | 1584 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 1585 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 1586 | kmem_cache_free(gfs2_inode_cachep, inode); | 1585 | kmem_cache_free(gfs2_inode_cachep, inode); |
| 1587 | } | 1586 | } |
| 1588 | 1587 | ||
diff --git a/fs/hfs/super.c b/fs/hfs/super.c index 1b55f704fb22..32dc2fbb26d5 100644 --- a/fs/hfs/super.c +++ b/fs/hfs/super.c | |||
| @@ -170,7 +170,6 @@ static struct inode *hfs_alloc_inode(struct super_block *sb) | |||
| 170 | static void hfs_i_callback(struct rcu_head *head) | 170 | static void hfs_i_callback(struct rcu_head *head) |
| 171 | { | 171 | { |
| 172 | struct inode *inode = container_of(head, struct inode, i_rcu); | 172 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 173 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 174 | kmem_cache_free(hfs_inode_cachep, HFS_I(inode)); | 173 | kmem_cache_free(hfs_inode_cachep, HFS_I(inode)); |
| 175 | } | 174 | } |
| 176 | 175 | ||
diff --git a/fs/hfsplus/super.c b/fs/hfsplus/super.c index d24a9b666a23..edf0a801446b 100644 --- a/fs/hfsplus/super.c +++ b/fs/hfsplus/super.c | |||
| @@ -558,7 +558,6 @@ static void hfsplus_i_callback(struct rcu_head *head) | |||
| 558 | { | 558 | { |
| 559 | struct inode *inode = container_of(head, struct inode, i_rcu); | 559 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 560 | 560 | ||
| 561 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 562 | kmem_cache_free(hfsplus_inode_cachep, HFSPLUS_I(inode)); | 561 | kmem_cache_free(hfsplus_inode_cachep, HFSPLUS_I(inode)); |
| 563 | } | 562 | } |
| 564 | 563 | ||
diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c index 2f72da5ae686..343ea632b97c 100644 --- a/fs/hostfs/hostfs_kern.c +++ b/fs/hostfs/hostfs_kern.c | |||
| @@ -250,7 +250,6 @@ static void hostfs_evict_inode(struct inode *inode) | |||
| 250 | static void hostfs_i_callback(struct rcu_head *head) | 250 | static void hostfs_i_callback(struct rcu_head *head) |
| 251 | { | 251 | { |
| 252 | struct inode *inode = container_of(head, struct inode, i_rcu); | 252 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 253 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 254 | kfree(HOSTFS_I(inode)); | 253 | kfree(HOSTFS_I(inode)); |
| 255 | } | 254 | } |
| 256 | 255 | ||
diff --git a/fs/hpfs/super.c b/fs/hpfs/super.c index 98580a3b5005..3690467c944e 100644 --- a/fs/hpfs/super.c +++ b/fs/hpfs/super.c | |||
| @@ -181,7 +181,6 @@ static struct inode *hpfs_alloc_inode(struct super_block *sb) | |||
| 181 | static void hpfs_i_callback(struct rcu_head *head) | 181 | static void hpfs_i_callback(struct rcu_head *head) |
| 182 | { | 182 | { |
| 183 | struct inode *inode = container_of(head, struct inode, i_rcu); | 183 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 184 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 185 | kmem_cache_free(hpfs_inode_cachep, hpfs_i(inode)); | 184 | kmem_cache_free(hpfs_inode_cachep, hpfs_i(inode)); |
| 186 | } | 185 | } |
| 187 | 186 | ||
diff --git a/fs/hppfs/hppfs.c b/fs/hppfs/hppfs.c index f590b1160c6c..30883a7adacb 100644 --- a/fs/hppfs/hppfs.c +++ b/fs/hppfs/hppfs.c | |||
| @@ -622,7 +622,6 @@ void hppfs_evict_inode(struct inode *ino) | |||
| 622 | static void hppfs_i_callback(struct rcu_head *head) | 622 | static void hppfs_i_callback(struct rcu_head *head) |
| 623 | { | 623 | { |
| 624 | struct inode *inode = container_of(head, struct inode, i_rcu); | 624 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 625 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 626 | kfree(HPPFS_I(inode)); | 625 | kfree(HPPFS_I(inode)); |
| 627 | } | 626 | } |
| 628 | 627 | ||
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 0be5a78598d0..9c4ec538725b 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c | |||
| @@ -666,7 +666,6 @@ static struct inode *hugetlbfs_alloc_inode(struct super_block *sb) | |||
| 666 | static void hugetlbfs_i_callback(struct rcu_head *head) | 666 | static void hugetlbfs_i_callback(struct rcu_head *head) |
| 667 | { | 667 | { |
| 668 | struct inode *inode = container_of(head, struct inode, i_rcu); | 668 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 669 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 670 | kmem_cache_free(hugetlbfs_inode_cachep, HUGETLBFS_I(inode)); | 669 | kmem_cache_free(hugetlbfs_inode_cachep, HUGETLBFS_I(inode)); |
| 671 | } | 670 | } |
| 672 | 671 | ||
diff --git a/fs/inode.c b/fs/inode.c index 4fda5ee85518..24d02907e196 100644 --- a/fs/inode.c +++ b/fs/inode.c | |||
| @@ -191,6 +191,7 @@ int inode_init_always(struct super_block *sb, struct inode *inode) | |||
| 191 | } | 191 | } |
| 192 | inode->i_private = NULL; | 192 | inode->i_private = NULL; |
| 193 | inode->i_mapping = mapping; | 193 | inode->i_mapping = mapping; |
| 194 | INIT_LIST_HEAD(&inode->i_dentry); /* buggered by rcu freeing */ | ||
| 194 | #ifdef CONFIG_FS_POSIX_ACL | 195 | #ifdef CONFIG_FS_POSIX_ACL |
| 195 | inode->i_acl = inode->i_default_acl = ACL_NOT_CACHED; | 196 | inode->i_acl = inode->i_default_acl = ACL_NOT_CACHED; |
| 196 | #endif | 197 | #endif |
| @@ -254,7 +255,6 @@ EXPORT_SYMBOL(__destroy_inode); | |||
| 254 | static void i_callback(struct rcu_head *head) | 255 | static void i_callback(struct rcu_head *head) |
| 255 | { | 256 | { |
| 256 | struct inode *inode = container_of(head, struct inode, i_rcu); | 257 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 257 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 258 | kmem_cache_free(inode_cachep, inode); | 258 | kmem_cache_free(inode_cachep, inode); |
| 259 | } | 259 | } |
| 260 | 260 | ||
| @@ -290,7 +290,6 @@ void inode_init_once(struct inode *inode) | |||
| 290 | { | 290 | { |
| 291 | memset(inode, 0, sizeof(*inode)); | 291 | memset(inode, 0, sizeof(*inode)); |
| 292 | INIT_HLIST_NODE(&inode->i_hash); | 292 | INIT_HLIST_NODE(&inode->i_hash); |
| 293 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 294 | INIT_LIST_HEAD(&inode->i_devices); | 293 | INIT_LIST_HEAD(&inode->i_devices); |
| 295 | INIT_LIST_HEAD(&inode->i_wb_list); | 294 | INIT_LIST_HEAD(&inode->i_wb_list); |
| 296 | INIT_LIST_HEAD(&inode->i_lru); | 295 | INIT_LIST_HEAD(&inode->i_lru); |
diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c index f950059525fc..b71f6311a337 100644 --- a/fs/isofs/inode.c +++ b/fs/isofs/inode.c | |||
| @@ -85,7 +85,6 @@ static struct inode *isofs_alloc_inode(struct super_block *sb) | |||
| 85 | static void isofs_i_callback(struct rcu_head *head) | 85 | static void isofs_i_callback(struct rcu_head *head) |
| 86 | { | 86 | { |
| 87 | struct inode *inode = container_of(head, struct inode, i_rcu); | 87 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 88 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 89 | kmem_cache_free(isofs_inode_cachep, ISOFS_I(inode)); | 88 | kmem_cache_free(isofs_inode_cachep, ISOFS_I(inode)); |
| 90 | } | 89 | } |
| 91 | 90 | ||
diff --git a/fs/jffs2/super.c b/fs/jffs2/super.c index e7e974454115..804e1292d63e 100644 --- a/fs/jffs2/super.c +++ b/fs/jffs2/super.c | |||
| @@ -45,7 +45,6 @@ static struct inode *jffs2_alloc_inode(struct super_block *sb) | |||
| 45 | static void jffs2_i_callback(struct rcu_head *head) | 45 | static void jffs2_i_callback(struct rcu_head *head) |
| 46 | { | 46 | { |
| 47 | struct inode *inode = container_of(head, struct inode, i_rcu); | 47 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 48 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 49 | kmem_cache_free(jffs2_inode_cachep, JFFS2_INODE_INFO(inode)); | 48 | kmem_cache_free(jffs2_inode_cachep, JFFS2_INODE_INFO(inode)); |
| 50 | } | 49 | } |
| 51 | 50 | ||
diff --git a/fs/jfs/super.c b/fs/jfs/super.c index a44eff076c17..1b8f4ca29adf 100644 --- a/fs/jfs/super.c +++ b/fs/jfs/super.c | |||
| @@ -119,7 +119,6 @@ static void jfs_i_callback(struct rcu_head *head) | |||
| 119 | { | 119 | { |
| 120 | struct inode *inode = container_of(head, struct inode, i_rcu); | 120 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 121 | struct jfs_inode_info *ji = JFS_IP(inode); | 121 | struct jfs_inode_info *ji = JFS_IP(inode); |
| 122 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 123 | kmem_cache_free(jfs_inode_cachep, ji); | 122 | kmem_cache_free(jfs_inode_cachep, ji); |
| 124 | } | 123 | } |
| 125 | 124 | ||
diff --git a/fs/logfs/inode.c b/fs/logfs/inode.c index 7e441ad5f792..4d1af42bfd24 100644 --- a/fs/logfs/inode.c +++ b/fs/logfs/inode.c | |||
| @@ -144,7 +144,6 @@ struct inode *logfs_safe_iget(struct super_block *sb, ino_t ino, int *is_cached) | |||
| 144 | static void logfs_i_callback(struct rcu_head *head) | 144 | static void logfs_i_callback(struct rcu_head *head) |
| 145 | { | 145 | { |
| 146 | struct inode *inode = container_of(head, struct inode, i_rcu); | 146 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 147 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 148 | kmem_cache_free(logfs_inode_cache, logfs_inode(inode)); | 147 | kmem_cache_free(logfs_inode_cache, logfs_inode(inode)); |
| 149 | } | 148 | } |
| 150 | 149 | ||
diff --git a/fs/minix/inode.c b/fs/minix/inode.c index 1d9e33966db0..c811c19d31be 100644 --- a/fs/minix/inode.c +++ b/fs/minix/inode.c | |||
| @@ -71,7 +71,6 @@ static struct inode *minix_alloc_inode(struct super_block *sb) | |||
| 71 | static void minix_i_callback(struct rcu_head *head) | 71 | static void minix_i_callback(struct rcu_head *head) |
| 72 | { | 72 | { |
| 73 | struct inode *inode = container_of(head, struct inode, i_rcu); | 73 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 74 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 75 | kmem_cache_free(minix_inode_cachep, minix_i(inode)); | 74 | kmem_cache_free(minix_inode_cachep, minix_i(inode)); |
| 76 | } | 75 | } |
| 77 | 76 | ||
diff --git a/fs/ncpfs/inode.c b/fs/ncpfs/inode.c index cbd1a61c110a..f3f07cd392b3 100644 --- a/fs/ncpfs/inode.c +++ b/fs/ncpfs/inode.c | |||
| @@ -60,7 +60,6 @@ static struct inode *ncp_alloc_inode(struct super_block *sb) | |||
| 60 | static void ncp_i_callback(struct rcu_head *head) | 60 | static void ncp_i_callback(struct rcu_head *head) |
| 61 | { | 61 | { |
| 62 | struct inode *inode = container_of(head, struct inode, i_rcu); | 62 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 63 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 64 | kmem_cache_free(ncp_inode_cachep, NCP_FINFO(inode)); | 63 | kmem_cache_free(ncp_inode_cachep, NCP_FINFO(inode)); |
| 65 | } | 64 | } |
| 66 | 65 | ||
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index efb66db04f99..6f00086e340f 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c | |||
| @@ -1464,7 +1464,6 @@ struct inode *nfs_alloc_inode(struct super_block *sb) | |||
| 1464 | static void nfs_i_callback(struct rcu_head *head) | 1464 | static void nfs_i_callback(struct rcu_head *head) |
| 1465 | { | 1465 | { |
| 1466 | struct inode *inode = container_of(head, struct inode, i_rcu); | 1466 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 1467 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 1468 | kmem_cache_free(nfs_inode_cachep, NFS_I(inode)); | 1467 | kmem_cache_free(nfs_inode_cachep, NFS_I(inode)); |
| 1469 | } | 1468 | } |
| 1470 | 1469 | ||
diff --git a/fs/nilfs2/super.c b/fs/nilfs2/super.c index 8351c44a7320..5356c7169d50 100644 --- a/fs/nilfs2/super.c +++ b/fs/nilfs2/super.c | |||
| @@ -175,8 +175,6 @@ static void nilfs_i_callback(struct rcu_head *head) | |||
| 175 | struct inode *inode = container_of(head, struct inode, i_rcu); | 175 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 176 | struct nilfs_mdt_info *mdi = NILFS_MDT(inode); | 176 | struct nilfs_mdt_info *mdi = NILFS_MDT(inode); |
| 177 | 177 | ||
| 178 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 179 | |||
| 180 | if (mdi) { | 178 | if (mdi) { |
| 181 | kfree(mdi->mi_bgl); /* kfree(NULL) is safe */ | 179 | kfree(mdi->mi_bgl); /* kfree(NULL) is safe */ |
| 182 | kfree(mdi); | 180 | kfree(mdi); |
diff --git a/fs/ntfs/inode.c b/fs/ntfs/inode.c index 97e2dacbc867..fea40bb6fb68 100644 --- a/fs/ntfs/inode.c +++ b/fs/ntfs/inode.c | |||
| @@ -335,7 +335,6 @@ struct inode *ntfs_alloc_big_inode(struct super_block *sb) | |||
| 335 | static void ntfs_i_callback(struct rcu_head *head) | 335 | static void ntfs_i_callback(struct rcu_head *head) |
| 336 | { | 336 | { |
| 337 | struct inode *inode = container_of(head, struct inode, i_rcu); | 337 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 338 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 339 | kmem_cache_free(ntfs_big_inode_cache, NTFS_I(inode)); | 338 | kmem_cache_free(ntfs_big_inode_cache, NTFS_I(inode)); |
| 340 | } | 339 | } |
| 341 | 340 | ||
diff --git a/fs/ocfs2/dlmfs/dlmfs.c b/fs/ocfs2/dlmfs/dlmfs.c index b42076797049..a9f007de1da8 100644 --- a/fs/ocfs2/dlmfs/dlmfs.c +++ b/fs/ocfs2/dlmfs/dlmfs.c | |||
| @@ -354,7 +354,6 @@ static struct inode *dlmfs_alloc_inode(struct super_block *sb) | |||
| 354 | static void dlmfs_i_callback(struct rcu_head *head) | 354 | static void dlmfs_i_callback(struct rcu_head *head) |
| 355 | { | 355 | { |
| 356 | struct inode *inode = container_of(head, struct inode, i_rcu); | 356 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 357 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 358 | kmem_cache_free(dlmfs_inode_cache, DLMFS_I(inode)); | 357 | kmem_cache_free(dlmfs_inode_cache, DLMFS_I(inode)); |
| 359 | } | 358 | } |
| 360 | 359 | ||
diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c index 4994f8b0e604..c05ff25c356c 100644 --- a/fs/ocfs2/super.c +++ b/fs/ocfs2/super.c | |||
| @@ -569,7 +569,6 @@ static struct inode *ocfs2_alloc_inode(struct super_block *sb) | |||
| 569 | static void ocfs2_i_callback(struct rcu_head *head) | 569 | static void ocfs2_i_callback(struct rcu_head *head) |
| 570 | { | 570 | { |
| 571 | struct inode *inode = container_of(head, struct inode, i_rcu); | 571 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 572 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 573 | kmem_cache_free(ocfs2_inode_cachep, OCFS2_I(inode)); | 572 | kmem_cache_free(ocfs2_inode_cachep, OCFS2_I(inode)); |
| 574 | } | 573 | } |
| 575 | 574 | ||
diff --git a/fs/openpromfs/inode.c b/fs/openpromfs/inode.c index e4e0ff7962e2..a88c03bc749d 100644 --- a/fs/openpromfs/inode.c +++ b/fs/openpromfs/inode.c | |||
| @@ -346,7 +346,6 @@ static struct inode *openprom_alloc_inode(struct super_block *sb) | |||
| 346 | static void openprom_i_callback(struct rcu_head *head) | 346 | static void openprom_i_callback(struct rcu_head *head) |
| 347 | { | 347 | { |
| 348 | struct inode *inode = container_of(head, struct inode, i_rcu); | 348 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 349 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 350 | kmem_cache_free(op_inode_cachep, OP_I(inode)); | 349 | kmem_cache_free(op_inode_cachep, OP_I(inode)); |
| 351 | } | 350 | } |
| 352 | 351 | ||
diff --git a/fs/proc/inode.c b/fs/proc/inode.c index 7737c5468a40..51a176622b8f 100644 --- a/fs/proc/inode.c +++ b/fs/proc/inode.c | |||
| @@ -77,7 +77,6 @@ static struct inode *proc_alloc_inode(struct super_block *sb) | |||
| 77 | static void proc_i_callback(struct rcu_head *head) | 77 | static void proc_i_callback(struct rcu_head *head) |
| 78 | { | 78 | { |
| 79 | struct inode *inode = container_of(head, struct inode, i_rcu); | 79 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 80 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 81 | kmem_cache_free(proc_inode_cachep, PROC_I(inode)); | 80 | kmem_cache_free(proc_inode_cachep, PROC_I(inode)); |
| 82 | } | 81 | } |
| 83 | 82 | ||
diff --git a/fs/qnx4/inode.c b/fs/qnx4/inode.c index 3bdd21418432..b90c7967fcae 100644 --- a/fs/qnx4/inode.c +++ b/fs/qnx4/inode.c | |||
| @@ -427,7 +427,6 @@ static struct inode *qnx4_alloc_inode(struct super_block *sb) | |||
| 427 | static void qnx4_i_callback(struct rcu_head *head) | 427 | static void qnx4_i_callback(struct rcu_head *head) |
| 428 | { | 428 | { |
| 429 | struct inode *inode = container_of(head, struct inode, i_rcu); | 429 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 430 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 431 | kmem_cache_free(qnx4_inode_cachep, qnx4_i(inode)); | 430 | kmem_cache_free(qnx4_inode_cachep, qnx4_i(inode)); |
| 432 | } | 431 | } |
| 433 | 432 | ||
diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index 14363b96b6af..5a4cae7efc43 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c | |||
| @@ -532,7 +532,6 @@ static struct inode *reiserfs_alloc_inode(struct super_block *sb) | |||
| 532 | static void reiserfs_i_callback(struct rcu_head *head) | 532 | static void reiserfs_i_callback(struct rcu_head *head) |
| 533 | { | 533 | { |
| 534 | struct inode *inode = container_of(head, struct inode, i_rcu); | 534 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 535 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 536 | kmem_cache_free(reiserfs_inode_cachep, REISERFS_I(inode)); | 535 | kmem_cache_free(reiserfs_inode_cachep, REISERFS_I(inode)); |
| 537 | } | 536 | } |
| 538 | 537 | ||
diff --git a/fs/romfs/super.c b/fs/romfs/super.c index 8b4089f30408..bb36ab74eb45 100644 --- a/fs/romfs/super.c +++ b/fs/romfs/super.c | |||
| @@ -403,7 +403,6 @@ static struct inode *romfs_alloc_inode(struct super_block *sb) | |||
| 403 | static void romfs_i_callback(struct rcu_head *head) | 403 | static void romfs_i_callback(struct rcu_head *head) |
| 404 | { | 404 | { |
| 405 | struct inode *inode = container_of(head, struct inode, i_rcu); | 405 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 406 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 407 | kmem_cache_free(romfs_inode_cachep, ROMFS_I(inode)); | 406 | kmem_cache_free(romfs_inode_cachep, ROMFS_I(inode)); |
| 408 | } | 407 | } |
| 409 | 408 | ||
diff --git a/fs/squashfs/super.c b/fs/squashfs/super.c index 2da1715452ac..d0858c2d9a47 100644 --- a/fs/squashfs/super.c +++ b/fs/squashfs/super.c | |||
| @@ -464,7 +464,6 @@ static struct inode *squashfs_alloc_inode(struct super_block *sb) | |||
| 464 | static void squashfs_i_callback(struct rcu_head *head) | 464 | static void squashfs_i_callback(struct rcu_head *head) |
| 465 | { | 465 | { |
| 466 | struct inode *inode = container_of(head, struct inode, i_rcu); | 466 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 467 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 468 | kmem_cache_free(squashfs_inode_cachep, squashfs_i(inode)); | 467 | kmem_cache_free(squashfs_inode_cachep, squashfs_i(inode)); |
| 469 | } | 468 | } |
| 470 | 469 | ||
diff --git a/fs/sysv/inode.c b/fs/sysv/inode.c index 25ffb3e9a3f8..3da5ce25faf0 100644 --- a/fs/sysv/inode.c +++ b/fs/sysv/inode.c | |||
| @@ -336,7 +336,6 @@ static struct inode *sysv_alloc_inode(struct super_block *sb) | |||
| 336 | static void sysv_i_callback(struct rcu_head *head) | 336 | static void sysv_i_callback(struct rcu_head *head) |
| 337 | { | 337 | { |
| 338 | struct inode *inode = container_of(head, struct inode, i_rcu); | 338 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 339 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 340 | kmem_cache_free(sysv_inode_cachep, SYSV_I(inode)); | 339 | kmem_cache_free(sysv_inode_cachep, SYSV_I(inode)); |
| 341 | } | 340 | } |
| 342 | 341 | ||
diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c index ae0e76bb6ebf..d93a3fadf53c 100644 --- a/fs/ubifs/super.c +++ b/fs/ubifs/super.c | |||
| @@ -276,7 +276,6 @@ static void ubifs_i_callback(struct rcu_head *head) | |||
| 276 | { | 276 | { |
| 277 | struct inode *inode = container_of(head, struct inode, i_rcu); | 277 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 278 | struct ubifs_inode *ui = ubifs_inode(inode); | 278 | struct ubifs_inode *ui = ubifs_inode(inode); |
| 279 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 280 | kmem_cache_free(ubifs_inode_slab, ui); | 279 | kmem_cache_free(ubifs_inode_slab, ui); |
| 281 | } | 280 | } |
| 282 | 281 | ||
diff --git a/fs/udf/super.c b/fs/udf/super.c index e185253470df..7cbe669e1026 100644 --- a/fs/udf/super.c +++ b/fs/udf/super.c | |||
| @@ -138,7 +138,6 @@ static struct inode *udf_alloc_inode(struct super_block *sb) | |||
| 138 | static void udf_i_callback(struct rcu_head *head) | 138 | static void udf_i_callback(struct rcu_head *head) |
| 139 | { | 139 | { |
| 140 | struct inode *inode = container_of(head, struct inode, i_rcu); | 140 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 141 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 142 | kmem_cache_free(udf_inode_cachep, UDF_I(inode)); | 141 | kmem_cache_free(udf_inode_cachep, UDF_I(inode)); |
| 143 | } | 142 | } |
| 144 | 143 | ||
diff --git a/fs/ufs/super.c b/fs/ufs/super.c index 3915ade6f9a8..d6961eb5b774 100644 --- a/fs/ufs/super.c +++ b/fs/ufs/super.c | |||
| @@ -1425,7 +1425,6 @@ static struct inode *ufs_alloc_inode(struct super_block *sb) | |||
| 1425 | static void ufs_i_callback(struct rcu_head *head) | 1425 | static void ufs_i_callback(struct rcu_head *head) |
| 1426 | { | 1426 | { |
| 1427 | struct inode *inode = container_of(head, struct inode, i_rcu); | 1427 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 1428 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 1429 | kmem_cache_free(ufs_inode_cachep, UFS_I(inode)); | 1428 | kmem_cache_free(ufs_inode_cachep, UFS_I(inode)); |
| 1430 | } | 1429 | } |
| 1431 | 1430 | ||
diff --git a/fs/xfs/xfs_iget.c b/fs/xfs/xfs_iget.c index 0fa98b1c70ea..3960a066d7ff 100644 --- a/fs/xfs/xfs_iget.c +++ b/fs/xfs/xfs_iget.c | |||
| @@ -107,7 +107,6 @@ xfs_inode_free_callback( | |||
| 107 | struct inode *inode = container_of(head, struct inode, i_rcu); | 107 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 108 | struct xfs_inode *ip = XFS_I(inode); | 108 | struct xfs_inode *ip = XFS_I(inode); |
| 109 | 109 | ||
| 110 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 111 | kmem_zone_free(xfs_inode_zone, ip); | 110 | kmem_zone_free(xfs_inode_zone, ip); |
| 112 | } | 111 | } |
| 113 | 112 | ||
diff --git a/ipc/mqueue.c b/ipc/mqueue.c index 5b4293d9819d..4e0be364aa36 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c | |||
| @@ -243,7 +243,6 @@ static struct inode *mqueue_alloc_inode(struct super_block *sb) | |||
| 243 | static void mqueue_i_callback(struct rcu_head *head) | 243 | static void mqueue_i_callback(struct rcu_head *head) |
| 244 | { | 244 | { |
| 245 | struct inode *inode = container_of(head, struct inode, i_rcu); | 245 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 246 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 247 | kmem_cache_free(mqueue_inode_cachep, MQUEUE_I(inode)); | 246 | kmem_cache_free(mqueue_inode_cachep, MQUEUE_I(inode)); |
| 248 | } | 247 | } |
| 249 | 248 | ||
diff --git a/mm/shmem.c b/mm/shmem.c index d6722506d2da..c58594c06569 100644 --- a/mm/shmem.c +++ b/mm/shmem.c | |||
| @@ -2234,7 +2234,6 @@ static struct inode *shmem_alloc_inode(struct super_block *sb) | |||
| 2234 | static void shmem_destroy_callback(struct rcu_head *head) | 2234 | static void shmem_destroy_callback(struct rcu_head *head) |
| 2235 | { | 2235 | { |
| 2236 | struct inode *inode = container_of(head, struct inode, i_rcu); | 2236 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 2237 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 2238 | kmem_cache_free(shmem_inode_cachep, SHMEM_I(inode)); | 2237 | kmem_cache_free(shmem_inode_cachep, SHMEM_I(inode)); |
| 2239 | } | 2238 | } |
| 2240 | 2239 | ||
diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c index bfddd68b31d3..60564bcb8067 100644 --- a/net/sunrpc/rpc_pipe.c +++ b/net/sunrpc/rpc_pipe.c | |||
| @@ -185,7 +185,6 @@ static void | |||
| 185 | rpc_i_callback(struct rcu_head *head) | 185 | rpc_i_callback(struct rcu_head *head) |
| 186 | { | 186 | { |
| 187 | struct inode *inode = container_of(head, struct inode, i_rcu); | 187 | struct inode *inode = container_of(head, struct inode, i_rcu); |
| 188 | INIT_LIST_HEAD(&inode->i_dentry); | ||
| 189 | kmem_cache_free(rpc_inode_cachep, RPC_I(inode)); | 188 | kmem_cache_free(rpc_inode_cachep, RPC_I(inode)); |
| 190 | } | 189 | } |
| 191 | 190 | ||
