diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
commit | c71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch) | |
tree | ecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /fs/minix/inode.c | |
parent | ea53c912f8a86a8567697115b6a0d8152beee5c8 (diff) | |
parent | 6a00f206debf8a5c8899055726ad127dbeeed098 (diff) |
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts:
litmus/sched_cedf.c
Diffstat (limited to 'fs/minix/inode.c')
-rw-r--r-- | fs/minix/inode.c | 19 |
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 | ||
71 | static void minix_destroy_inode(struct inode *inode) | 71 | static 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 | ||
78 | static void minix_destroy_inode(struct inode *inode) | ||
79 | { | ||
80 | call_rcu(&inode->i_rcu, minix_i_callback); | ||
81 | } | ||
82 | |||
76 | static void init_once(void *foo) | 83 | static 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) | |||
392 | static const struct address_space_operations minix_aops = { | 399 | static 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 | ||
617 | static int minix_get_sb(struct file_system_type *fs_type, | 623 | static 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 | ||
624 | static struct file_system_type minix_fs_type = { | 629 | static 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 | }; |