Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
[pandora-kernel.git] / fs / ubifs / super.c
index 91fac54..6e11c29 100644 (file)
@@ -272,12 +272,20 @@ static struct inode *ubifs_alloc_inode(struct super_block *sb)
        return &ui->vfs_inode;
 };
 
+static void ubifs_i_callback(struct rcu_head *head)
+{
+       struct inode *inode = container_of(head, struct inode, i_rcu);
+       struct ubifs_inode *ui = ubifs_inode(inode);
+       INIT_LIST_HEAD(&inode->i_dentry);
+       kmem_cache_free(ubifs_inode_slab, ui);
+}
+
 static void ubifs_destroy_inode(struct inode *inode)
 {
        struct ubifs_inode *ui = ubifs_inode(inode);
 
        kfree(ui->data);
-       kmem_cache_free(ubifs_inode_slab, inode);
+       call_rcu(&inode->i_rcu, ubifs_i_callback);
 }
 
 /*