git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
[pandora-kernel.git]
/
fs
/
ubifs
/
super.c
diff --git
a/fs/ubifs/super.c
b/fs/ubifs/super.c
index
91fac54
..
6e11c29
100644
(file)
--- a/
fs/ubifs/super.c
+++ b/
fs/ubifs/super.c
@@
-272,12
+272,20
@@
static struct inode *ubifs_alloc_inode(struct super_block *sb)
return &ui->vfs_inode;
};
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);
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
);
}
/*
}
/*