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 | ||