diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2019-04-10 15:08:13 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2019-05-01 22:43:23 -0400 |
commit | 49f82a808bb06365f363d257d78260ef7cb03d6e (patch) | |
tree | d8c0a31a383f5c38e6b3101b06a3753680f31f91 | |
parent | 312a679183b0502e4852eed12d1b6ae66a1636ff (diff) |
befs: switch to ->free_inode()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | fs/befs/linuxvfs.c | 12 |
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); |
45 | static struct inode *befs_iget(struct super_block *, unsigned long); | 45 | static struct inode *befs_iget(struct super_block *, unsigned long); |
46 | static struct inode *befs_alloc_inode(struct super_block *sb); | 46 | static struct inode *befs_alloc_inode(struct super_block *sb); |
47 | static void befs_destroy_inode(struct inode *inode); | 47 | static void befs_free_inode(struct inode *inode); |
48 | static void befs_destroy_inodecache(void); | 48 | static void befs_destroy_inodecache(void); |
49 | static int befs_symlink_readpage(struct file *, struct page *); | 49 | static int befs_symlink_readpage(struct file *, struct page *); |
50 | static int befs_utf2nls(struct super_block *sb, const char *in, int in_len, | 50 | static 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 | ||
65 | static const struct super_operations befs_sops = { | 65 | static 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 | ||
284 | static void befs_i_callback(struct rcu_head *head) | 284 | static 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 | ||
290 | static void befs_destroy_inode(struct inode *inode) | ||
291 | { | ||
292 | call_rcu(&inode->i_rcu, befs_i_callback); | ||
293 | } | ||
294 | |||
295 | static void init_once(void *foo) | 289 | static 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; |