|
@@ -191,6 +191,7 @@ int inode_init_always(struct super_block *sb, struct inode *inode)
|
|
|
}
|
|
|
inode->i_private = NULL;
|
|
|
inode->i_mapping = mapping;
|
|
|
+ INIT_LIST_HEAD(&inode->i_dentry); /* buggered by rcu freeing */
|
|
|
#ifdef CONFIG_FS_POSIX_ACL
|
|
|
inode->i_acl = inode->i_default_acl = ACL_NOT_CACHED;
|
|
|
#endif
|
|
@@ -254,7 +255,6 @@ EXPORT_SYMBOL(__destroy_inode);
|
|
|
static void i_callback(struct rcu_head *head)
|
|
|
{
|
|
|
struct inode *inode = container_of(head, struct inode, i_rcu);
|
|
|
- INIT_LIST_HEAD(&inode->i_dentry);
|
|
|
kmem_cache_free(inode_cachep, inode);
|
|
|
}
|
|
|
|
|
@@ -290,7 +290,6 @@ void inode_init_once(struct inode *inode)
|
|
|
{
|
|
|
memset(inode, 0, sizeof(*inode));
|
|
|
INIT_HLIST_NODE(&inode->i_hash);
|
|
|
- INIT_LIST_HEAD(&inode->i_dentry);
|
|
|
INIT_LIST_HEAD(&inode->i_devices);
|
|
|
INIT_LIST_HEAD(&inode->i_wb_list);
|
|
|
INIT_LIST_HEAD(&inode->i_lru);
|