diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2015-01-25 14:09:49 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2015-01-25 16:52:51 -0500 |
commit | 160f7592f2364b47c615cff96117f0877d58e427 (patch) | |
tree | 46e3980cf2795fc0896d692918e19a2de9594e2a /fs/debugfs | |
parent | 9b73fab01bcd62530e8c9a5da44d3ed8a753b3eb (diff) | |
download | linux-160f7592f2364b47c615cff96117f0877d58e427.tar.gz linux-160f7592f2364b47c615cff96117f0877d58e427.tar.bz2 linux-160f7592f2364b47c615cff96117f0877d58e427.zip |
debugfs_mknod(): get rid useless arguments
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>
Diffstat (limited to 'fs/debugfs')
-rw-r--r-- | fs/debugfs/inode.c | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c index c69e00d69ff1..bc02e2096977 100644 --- a/fs/debugfs/inode.c +++ b/fs/debugfs/inode.c @@ -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); |