linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / fs / qnx4 / inode.c
index 3b25469..80f3291 100644 (file)
@@ -12,6 +12,7 @@
  * 30-06-1998 by Frank Denis : first step to write inodes.
  */
 
+#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/types.h>
 #include <linux/string.h>
@@ -127,7 +128,7 @@ static struct inode *qnx4_alloc_inode(struct super_block *sb);
 static void qnx4_destroy_inode(struct inode *inode);
 static void qnx4_read_inode(struct inode *);
 static int qnx4_remount(struct super_block *sb, int *flags, char *data);
-static int qnx4_statfs(struct dentry *, struct kstatfs *);
+static int qnx4_statfs(struct super_block *, struct kstatfs *);
 
 static struct super_operations qnx4_sops =
 {
@@ -281,10 +282,8 @@ unsigned long qnx4_block_map( struct inode *inode, long iblock )
        return block;
 }
 
-static int qnx4_statfs(struct dentry *dentry, struct kstatfs *buf)
+static int qnx4_statfs(struct super_block *sb, struct kstatfs *buf)
 {
-       struct super_block *sb = dentry->d_sb;
-
        lock_kernel();
 
        buf->f_type    = sb->s_magic;
@@ -449,7 +448,7 @@ static sector_t qnx4_bmap(struct address_space *mapping, sector_t block)
 {
        return generic_block_bmap(mapping,block,qnx4_get_block);
 }
-static const struct address_space_operations qnx4_aops = {
+static struct address_space_operations qnx4_aops = {
        .readpage       = qnx4_readpage,
        .writepage      = qnx4_writepage,
        .sync_page      = block_sync_page,
@@ -497,6 +496,7 @@ static void qnx4_read_inode(struct inode *inode)
        inode->i_ctime.tv_sec   = le32_to_cpu(raw_inode->di_ctime);
        inode->i_ctime.tv_nsec = 0;
        inode->i_blocks  = le32_to_cpu(raw_inode->di_first_xtnt.xtnt_size);
+       inode->i_blksize = QNX4_DIR_ENTRY_SIZE;
 
        memcpy(qnx4_inode, raw_inode, QNX4_DIR_ENTRY_SIZE);
        if (S_ISREG(inode->i_mode)) {
@@ -546,8 +546,7 @@ static int init_inodecache(void)
 {
        qnx4_inode_cachep = kmem_cache_create("qnx4_inode_cache",
                                             sizeof(struct qnx4_inode_info),
-                                            0, (SLAB_RECLAIM_ACCOUNT|
-                                               SLAB_MEM_SPREAD),
+                                            0, SLAB_RECLAIM_ACCOUNT,
                                             init_once, NULL);
        if (qnx4_inode_cachep == NULL)
                return -ENOMEM;
@@ -561,11 +560,10 @@ static void destroy_inodecache(void)
                       "qnx4_inode_cache: not all structures were freed\n");
 }
 
-static int qnx4_get_sb(struct file_system_type *fs_type,
-       int flags, const char *dev_name, void *data, struct vfsmount *mnt)
+static struct super_block *qnx4_get_sb(struct file_system_type *fs_type,
+       int flags, const char *dev_name, void *data)
 {
-       return get_sb_bdev(fs_type, flags, dev_name, data, qnx4_fill_super,
-                          mnt);
+       return get_sb_bdev(fs_type, flags, dev_name, data, qnx4_fill_super);
 }
 
 static struct file_system_type qnx4_fs_type = {