aboutsummaryrefslogtreecommitdiffstats
path: root/fs/freevxfs
diff options
context:
space:
mode:
Diffstat (limited to 'fs/freevxfs')
-rw-r--r--fs/freevxfs/vxfs.h4
-rw-r--r--fs/freevxfs/vxfs_fshead.c12
-rw-r--r--fs/freevxfs/vxfs_immed.c2
-rw-r--r--fs/freevxfs/vxfs_inode.c6
-rw-r--r--fs/freevxfs/vxfs_subr.c5
-rw-r--r--fs/freevxfs/vxfs_super.c20
6 files changed, 25 insertions, 24 deletions
diff --git a/fs/freevxfs/vxfs.h b/fs/freevxfs/vxfs.h
index 583bd78086d8..d35979a58743 100644
--- a/fs/freevxfs/vxfs.h
+++ b/fs/freevxfs/vxfs.h
@@ -159,11 +159,11 @@ struct vxfs_sb {
159 * In core superblock filesystem private data for VxFS. 159 * In core superblock filesystem private data for VxFS.
160 */ 160 */
161struct vxfs_sb_info { 161struct vxfs_sb_info {
162 struct vxfs_sb *vsi_raw; /* raw (on disk) supeblock */ 162 struct vxfs_sb *vsi_raw; /* raw (on disk) superblock */
163 struct buffer_head *vsi_bp; /* buffer for raw superblock*/ 163 struct buffer_head *vsi_bp; /* buffer for raw superblock*/
164 struct inode *vsi_fship; /* fileset header inode */ 164 struct inode *vsi_fship; /* fileset header inode */
165 struct inode *vsi_ilist; /* inode list inode */ 165 struct inode *vsi_ilist; /* inode list inode */
166 struct inode *vsi_stilist; /* structual inode list inode */ 166 struct inode *vsi_stilist; /* structural inode list inode */
167 u_long vsi_iext; /* initial inode list */ 167 u_long vsi_iext; /* initial inode list */
168 ino_t vsi_fshino; /* fileset header inode */ 168 ino_t vsi_fshino; /* fileset header inode */
169 daddr_t vsi_oltext; /* OLT extent */ 169 daddr_t vsi_oltext; /* OLT extent */
diff --git a/fs/freevxfs/vxfs_fshead.c b/fs/freevxfs/vxfs_fshead.c
index 6dee109aeea4..78948b4b1894 100644
--- a/fs/freevxfs/vxfs_fshead.c
+++ b/fs/freevxfs/vxfs_fshead.c
@@ -112,7 +112,7 @@ vxfs_read_fshead(struct super_block *sbp)
112 112
113 vip = vxfs_blkiget(sbp, infp->vsi_iext, infp->vsi_fshino); 113 vip = vxfs_blkiget(sbp, infp->vsi_iext, infp->vsi_fshino);
114 if (!vip) { 114 if (!vip) {
115 printk(KERN_ERR "vxfs: unabled to read fsh inode\n"); 115 printk(KERN_ERR "vxfs: unable to read fsh inode\n");
116 return -EINVAL; 116 return -EINVAL;
117 } 117 }
118 if (!VXFS_ISFSH(vip)) { 118 if (!VXFS_ISFSH(vip)) {
@@ -129,13 +129,13 @@ vxfs_read_fshead(struct super_block *sbp)
129 129
130 infp->vsi_fship = vxfs_get_fake_inode(sbp, vip); 130 infp->vsi_fship = vxfs_get_fake_inode(sbp, vip);
131 if (!infp->vsi_fship) { 131 if (!infp->vsi_fship) {
132 printk(KERN_ERR "vxfs: unabled to get fsh inode\n"); 132 printk(KERN_ERR "vxfs: unable to get fsh inode\n");
133 goto out_free_fship; 133 goto out_free_fship;
134 } 134 }
135 135
136 sfp = vxfs_getfsh(infp->vsi_fship, 0); 136 sfp = vxfs_getfsh(infp->vsi_fship, 0);
137 if (!sfp) { 137 if (!sfp) {
138 printk(KERN_ERR "vxfs: unabled to get structural fsh\n"); 138 printk(KERN_ERR "vxfs: unable to get structural fsh\n");
139 goto out_iput_fship; 139 goto out_iput_fship;
140 } 140 }
141 141
@@ -145,7 +145,7 @@ vxfs_read_fshead(struct super_block *sbp)
145 145
146 pfp = vxfs_getfsh(infp->vsi_fship, 1); 146 pfp = vxfs_getfsh(infp->vsi_fship, 1);
147 if (!pfp) { 147 if (!pfp) {
148 printk(KERN_ERR "vxfs: unabled to get primary fsh\n"); 148 printk(KERN_ERR "vxfs: unable to get primary fsh\n");
149 goto out_free_sfp; 149 goto out_free_sfp;
150 } 150 }
151 151
@@ -159,7 +159,7 @@ vxfs_read_fshead(struct super_block *sbp)
159 159
160 infp->vsi_stilist = vxfs_get_fake_inode(sbp, tip); 160 infp->vsi_stilist = vxfs_get_fake_inode(sbp, tip);
161 if (!infp->vsi_stilist) { 161 if (!infp->vsi_stilist) {
162 printk(KERN_ERR "vxfs: unabled to get structual list inode\n"); 162 printk(KERN_ERR "vxfs: unable to get structural list inode\n");
163 kfree(tip); 163 kfree(tip);
164 goto out_free_pfp; 164 goto out_free_pfp;
165 } 165 }
@@ -174,7 +174,7 @@ vxfs_read_fshead(struct super_block *sbp)
174 goto out_iput_stilist; 174 goto out_iput_stilist;
175 infp->vsi_ilist = vxfs_get_fake_inode(sbp, tip); 175 infp->vsi_ilist = vxfs_get_fake_inode(sbp, tip);
176 if (!infp->vsi_ilist) { 176 if (!infp->vsi_ilist) {
177 printk(KERN_ERR "vxfs: unabled to get inode list inode\n"); 177 printk(KERN_ERR "vxfs: unable to get inode list inode\n");
178 kfree(tip); 178 kfree(tip);
179 goto out_iput_stilist; 179 goto out_iput_stilist;
180 } 180 }
diff --git a/fs/freevxfs/vxfs_immed.c b/fs/freevxfs/vxfs_immed.c
index 6f5df1700e95..4e25f3fbed86 100644
--- a/fs/freevxfs/vxfs_immed.c
+++ b/fs/freevxfs/vxfs_immed.c
@@ -56,7 +56,7 @@ struct inode_operations vxfs_immed_symlink_iops = {
56/* 56/*
57 * Adress space operations for immed files and directories. 57 * Adress space operations for immed files and directories.
58 */ 58 */
59struct address_space_operations vxfs_immed_aops = { 59const struct address_space_operations vxfs_immed_aops = {
60 .readpage = vxfs_immed_readpage, 60 .readpage = vxfs_immed_readpage,
61}; 61};
62 62
diff --git a/fs/freevxfs/vxfs_inode.c b/fs/freevxfs/vxfs_inode.c
index f544aae9169f..ca6a39714771 100644
--- a/fs/freevxfs/vxfs_inode.c
+++ b/fs/freevxfs/vxfs_inode.c
@@ -41,8 +41,8 @@
41#include "vxfs_extern.h" 41#include "vxfs_extern.h"
42 42
43 43
44extern struct address_space_operations vxfs_aops; 44extern const struct address_space_operations vxfs_aops;
45extern struct address_space_operations vxfs_immed_aops; 45extern const struct address_space_operations vxfs_immed_aops;
46 46
47extern struct inode_operations vxfs_immed_symlink_iops; 47extern struct inode_operations vxfs_immed_symlink_iops;
48 48
@@ -295,7 +295,7 @@ vxfs_read_inode(struct inode *ip)
295{ 295{
296 struct super_block *sbp = ip->i_sb; 296 struct super_block *sbp = ip->i_sb;
297 struct vxfs_inode_info *vip; 297 struct vxfs_inode_info *vip;
298 struct address_space_operations *aops; 298 const struct address_space_operations *aops;
299 ino_t ino = ip->i_ino; 299 ino_t ino = ip->i_ino;
300 300
301 if (!(vip = __vxfs_iget(ino, VXFS_SBI(sbp)->vsi_ilist))) 301 if (!(vip = __vxfs_iget(ino, VXFS_SBI(sbp)->vsi_ilist)))
diff --git a/fs/freevxfs/vxfs_subr.c b/fs/freevxfs/vxfs_subr.c
index 50aae77651b2..decac62efe57 100644
--- a/fs/freevxfs/vxfs_subr.c
+++ b/fs/freevxfs/vxfs_subr.c
@@ -42,7 +42,7 @@
42static int vxfs_readpage(struct file *, struct page *); 42static int vxfs_readpage(struct file *, struct page *);
43static sector_t vxfs_bmap(struct address_space *, sector_t); 43static sector_t vxfs_bmap(struct address_space *, sector_t);
44 44
45struct address_space_operations vxfs_aops = { 45const struct address_space_operations vxfs_aops = {
46 .readpage = vxfs_readpage, 46 .readpage = vxfs_readpage,
47 .bmap = vxfs_bmap, 47 .bmap = vxfs_bmap,
48 .sync_page = block_sync_page, 48 .sync_page = block_sync_page,
@@ -71,8 +71,7 @@ vxfs_get_page(struct address_space *mapping, u_long n)
71{ 71{
72 struct page * pp; 72 struct page * pp;
73 73
74 pp = read_cache_page(mapping, n, 74 pp = read_mapping_page(mapping, n, NULL);
75 (filler_t*)mapping->a_ops->readpage, NULL);
76 75
77 if (!IS_ERR(pp)) { 76 if (!IS_ERR(pp)) {
78 wait_on_page_locked(pp); 77 wait_on_page_locked(pp);
diff --git a/fs/freevxfs/vxfs_super.c b/fs/freevxfs/vxfs_super.c
index b44c916d24a1..b74b791fc23b 100644
--- a/fs/freevxfs/vxfs_super.c
+++ b/fs/freevxfs/vxfs_super.c
@@ -40,6 +40,7 @@
40#include <linux/slab.h> 40#include <linux/slab.h>
41#include <linux/stat.h> 41#include <linux/stat.h>
42#include <linux/vfs.h> 42#include <linux/vfs.h>
43#include <linux/mount.h>
43 44
44#include "vxfs.h" 45#include "vxfs.h"
45#include "vxfs_extern.h" 46#include "vxfs_extern.h"
@@ -55,7 +56,7 @@ MODULE_ALIAS("vxfs"); /* makes mount -t vxfs autoload the module */
55 56
56 57
57static void vxfs_put_super(struct super_block *); 58static void vxfs_put_super(struct super_block *);
58static int vxfs_statfs(struct super_block *, struct kstatfs *); 59static int vxfs_statfs(struct dentry *, struct kstatfs *);
59static int vxfs_remount(struct super_block *, int *, char *); 60static int vxfs_remount(struct super_block *, int *, char *);
60 61
61static struct super_operations vxfs_super_ops = { 62static struct super_operations vxfs_super_ops = {
@@ -90,12 +91,12 @@ vxfs_put_super(struct super_block *sbp)
90 91
91/** 92/**
92 * vxfs_statfs - get filesystem information 93 * vxfs_statfs - get filesystem information
93 * @sbp: VFS superblock 94 * @dentry: VFS dentry to locate superblock
94 * @bufp: output buffer 95 * @bufp: output buffer
95 * 96 *
96 * Description: 97 * Description:
97 * vxfs_statfs fills the statfs buffer @bufp with information 98 * vxfs_statfs fills the statfs buffer @bufp with information
98 * about the filesystem described by @sbp. 99 * about the filesystem described by @dentry.
99 * 100 *
100 * Returns: 101 * Returns:
101 * Zero. 102 * Zero.
@@ -107,12 +108,12 @@ vxfs_put_super(struct super_block *sbp)
107 * This is everything but complete... 108 * This is everything but complete...
108 */ 109 */
109static int 110static int
110vxfs_statfs(struct super_block *sbp, struct kstatfs *bufp) 111vxfs_statfs(struct dentry *dentry, struct kstatfs *bufp)
111{ 112{
112 struct vxfs_sb_info *infp = VXFS_SBI(sbp); 113 struct vxfs_sb_info *infp = VXFS_SBI(dentry->d_sb);
113 114
114 bufp->f_type = VXFS_SUPER_MAGIC; 115 bufp->f_type = VXFS_SUPER_MAGIC;
115 bufp->f_bsize = sbp->s_blocksize; 116 bufp->f_bsize = dentry->d_sb->s_blocksize;
116 bufp->f_blocks = infp->vsi_raw->vs_dsize; 117 bufp->f_blocks = infp->vsi_raw->vs_dsize;
117 bufp->f_bfree = infp->vsi_raw->vs_free; 118 bufp->f_bfree = infp->vsi_raw->vs_free;
118 bufp->f_bavail = 0; 119 bufp->f_bavail = 0;
@@ -241,10 +242,11 @@ out:
241/* 242/*
242 * The usual module blurb. 243 * The usual module blurb.
243 */ 244 */
244static struct super_block *vxfs_get_sb(struct file_system_type *fs_type, 245static int vxfs_get_sb(struct file_system_type *fs_type,
245 int flags, const char *dev_name, void *data) 246 int flags, const char *dev_name, void *data, struct vfsmount *mnt)
246{ 247{
247 return get_sb_bdev(fs_type, flags, dev_name, data, vxfs_fill_super); 248 return get_sb_bdev(fs_type, flags, dev_name, data, vxfs_fill_super,
249 mnt);
248} 250}
249 251
250static struct file_system_type vxfs_fs_type = { 252static struct file_system_type vxfs_fs_type = {