summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2019-04-10 15:08:13 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2019-05-01 22:43:23 -0400
commit49f82a808bb06365f363d257d78260ef7cb03d6e (patch)
treed8c0a31a383f5c38e6b3101b06a3753680f31f91
parent312a679183b0502e4852eed12d1b6ae66a1636ff (diff)
befs: switch to ->free_inode()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--fs/befs/linuxvfs.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/fs/befs/linuxvfs.c b/fs/befs/linuxvfs.c
index 4700b4534439..e273850c95af 100644
--- a/fs/befs/linuxvfs.c
+++ b/fs/befs/linuxvfs.c
@@ -44,7 +44,7 @@ static struct dentry *befs_lookup(struct inode *, struct dentry *,
44 unsigned int); 44 unsigned int);
45static struct inode *befs_iget(struct super_block *, unsigned long); 45static struct inode *befs_iget(struct super_block *, unsigned long);
46static struct inode *befs_alloc_inode(struct super_block *sb); 46static struct inode *befs_alloc_inode(struct super_block *sb);
47static void befs_destroy_inode(struct inode *inode); 47static void befs_free_inode(struct inode *inode);
48static void befs_destroy_inodecache(void); 48static void befs_destroy_inodecache(void);
49static int befs_symlink_readpage(struct file *, struct page *); 49static int befs_symlink_readpage(struct file *, struct page *);
50static int befs_utf2nls(struct super_block *sb, const char *in, int in_len, 50static int befs_utf2nls(struct super_block *sb, const char *in, int in_len,
@@ -64,7 +64,7 @@ static struct dentry *befs_get_parent(struct dentry *child);
64 64
65static const struct super_operations befs_sops = { 65static const struct super_operations befs_sops = {
66 .alloc_inode = befs_alloc_inode, /* allocate a new inode */ 66 .alloc_inode = befs_alloc_inode, /* allocate a new inode */
67 .destroy_inode = befs_destroy_inode, /* deallocate an inode */ 67 .free_inode = befs_free_inode, /* deallocate an inode */
68 .put_super = befs_put_super, /* uninit super */ 68 .put_super = befs_put_super, /* uninit super */
69 .statfs = befs_statfs, /* statfs */ 69 .statfs = befs_statfs, /* statfs */
70 .remount_fs = befs_remount, 70 .remount_fs = befs_remount,
@@ -281,17 +281,11 @@ befs_alloc_inode(struct super_block *sb)
281 return &bi->vfs_inode; 281 return &bi->vfs_inode;
282} 282}
283 283
284static void befs_i_callback(struct rcu_head *head) 284static void befs_free_inode(struct inode *inode)
285{ 285{
286 struct inode *inode = container_of(head, struct inode, i_rcu);
287 kmem_cache_free(befs_inode_cachep, BEFS_I(inode)); 286 kmem_cache_free(befs_inode_cachep, BEFS_I(inode));
288} 287}
289 288
290static void befs_destroy_inode(struct inode *inode)
291{
292 call_rcu(&inode->i_rcu, befs_i_callback);
293}
294
295static void init_once(void *foo) 289static void init_once(void *foo)
296{ 290{
297 struct befs_inode_info *bi = (struct befs_inode_info *) foo; 291 struct befs_inode_info *bi = (struct befs_inode_info *) foo;