include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit...
[safe/jmp/linux-2.6] / arch / s390 / hypfs / inode.c
index dc2d666..c53f8ac 100644 (file)
@@ -14,8 +14,8 @@
 #include <linux/fs.h>
 #include <linux/namei.h>
 #include <linux/vfs.h>
+#include <linux/slab.h>
 #include <linux/pagemap.h>
-#include <linux/gfp.h>
 #include <linux/time.h>
 #include <linux/parser.h>
 #include <linux/sysfs.h>
@@ -288,46 +288,30 @@ static int hypfs_fill_super(struct super_block *sb, void *data, int silent)
        sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
        sb->s_magic = HYPFS_MAGIC;
        sb->s_op = &hypfs_s_ops;
-       if (hypfs_parse_options(data, sb)) {
-               rc = -EINVAL;
-               goto err_alloc;
-       }
+       if (hypfs_parse_options(data, sb))
+               return -EINVAL;
        root_inode = hypfs_make_inode(sb, S_IFDIR | 0755);
-       if (!root_inode) {
-               rc = -ENOMEM;
-               goto err_alloc;
-       }
+       if (!root_inode)
+               return -ENOMEM;
        root_inode->i_op = &simple_dir_inode_operations;
        root_inode->i_fop = &simple_dir_operations;
-       root_dentry = d_alloc_root(root_inode);
+       sb->s_root = root_dentry = d_alloc_root(root_inode);
        if (!root_dentry) {
                iput(root_inode);
-               rc = -ENOMEM;
-               goto err_alloc;
+               return -ENOMEM;
        }
        if (MACHINE_IS_VM)
                rc = hypfs_vm_create_files(sb, root_dentry);
        else
                rc = hypfs_diag_create_files(sb, root_dentry);
        if (rc)
-               goto err_tree;
+               return rc;
        sbi->update_file = hypfs_create_update_file(sb, root_dentry);
-       if (IS_ERR(sbi->update_file)) {
-               rc = PTR_ERR(sbi->update_file);
-               goto err_tree;
-       }
+       if (IS_ERR(sbi->update_file))
+               return PTR_ERR(sbi->update_file);
        hypfs_update_update(sb);
-       sb->s_root = root_dentry;
        pr_info("Hypervisor filesystem mounted\n");
        return 0;
-
-err_tree:
-       hypfs_delete_tree(root_dentry);
-       d_genocide(root_dentry);
-       dput(root_dentry);
-err_alloc:
-       kfree(sbi);
-       return rc;
 }
 
 static int hypfs_get_super(struct file_system_type *fst, int flags,
@@ -340,12 +324,12 @@ static void hypfs_kill_super(struct super_block *sb)
 {
        struct hypfs_sb_info *sb_info = sb->s_fs_info;
 
-       if (sb->s_root) {
+       if (sb->s_root)
                hypfs_delete_tree(sb->s_root);
+       if (sb_info->update_file)
                hypfs_remove(sb_info->update_file);
-               kfree(sb->s_fs_info);
-               sb->s_fs_info = NULL;
-       }
+       kfree(sb->s_fs_info);
+       sb->s_fs_info = NULL;
        kill_litter_super(sb);
 }
 
@@ -496,7 +480,7 @@ static int __init hypfs_init(void)
        }
        s390_kobj = kobject_create_and_add("s390", hypervisor_kobj);
        if (!s390_kobj) {
-               rc = -ENOMEM;;
+               rc = -ENOMEM;
                goto fail_sysfs;
        }
        rc = register_filesystem(&hypfs_type);