linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / fs / minix / inode.c
index f8c7b02..790cc0d 100644 (file)
@@ -19,7 +19,7 @@
 
 static void minix_read_inode(struct inode * inode);
 static int minix_write_inode(struct inode * inode, int wait);
-static int minix_statfs(struct dentry *dentry, struct kstatfs *buf);
+static int minix_statfs(struct super_block *sb, struct kstatfs *buf);
 static int minix_remount (struct super_block * sb, int * flags, char * data);
 
 static void minix_delete_inode(struct inode *inode)
@@ -80,8 +80,7 @@ static int init_inodecache(void)
 {
        minix_inode_cachep = kmem_cache_create("minix_inode_cache",
                                             sizeof(struct minix_inode_info),
-                                            0, (SLAB_RECLAIM_ACCOUNT|
-                                               SLAB_MEM_SPREAD),
+                                            0, SLAB_RECLAIM_ACCOUNT,
                                             init_once, NULL);
        if (minix_inode_cachep == NULL)
                return -ENOMEM;
@@ -127,11 +126,11 @@ static int minix_remount (struct super_block * sb, int * flags, char * data)
                mark_buffer_dirty(sbi->s_sbh);
 
                if (!(sbi->s_mount_state & MINIX_VALID_FS))
-                       printk("MINIX-fs warning: remounting unchecked fs, "
-                               "running fsck is recommended\n");
+                       printk ("MINIX-fs warning: remounting unchecked fs, "
+                               "running fsck is recommended.\n");
                else if ((sbi->s_mount_state & MINIX_ERROR_FS))
-                       printk("MINIX-fs warning: remounting fs with errors, "
-                               "running fsck is recommended\n");
+                       printk ("MINIX-fs warning: remounting fs with errors, "
+                               "running fsck is recommended.\n");
        }
        return 0;
 }
@@ -204,8 +203,6 @@ static int minix_fill_super(struct super_block *s, void *data, int silent)
        /*
         * Allocate the buffer map to keep the superblock small.
         */
-       if (sbi->s_imap_blocks == 0 || sbi->s_zmap_blocks == 0)
-               goto out_illegal_sb;
        i = (sbi->s_imap_blocks + sbi->s_zmap_blocks) * sizeof(bh);
        map = kmalloc(i, GFP_KERNEL);
        if (!map)
@@ -247,11 +244,11 @@ static int minix_fill_super(struct super_block *s, void *data, int silent)
                mark_buffer_dirty(bh);
        }
        if (!(sbi->s_mount_state & MINIX_VALID_FS))
-               printk("MINIX-fs: mounting unchecked file system, "
-                       "running fsck is recommended\n");
+               printk ("MINIX-fs: mounting unchecked file system, "
+                       "running fsck is recommended.\n");
        else if (sbi->s_mount_state & MINIX_ERROR_FS)
-               printk("MINIX-fs: mounting file system with errors, "
-                       "running fsck is recommended\n");
+               printk ("MINIX-fs: mounting file system with errors, "
+                       "running fsck is recommended.\n");
        return 0;
 
 out_iput:
@@ -265,7 +262,7 @@ out_no_root:
 
 out_no_bitmap:
        printk("MINIX-fs: bad superblock or unable to read bitmaps\n");
-out_freemap:
+    out_freemap:
        for (i = 0; i < sbi->s_imap_blocks; i++)
                brelse(sbi->s_imap[i]);
        for (i = 0; i < sbi->s_zmap_blocks; i++)
@@ -275,39 +272,34 @@ out_freemap:
 
 out_no_map:
        if (!silent)
-               printk("MINIX-fs: can't allocate map\n");
-       goto out_release;
-
-out_illegal_sb:
-       if (!silent)
-               printk("MINIX-fs: bad superblock\n");
+               printk ("MINIX-fs: can't allocate map\n");
        goto out_release;
 
 out_no_fs:
        if (!silent)
