aboutsummaryrefslogtreecommitdiffstats
path: root/fs/sysv/inode.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2019-04-15 22:26:51 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2019-05-01 22:43:25 -0400
commit6becf8edf1a747b8efc8a1d8b0f26f25abfb0d71 (patch)
tree756ca8177faa2031ad48f82630f4e0b170c27acf /fs/sysv/inode.c
parenta78bb3838d583a8a6b4c1a5b27673313daf03b30 (diff)
sysv: switch to ->free_inode()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/sysv/inode.c')
-rw-r--r--fs/sysv/inode.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/fs/sysv/inode.c b/fs/sysv/inode.c
index 273736f41be3..02b1d9d0c182 100644
--- a/fs/sysv/inode.c
+++ b/fs/sysv/inode.c
@@ -313,17 +313,11 @@ static struct inode *sysv_alloc_inode(struct super_block *sb)
313 return &si->vfs_inode; 313 return &si->vfs_inode;
314} 314}
315 315
316static void sysv_i_callback(struct rcu_head *head) 316static void sysv_free_in_core_inode(struct inode *inode)
317{ 317{
318 struct inode *inode = container_of(head, struct inode, i_rcu);
319 kmem_cache_free(sysv_inode_cachep, SYSV_I(inode)); 318 kmem_cache_free(sysv_inode_cachep, SYSV_I(inode));
320} 319}
321 320
322static void sysv_destroy_inode(struct inode *inode)
323{
324 call_rcu(&inode->i_rcu, sysv_i_callback);
325}
326
327static void init_once(void *p) 321static void init_once(void *p)
328{ 322{
329 struct sysv_inode_info *si = (struct sysv_inode_info *)p; 323 struct sysv_inode_info *si = (struct sysv_inode_info *)p;
@@ -333,7 +327,7 @@ static void init_once(void *p)
333 327
334const struct super_operations sysv_sops = { 328const struct super_operations sysv_sops = {
335 .alloc_inode = sysv_alloc_inode, 329 .alloc_inode = sysv_alloc_inode,
336 .destroy_inode = sysv_destroy_inode, 330 .free_inode = sysv_free_in_core_inode,
337 .write_inode = sysv_write_inode, 331 .write_inode = sysv_write_inode,
338 .evict_inode = sysv_evict_inode, 332 .evict_inode = sysv_evict_inode,
339 .put_super = sysv_put_super, 333 .put_super = sysv_put_super,