X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=fs%2Fopenpromfs%2Finode.c;h=a2a5bff774e3355a6de04af0e028dcb563dc87be;hb=cc3feac34617ec685551905507cd8d909be6431f;hp=911e61f348fc0fecb5dd748e96153c0c21974c10;hpb=d70ab7f7ee0692efc880d772dc5c212174d67e3b;p=mv-sheeva.git diff --git a/fs/openpromfs/inode.c b/fs/openpromfs/inode.c index 911e61f348f..a2a5bff774e 100644 --- a/fs/openpromfs/inode.c +++ b/fs/openpromfs/inode.c @@ -343,11 +343,18 @@ static struct inode *openprom_alloc_inode(struct super_block *sb) return &oi->vfs_inode; } -static void openprom_destroy_inode(struct inode *inode) +static void openprom_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(op_inode_cachep, OP_I(inode)); } +static void openprom_destroy_inode(struct inode *inode) +{ + call_rcu(&inode->i_rcu, openprom_i_callback); +} + static struct inode *openprom_iget(struct super_block *sb, ino_t ino) { struct inode *inode;