]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - fs/ramfs/inode.c
tidy up after d_make_root() conversion
[mirror_ubuntu-bionic-kernel.git] / fs / ramfs / inode.c
index 462ceb38fec6e350a6d223a10f3c7442681ba6a5..a1fdabe21dec4e93a42bc101d6a32b480cc89c23 100644 (file)
@@ -52,7 +52,7 @@ static struct backing_dev_info ramfs_backing_dev_info = {
 };
 
 struct inode *ramfs_get_inode(struct super_block *sb,
-                               const struct inode *dir, int mode, dev_t dev)
+                               const struct inode *dir, umode_t mode, dev_t dev)
 {
        struct inode * inode = new_inode(sb);
 
@@ -92,7 +92,7 @@ struct inode *ramfs_get_inode(struct super_block *sb,
  */
 /* SMP-safe */
 static int
-ramfs_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t dev)
+ramfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t dev)
 {
        struct inode * inode = ramfs_get_inode(dir->i_sb, dir, mode, dev);
        int error = -ENOSPC;
@@ -106,7 +106,7 @@ ramfs_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t dev)
        return error;
 }
 
-static int ramfs_mkdir(struct inode * dir, struct dentry * dentry, int mode)
+static int ramfs_mkdir(struct inode * dir, struct dentry * dentry, umode_t mode)
 {
        int retval = ramfs_mknod(dir, dentry, mode | S_IFDIR, 0);
        if (!retval)
@@ -114,7 +114,7 @@ static int ramfs_mkdir(struct inode * dir, struct dentry * dentry, int mode)
        return retval;
 }
 
-static int ramfs_create(struct inode *dir, struct dentry *dentry, int mode, struct nameidata *nd)
+static int ramfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, struct nameidata *nd)
 {
        return ramfs_mknod(dir, dentry, mode | S_IFREG, 0);
 }
@@ -209,22 +209,19 @@ static int ramfs_parse_options(char *data, struct ramfs_mount_opts *opts)
 int ramfs_fill_super(struct super_block *sb, void *data, int silent)
 {
        struct ramfs_fs_info *fsi;
-       struct inode *inode = NULL;
-       struct dentry *root;
+       struct inode *inode;
        int err;
 
        save_mount_options(sb, data);
 
        fsi = kzalloc(sizeof(struct ramfs_fs_info), GFP_KERNEL);
        sb->s_fs_info = fsi;
-       if (!fsi) {
-               err = -ENOMEM;
-               goto fail;
-       }
+       if (!fsi)
+               return -ENOMEM;
 
        err = ramfs_parse_options(data, &fsi->mount_opts);
        if (err)
-               goto fail;
+               return err;
 
        sb->s_maxbytes          = MAX_LFS_FILESIZE;
        sb->s_blocksize         = PAGE_CACHE_SIZE;
@@ -234,24 +231,11 @@ int ramfs_fill_super(struct super_block *sb, void *data, int silent)
        sb->s_time_gran         = 1;
 
        inode = ramfs_get_inode(sb, NULL, S_IFDIR | fsi->mount_opts.mode, 0);
-       if (!inode) {
-               err = -ENOMEM;
-               goto fail;
-       }
-
-       root = d_alloc_root(inode);
-       sb->s_root = root;
-       if (!root) {
-               err = -ENOMEM;
-               goto fail;
-       }
+       sb->s_root = d_make_root(inode);
+       if (!sb->s_root)
+               return -ENOMEM;
 
        return 0;
-fail:
-       kfree(fsi);
-       sb->s_fs_info = NULL;
-       iput(inode);
-       return err;
 }
 
 struct dentry *ramfs_mount(struct file_system_type *fs_type,