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
/
adfs
/
super.c
diff --git
a/fs/adfs/super.c
b/fs/adfs/super.c
index d9803f73236f543fca9764cbe453414f6fe22286..47dffc513a263a0f1943ce9c510a9d80ea3e3195 100644
(file)
--- a/
fs/adfs/super.c
+++ b/
fs/adfs/super.c
@@
-240,11
+240,18
@@
static struct inode *adfs_alloc_inode(struct super_block *sb)
return &ei->vfs_inode;
}
return &ei->vfs_inode;
}
-static void adfs_
destroy_inode(struct inode *inode
)
+static void adfs_
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(adfs_inode_cachep, ADFS_I(inode));
}
kmem_cache_free(adfs_inode_cachep, ADFS_I(inode));
}
+static void adfs_destroy_inode(struct inode *inode)
+{
+ call_rcu(&inode->i_rcu, adfs_i_callback);
+}
+
static void init_once(void *foo)
{
struct adfs_inode_info *ei = (struct adfs_inode_info *) foo;
static void init_once(void *foo)
{
struct adfs_inode_info *ei = (struct adfs_inode_info *) foo;
@@
-490,17
+497,16
@@
error:
return -EINVAL;
}
return -EINVAL;
}
-static
int adfs_get_sb
(struct file_system_type *fs_type,
- int flags, const char *dev_name, void *data
, struct vfsmount *mnt
)
+static
struct dentry *adfs_mount
(struct file_system_type *fs_type,
+ int flags, const char *dev_name, void *data)
{
{
- return get_sb_bdev(fs_type, flags, dev_name, data, adfs_fill_super,
- mnt);
+ return mount_bdev(fs_type, flags, dev_name, data, adfs_fill_super);
}
static struct file_system_type adfs_fs_type = {
.owner = THIS_MODULE,
.name = "adfs",
}
static struct file_system_type adfs_fs_type = {
.owner = THIS_MODULE,
.name = "adfs",
- .
get_sb = adfs_get_sb
,
+ .
mount = adfs_mount
,
.kill_sb = kill_block_super,
.fs_flags = FS_REQUIRES_DEV,
};
.kill_sb = kill_block_super,
.fs_flags = FS_REQUIRES_DEV,
};
This page took
0.026785 seconds
and
5
git commands to generate.