-               printk("VFS: Can't find a Minix or Minix V2 filesystem "
-                       "on device %s\n", s->s_id);
-out_release:
+               printk("VFS: Can't find a Minix or Minix V2 filesystem on device "
+                      "%s.\n", s->s_id);
+    out_release:
        brelse(bh);
        goto out;
 
 out_bad_hblock:
-       printk("MINIX-fs: blocksize too small for device\n");
+       printk("MINIX-fs: blocksize too small for device.\n");
        goto out;
 
 out_bad_sb:
        printk("MINIX-fs: unable to read superblock\n");
-out:
+ out:
        s->s_fs_info = NULL;
        kfree(sbi);
        return -EINVAL;
 }
 
-static int minix_statfs(struct dentry *dentry, struct kstatfs *buf)
+static int minix_statfs(struct super_block *sb, struct kstatfs *buf)
 {
-       struct minix_sb_info *sbi = minix_sb(dentry->d_sb);
-       buf->f_type = dentry->d_sb->s_magic;
-       buf->f_bsize = dentry->d_sb->s_blocksize;
+       struct minix_sb_info *sbi = minix_sb(sb);
+       buf->f_type = sb->s_magic;
+       buf->f_bsize = sb->s_blocksize;
        buf->f_blocks = (sbi->s_nzones - sbi->s_firstdatazone) << sbi->s_log_zone_size;
        buf->f_bfree = minix_count_free_blocks(sbi);
        buf->f_bavail = buf->f_bfree;
@@ -342,7 +334,7 @@ static sector_t minix_bmap(struct address_space *mapping, sector_t block)
 {
        return generic_block_bmap(mapping,block,minix_get_block);
 }
-static const struct address_space_operations minix_aops = {
+static struct address_space_operations minix_aops = {
        .readpage = minix_readpage,
        .writepage = minix_writepage,
        .sync_page = block_sync_page,
@@ -399,7 +391,7 @@ static void V1_minix_read_inode(struct inode * inode)
        inode->i_mtime.tv_nsec = 0;
        inode->i_atime.tv_nsec = 0;
        inode->i_ctime.tv_nsec = 0;
-       inode->i_blocks = 0;
+       inode->i_blocks = inode->i_blksize = 0;
        for (i = 0; i < 9; i++)
                minix_inode->u.i1_data[i] = raw_inode->i_zone[i];
        minix_set_inode(inode, old_decode_dev(raw_inode->i_zone[0]));
@@ -432,7 +424,7 @@ static void V2_minix_read_inode(struct inode * inode)
        inode->i_mtime.tv_nsec = 0;
        inode->i_atime.tv_nsec = 0;
        inode->i_ctime.tv_nsec = 0;
-       inode->i_blocks = 0;
+       inode->i_blocks = inode->i_blksize = 0;
        for (i = 0; i < 10; i++)
                minix_inode->u.i2_data[i] = raw_inode->i_zone[i];
        minix_set_inode(inode, old_decode_dev(raw_inode->i_zone[0]));
@@ -531,7 +523,7 @@ int minix_sync_inode(struct inode * inode)
                sync_dirty_buffer(bh);
                if (buffer_req(bh) && !buffer_uptodate(bh))
                {
-                       printk("IO error syncing minix inode [%s:%08lx]\n",
+                       printk ("IO error syncing minix inode [%s:%08lx]\n",
                                inode->i_sb->s_id, inode->i_ino);
                        err = -1;
                }
@@ -566,11 +558,10 @@ void minix_truncate(struct inode * inode)
                V2_minix_truncate(inode);
 }
 
-static int minix_get_sb(struct file_system_type *fs_type,
-       int flags, const char *dev_name, void *data, struct vfsmount *mnt)
+static struct super_block *minix_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, minix_fill_super,
-                          mnt);
+       return get_sb_bdev(fs_type, flags, dev_name, data, minix_fill_super);
 }
 
 static struct file_system_type minix_fs_type = {