aboutsummaryrefslogtreecommitdiffstats
path: root/fs/minix/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/minix/inode.c')
-rw-r--r--fs/minix/inode.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/fs/minix/inode.c b/fs/minix/inode.c
index e39d6bf2e8fb..adcdc0a4e182 100644
--- a/fs/minix/inode.c
+++ b/fs/minix/inode.c
@@ -68,11 +68,18 @@ static struct inode *minix_alloc_inode(struct super_block *sb)
68 return &ei->vfs_inode; 68 return &ei->vfs_inode;
69} 69}
70 70
71static void minix_destroy_inode(struct inode *inode) 71static void minix_i_callback(struct rcu_head *head)
72{ 72{
73 struct inode *inode = container_of(head, struct inode, i_rcu);
74 INIT_LIST_HEAD(&inode->i_dentry);
73 kmem_cache_free(minix_inode_cachep, minix_i(inode)); 75 kmem_cache_free(minix_inode_cachep, minix_i(inode));
74} 76}
75 77
78static void minix_destroy_inode(struct inode *inode)
79{
80 call_rcu(&inode->i_rcu, minix_i_callback);
81}
82
76static void init_once(void *foo) 83static void init_once(void *foo)
77{ 84{
78 struct minix_inode_info *ei = (struct minix_inode_info *) foo; 85 struct minix_inode_info *ei = (struct minix_inode_info *) foo;
@@ -392,7 +399,6 @@ static sector_t minix_bmap(struct address_space *mapping, sector_t block)
392static const struct address_space_operations minix_aops = { 399static const struct address_space_operations minix_aops = {
393 .readpage = minix_readpage, 400 .readpage = minix_readpage,
394 .writepage = minix_writepage, 401 .writepage = minix_writepage,
395 .sync_page = block_sync_page,
396 .write_begin = minix_write_begin, 402 .write_begin = minix_write_begin,
397 .write_end = generic_write_end, 403 .write_end = generic_write_end,
398 .bmap = minix_bmap 404 .bmap = minix_bmap
@@ -614,17 +620,16 @@ void minix_truncate(struct inode * inode)
614 V2_minix_truncate(inode); 620 V2_minix_truncate(inode);
615} 621}
616 622
617static int minix_get_sb(struct file_system_type *fs_type, 623static struct dentry *minix_mount(struct file_system_type *fs_type,
618 int flags, const char *dev_name, void *data, struct vfsmount *mnt) 624 int flags, const char *dev_name, void *data)
619{ 625{
620 return get_sb_bdev(fs_type, flags, dev_name, data, minix_fill_super, 626 return mount_bdev(fs_type, flags, dev_name, data, minix_fill_super);
621 mnt);
622} 627}
623 628
624static struct file_system_type minix_fs_type = { 629static struct file_system_type minix_fs_type = {
625 .owner = THIS_MODULE, 630 .owner = THIS_MODULE,
626 .name = "minix", 631 .name = "minix",
627 .get_sb = minix_get_sb, 632 .mount = minix_mount,
628 .kill_sb = kill_block_super, 633 .kill_sb = kill_block_super,
629 .fs_flags = FS_REQUIRES_DEV, 634 .fs_flags = FS_REQUIRES_DEV,
630}; 635};