]> git.hungrycats.org Git - linux/commitdiff
[PATCH] (7/8) ->get_sb() switchover
authorAlexander Viro <viro@math.psu.edu>
Wed, 6 Feb 2002 13:58:09 +0000 (05:58 -0800)
committerLinus Torvalds <torvalds@athlon.transmeta.com>
Wed, 6 Feb 2002 13:58:09 +0000 (05:58 -0800)
converted ramfs/rootfs to ->get_sb().  Use get_sb_nodev() as helper.

fs/ramfs/inode.c

index b8994583f13a8ca92cdb0cbf49e610e3b31025e1..3bed425ec3b81de9cf329fe06c97de93d973d13f 100644 (file)
@@ -302,7 +302,7 @@ static struct super_operations ramfs_ops = {
        put_inode:      force_delete,
 };
 
-static struct super_block *ramfs_read_super(struct super_block * sb, void * data, int silent)
+static int ramfs_fill_super(struct super_block * sb, void * data, int silent)
 {
        struct inode * inode;
        struct dentry * root;
@@ -313,19 +313,33 @@ static struct super_block *ramfs_read_super(struct super_block * sb, void * data
        sb->s_op = &ramfs_ops;
        inode = ramfs_get_inode(sb, S_IFDIR | 0755, 0);
        if (!inode)
-               return NULL;
+               return -ENOMEM;
 
        root = d_alloc_root(inode);
        if (!root) {
                iput(inode);
-               return NULL;
+               return -ENOMEM;
        }
        sb->s_root = root;
-       return sb;
+       return 0;
+}
+
+static struct super_block *ramfs_get_sb(struct file_system_type *fs_type,
+       int flags, char *dev_name, void *data)
+{
+       return get_sb_nodev(fs_type, flags, data, ramfs_fill_super);
 }
 
-static DECLARE_FSTYPE(ramfs_fs_type, "ramfs", ramfs_read_super, FS_LITTER);
-static DECLARE_FSTYPE(rootfs_fs_type, "rootfs", ramfs_read_super, FS_NOMOUNT|FS_LITTER);
+static struct file_system_type ramfs_fs_type = {
+       name:           "ramfs",
+       get_sb:         ramfs_get_sb,
+       fs_flags:       FS_LITTER,
+};
+static struct file_system_type rootfs_fs_type = {
+       name:           "rootfs",
+       get_sb:         ramfs_get_sb,
+       fs_flags:       FS_NOMOUNT|FS_LITTER,
+};
 
 static int __init init_ramfs_fs(void)
 {