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/befs/linuxvfs.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/befs/linuxvfs.c')
-rw-r--r-- | fs/befs/linuxvfs.c | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/fs/befs/linuxvfs.c b/fs/befs/linuxvfs.c index dc39d2824885..54b8c28bebc8 100644 --- a/fs/befs/linuxvfs.c +++ b/fs/befs/linuxvfs.c | |||
@@ -75,7 +75,6 @@ static const struct inode_operations befs_dir_inode_operations = { | |||
75 | 75 | ||
76 | static const struct address_space_operations befs_aops = { | 76 | static const struct address_space_operations befs_aops = { |
77 | .readpage = befs_readpage, | 77 | .readpage = befs_readpage, |
78 | .sync_page = block_sync_page, | ||
79 | .bmap = befs_bmap, | 78 | .bmap = befs_bmap, |
80 | }; | 79 | }; |
81 | 80 | ||
@@ -284,12 +283,18 @@ befs_alloc_inode(struct super_block *sb) | |||
284 | return &bi->vfs_inode; | 283 | return &bi->vfs_inode; |
285 | } | 284 | } |
286 | 285 | ||
287 | static void | 286 | static void befs_i_callback(struct rcu_head *head) |
288 | befs_destroy_inode(struct inode *inode) | ||
289 | { | 287 | { |
288 | struct inode *inode = container_of(head, struct inode, i_rcu); | ||
289 | INIT_LIST_HEAD(&inode->i_dentry); | ||
290 | kmem_cache_free(befs_inode_cachep, BEFS_I(inode)); | 290 | kmem_cache_free(befs_inode_cachep, BEFS_I(inode)); |
291 | } | 291 | } |
292 | 292 | ||
293 | static void befs_destroy_inode(struct inode *inode) | ||
294 | { | ||
295 | call_rcu(&inode->i_rcu, befs_i_callback); | ||
296 | } | ||
297 | |||
293 | static void init_once(void *foo) | 298 | static void init_once(void *foo) |
294 | { | 299 | { |
295 | struct befs_inode_info *bi = (struct befs_inode_info *) foo; | 300 | struct befs_inode_info *bi = (struct befs_inode_info *) foo; |
@@ -384,7 +389,7 @@ static struct inode *befs_iget(struct super_block *sb, unsigned long ino) | |||
384 | int num_blks; | 389 | int num_blks; |
385 | 390 | ||
386 | befs_ino->i_data.ds = | 391 | befs_ino->i_data.ds = |
387 | fsds_to_cpu(sb, raw_inode->data.datastream); | 392 | fsds_to_cpu(sb, &raw_inode->data.datastream); |
388 | 393 | ||
389 | num_blks = befs_count_blocks(sb, &befs_ino->i_data.ds); | 394 | num_blks = befs_count_blocks(sb, &befs_ino->i_data.ds); |
390 | inode->i_blocks = | 395 | inode->i_blocks = |
@@ -729,7 +734,7 @@ parse_options(char *options, befs_mount_options * opts) | |||
729 | 734 | ||
730 | /* This function has the responsibiltiy of getting the | 735 | /* This function has the responsibiltiy of getting the |
731 | * filesystem ready for unmounting. | 736 | * filesystem ready for unmounting. |
732 | * Basicly, we free everything that we allocated in | 737 | * Basically, we free everything that we allocated in |
733 | * befs_read_inode | 738 | * befs_read_inode |
734 | */ | 739 | */ |
735 | static void | 740 | static void |
@@ -913,18 +918,17 @@ befs_statfs(struct dentry *dentry, struct kstatfs *buf) | |||
913 | return 0; | 918 | return 0; |
914 | } | 919 | } |
915 | 920 | ||
916 | static int | 921 | static struct dentry * |
917 | befs_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, | 922 | befs_mount(struct file_system_type *fs_type, int flags, const char *dev_name, |
918 | void *data, struct vfsmount *mnt) | 923 | void *data) |
919 | { | 924 | { |
920 | return get_sb_bdev(fs_type, flags, dev_name, data, befs_fill_super, | 925 | return mount_bdev(fs_type, flags, dev_name, data, befs_fill_super); |
921 | mnt); | ||
922 | } | 926 | } |
923 | 927 | ||
924 | static struct file_system_type befs_fs_type = { | 928 | static struct file_system_type befs_fs_type = { |
925 | .owner = THIS_MODULE, | 929 | .owner = THIS_MODULE, |
926 | .name = "befs", | 930 | .name = "befs", |
927 | .get_sb = befs_get_sb, | 931 | .mount = befs_mount, |
928 | .kill_sb = kill_block_super, | 932 | .kill_sb = kill_block_super, |
929 | .fs_flags = FS_REQUIRES_DEV, | 933 | .fs_flags = FS_REQUIRES_DEV, |
930 | }; | 934 | }; |