fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / fs / hppfs / hppfs_kern.c
index a44dc58..afd340a 100644 (file)
@@ -152,7 +152,6 @@ static void hppfs_read_inode(struct inode *ino)
        ino->i_mode = proc_ino->i_mode;
        ino->i_nlink = proc_ino->i_nlink;
        ino->i_size = proc_ino->i_size;
-       ino->i_blksize = proc_ino->i_blksize;
        ino->i_blocks = proc_ino->i_blocks;
 }
 
@@ -216,13 +215,13 @@ static struct dentry *hppfs_lookup(struct inode *ino, struct dentry *dentry,
 static struct inode_operations hppfs_file_iops = {
 };
 
-static ssize_t read_proc(struct file *file, char *buf, ssize_t count,
+static ssize_t read_proc(struct file *file, char __user *buf, ssize_t count,
                         loff_t *ppos, int is_user)
 {
-       ssize_t (*read)(struct file *, char *, size_t, loff_t *);
+       ssize_t (*read)(struct file *, char __user *, size_t, loff_t *);
        ssize_t n;
 
-       read = file->f_dentry->d_inode->i_fop->read;
+       read = file->f_path.dentry->d_inode->i_fop->read;
 
        if(!is_user)
                set_fs(KERNEL_DS);
@@ -236,7 +235,7 @@ static ssize_t read_proc(struct file *file, char *buf, ssize_t count,
        return n;
 }
 
-static ssize_t hppfs_read_file(int fd, char *buf, ssize_t count)
+static ssize_t hppfs_read_file(int fd, char __user *buf, ssize_t count)
 {
        ssize_t n;
        int cur, err;
@@ -274,7 +273,7 @@ static ssize_t hppfs_read_file(int fd, char *buf, ssize_t count)
        return n;
 }
 
-static ssize_t hppfs_read(struct file *file, char *buf, size_t count,
+static ssize_t hppfs_read(struct file *file, char __user *buf, size_t count,
                          loff_t *ppos)
 {
        struct hppfs_private *hppfs = file->private_data;
@@ -313,15 +312,15 @@ static ssize_t hppfs_read(struct file *file, char *buf, size_t count,
        return(count);
 }
 
-static ssize_t hppfs_write(struct file *file, const char *buf, size_t len,
+static ssize_t hppfs_write(struct file *file, const char __user *buf, size_t len,
                           loff_t *ppos)
 {
        struct hppfs_private *data = file->private_data;
        struct file *proc_file = data->proc_file;
-       ssize_t (*write)(struct file *, const char *, size_t, loff_t *);
+       ssize_t (*write)(struct file *, const char __user *, size_t, loff_t *);
        int err;
 
-       write = proc_file->f_dentry->d_inode->i_fop->write;
+       write = proc_file->f_path.dentry->d_inode->i_fop->write;
 
        proc_file->f_pos = file->f_pos;
        err = (*write)(proc_file, buf, len, &proc_file->f_pos);
@@ -465,7 +464,7 @@ static int hppfs_open(struct inode *inode, struct file *file)
        if(data == NULL)
                goto out;
 
-       host_file = dentry_name(file->f_dentry, strlen("/rw"));
+       host_file = dentry_name(file->f_path.dentry, strlen("/rw"));
        if(host_file == NULL)
                goto out_free2;
 
@@ -548,7 +547,7 @@ static loff_t hppfs_llseek(struct file *file, loff_t off, int where)
        loff_t (*llseek)(struct file *, loff_t, int);
        loff_t ret;
 
-       llseek = proc_file->f_dentry->d_inode->i_fop->llseek;
+       llseek = proc_file->f_path.dentry->d_inode->i_fop->llseek;
        if(llseek != NULL){
                ret = (*llseek)(proc_file, off, where);
                if(ret < 0)
@@ -558,7 +557,7 @@ static loff_t hppfs_llseek(struct file *file, loff_t off, int where)
        return(default_llseek(file, off, where));
 }
 
-static struct file_operations hppfs_file_fops = {
+static const struct file_operations hppfs_file_fops = {
        .owner          = NULL,
        .llseek         = hppfs_llseek,
        .read           = hppfs_read,
@@ -573,7 +572,7 @@ struct hppfs_dirent {
 };
 
 static int hppfs_filldir(void *d, const char *name, int size,
-                        loff_t offset, ino_t inode, unsigned int type)
+                        loff_t offset, u64 inode, unsigned int type)
 {
        struct hppfs_dirent *dirent = d;
 
@@ -592,10 +591,10 @@ static int hppfs_readdir(struct file *file, void *ent, filldir_t filldir)
        struct hppfs_dirent dirent = ((struct hppfs_dirent)
                                      { .vfs_dirent     = ent,
                                        .filldir        = filldir,
-                                       .dentry         = file->f_dentry } );
+                                       .dentry         = file->f_path.dentry } );
        int err;
 
-       readdir = proc_file->f_dentry->d_inode->i_fop->readdir;
+       readdir = proc_file->f_path.dentry->d_inode->i_fop->readdir;
 
        proc_file->f_pos = file->f_pos;
        err = (*readdir)(proc_file, &dirent, hppfs_filldir);
@@ -609,14 +608,14 @@ static int hppfs_fsync(struct file *file, struct dentry *dentry, int datasync)
        return(0);
 }
 
-static struct file_operations hppfs_dir_fops = {
+static const struct file_operations hppfs_dir_fops = {
        .owner          = NULL,
        .readdir        = hppfs_readdir,
        .open           = hppfs_dir_open,
        .fsync          = hppfs_fsync,
 };
 
-static int hppfs_statfs(struct super_block *sb, struct kstatfs *sf)
+static int hppfs_statfs(struct dentry *dentry, struct kstatfs *sf)
 {
        sf->f_blocks = 0;
        sf->f_bfree = 0;
@@ -658,7 +657,7 @@ static struct super_operations hppfs_sbops = {
        .statfs         = hppfs_statfs,
 };
 
-static int hppfs_readlink(struct dentry *dentry, char *buffer, int buflen)
+static int hppfs_readlink(struct dentry *dentry, char __user *buffer, int buflen)
 {
        struct file *proc_file;
        struct dentry *proc_dentry;
@@ -769,11 +768,11 @@ static int hppfs_fill_super(struct super_block *sb, void *d, int silent)
        return(err);
 }
 
-static struct super_block *hppfs_read_super(struct file_system_type *type,
-                                            int flags, const char *dev_name,
-                                            void *data)
+static int hppfs_read_super(struct file_system_type *type,
+                           int flags, const char *dev_name,
+                           void *data, struct vfsmount *mnt)
 {
-       return(get_sb_nodev(type, flags, data, hppfs_fill_super));
+       return get_sb_nodev(type, flags, data, hppfs_fill_super, mnt);
 }
 
 static struct file_system_type hppfs_type = {