debugfs_mknod(): get rid useless arguments
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 25 Jan 2015 19:09:49 +0000 (14:09 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 25 Jan 2015 21:52:51 +0000 (16:52 -0500)
dev is always zero, dir was only used to get its ->i_sb, which is
equal to ->d_sb of dentry...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/debugfs/inode.c

index c69e00d69ff10100e1f61e8100f7fd53c1e224d7..bc02e2096977a3799981b71c45471544932169b8 100644 (file)
@@ -70,23 +70,18 @@ static struct inode *debugfs_get_inode(struct super_block *sb, umode_t mode, dev
 }
 
 /* SMP-safe */
-static int debugfs_mknod(struct inode *dir, struct dentry *dentry,
-                        umode_t mode, dev_t dev, void *data,
+static int debugfs_mknod(struct dentry *dentry,
+                        umode_t mode, void *data,
                         const struct file_operations *fops)
 {
        struct inode *inode;
-       int error = -EPERM;
 
-       if (dentry->d_inode)
-               return -EEXIST;
-
-       inode = debugfs_get_inode(dir->i_sb, mode, dev, data, fops);
-       if (inode) {
-               d_instantiate(dentry, inode);
-               dget(dentry);
-               error = 0;
-       }
-       return error;
+       inode = debugfs_get_inode(dentry->d_sb, mode, 0, data, fops);
+       if (unlikely(!inode))
+               return -EPERM;
+       d_instantiate(dentry, inode);
+       dget(dentry);
+       return 0;
 }
 
 static int debugfs_mkdir(struct dentry *dentry, umode_t mode)
@@ -95,7 +90,7 @@ static int debugfs_mkdir(struct dentry *dentry, umode_t mode)
        int res;
 
        mode = (mode & (S_IRWXUGO | S_ISVTX)) | S_IFDIR;
-       res = debugfs_mknod(dir, dentry, mode, 0, NULL, NULL);
+       res = debugfs_mknod(dentry, mode, NULL, NULL);
        if (!res) {
                inc_nlink(dir);
                fsnotify_mkdir(dir, dentry);
@@ -110,7 +105,7 @@ static int debugfs_create(struct dentry *dentry, umode_t mode,
        int res;
 
        mode = (mode & S_IALLUGO) | S_IFREG;
-       res = debugfs_mknod(dir, dentry, mode, 0, data, fops);
+       res = debugfs_mknod(dentry, mode, data, fops);
        if (!res)
                fsnotify_create(dir, dentry);
        return res;
@@ -458,8 +453,7 @@ struct dentry *debugfs_create_symlink(const char *name, struct dentry *parent,
                return NULL;
        }
 
-       error = debugfs_mknod(dentry->d_parent->d_inode, dentry,
-                             S_IFLNK | S_IRWXUGO, 0, link, NULL);
+       error = debugfs_mknod(dentry, S_IFLNK | S_IRWXUGO, link, NULL);
        if (error)
                kfree(link);