projects
/
deliverable
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fs: icache RCU free inodes
[deliverable/linux.git]
/
fs
/
hppfs
/
hppfs.c
diff --git
a/fs/hppfs/hppfs.c
b/fs/hppfs/hppfs.c
index f702b5f713fc40805a37ce173c505ea569d04628..87ed48e0343d701fe621fa1751390bfdfbec06f7 100644
(file)
--- a/
fs/hppfs/hppfs.c
+++ b/
fs/hppfs/hppfs.c
@@
-632,11
+632,18
@@
void hppfs_evict_inode(struct inode *ino)
mntput(ino->i_sb->s_fs_info);
}
mntput(ino->i_sb->s_fs_info);
}
-static void hppfs_
destroy_inode(struct inode *inode
)
+static void hppfs_
i_callback(struct rcu_head *head
)
{
{
+ struct inode *inode = container_of(head, struct inode, i_rcu);
+ INIT_LIST_HEAD(&inode->i_dentry);
kfree(HPPFS_I(inode));
}
kfree(HPPFS_I(inode));
}
+static void hppfs_destroy_inode(struct inode *inode)
+{
+ call_rcu(&inode->i_rcu, hppfs_i_callback);
+}
+
static const struct super_operations hppfs_sbops = {
.alloc_inode = hppfs_alloc_inode,
.destroy_inode = hppfs_destroy_inode,
static const struct super_operations hppfs_sbops = {
.alloc_inode = hppfs_alloc_inode,
.destroy_inode = hppfs_destroy_inode,
This page took
0.0574 seconds
and
5
git commands to generate.