[patch 5/5] vfs: remove mode parameter from vfs_symlink()
Remove the unused mode parameter from vfs_symlink and callers. Thanks to Tetsuo Handa for noticing. CC: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
This commit is contained in:
parent
7e79eedb3b
commit
db2e747b14
4 changed files with 6 additions and 14 deletions
|
@ -465,7 +465,6 @@ static int ecryptfs_symlink(struct inode *dir, struct dentry *dentry,
|
|||
int rc;
|
||||
struct dentry *lower_dentry;
|
||||
struct dentry *lower_dir_dentry;
|
||||
umode_t mode;
|
||||
char *encoded_symname;
|
||||
int encoded_symlen;
|
||||
struct ecryptfs_crypt_stat *crypt_stat = NULL;
|
||||
|
@ -473,7 +472,6 @@ static int ecryptfs_symlink(struct inode *dir, struct dentry *dentry,
|
|||
lower_dentry = ecryptfs_dentry_to_lower(dentry);
|
||||
dget(lower_dentry);
|
||||
lower_dir_dentry = lock_parent(lower_dentry);
|
||||
mode = S_IALLUGO;
|
||||
encoded_symlen = ecryptfs_encode_filename(crypt_stat, symname,
|
||||
strlen(symname),
|
||||
&encoded_symname);
|
||||
|
@ -482,7 +480,7 @@ static int ecryptfs_symlink(struct inode *dir, struct dentry *dentry,
|
|||
goto out_lock;
|
||||
}
|
||||
rc = vfs_symlink(lower_dir_dentry->d_inode, lower_dentry,
|
||||
encoded_symname, mode);
|
||||
encoded_symname);
|
||||
kfree(encoded_symname);
|
||||
if (rc || !lower_dentry->d_inode)
|
||||
goto out_lock;
|
||||
|
|
|
@ -2434,7 +2434,7 @@ asmlinkage long sys_unlink(const char __user *pathname)
|
|||
return do_unlinkat(AT_FDCWD, pathname);
|
||||
}
|
||||
|
||||
int vfs_symlink(struct inode *dir, struct dentry *dentry, const char *oldname, int mode)
|
||||
int vfs_symlink(struct inode *dir, struct dentry *dentry, const char *oldname)
|
||||
{
|
||||
int error = may_create(dir, dentry, NULL);
|
||||
|
||||
|
@ -2483,7 +2483,7 @@ asmlinkage long sys_symlinkat(const char __user *oldname,
|
|||
error = mnt_want_write(nd.path.mnt);
|
||||
if (error)
|
||||
goto out_dput;
|
||||
error = vfs_symlink(nd.path.dentry->d_inode, dentry, from, S_IALLUGO);
|
||||
error = vfs_symlink(nd.path.dentry->d_inode, dentry, from);
|
||||
mnt_drop_write(nd.path.mnt);
|
||||
out_dput:
|
||||
dput(dentry);
|
||||
|
|
|
@ -1516,7 +1516,6 @@ nfsd_symlink(struct svc_rqst *rqstp, struct svc_fh *fhp,
|
|||
struct dentry *dentry, *dnew;
|
||||
__be32 err, cerr;
|
||||
int host_err;
|
||||
umode_t mode;
|
||||
|
||||
err = nfserr_noent;
|
||||
if (!flen || !plen)
|
||||
|
@ -1535,11 +1534,6 @@ nfsd_symlink(struct svc_rqst *rqstp, struct svc_fh *fhp,
|
|||
if (IS_ERR(dnew))
|
||||
goto out_nfserr;
|
||||
|
||||
mode = S_IALLUGO;
|
||||
/* Only the MODE ATTRibute is even vaguely meaningful */
|
||||
if (iap && (iap->ia_valid & ATTR_MODE))
|
||||
mode = iap->ia_mode & S_IALLUGO;
|
||||
|
||||
host_err = mnt_want_write(fhp->fh_export->ex_path.mnt);
|
||||
if (host_err)
|
||||
goto out_nfserr;
|
||||
|
@ -1551,11 +1545,11 @@ nfsd_symlink(struct svc_rqst *rqstp, struct svc_fh *fhp,
|
|||
else {
|
||||
strncpy(path_alloced, path, plen);
|
||||
path_alloced[plen] = 0;
|
||||
host_err = vfs_symlink(dentry->d_inode, dnew, path_alloced, mode);
|
||||
host_err = vfs_symlink(dentry->d_inode, dnew, path_alloced);
|
||||
kfree(path_alloced);
|
||||
}
|
||||
} else
|
||||
host_err = vfs_symlink(dentry->d_inode, dnew, path, mode);
|
||||
host_err = vfs_symlink(dentry->d_inode, dnew, path);
|
||||
|
||||
if (!host_err) {
|
||||
if (EX_ISSYNC(fhp->fh_export))
|
||||
|
|
|
@ -1139,7 +1139,7 @@ extern int vfs_permission(struct nameidata *, int);
|
|||
extern int vfs_create(struct inode *, struct dentry *, int, struct nameidata *);
|
||||
extern int vfs_mkdir(struct inode *, struct dentry *, int);
|
||||
extern int vfs_mknod(struct inode *, struct dentry *, int, dev_t);
|
||||
extern int vfs_symlink(struct inode *, struct dentry *, const char *, int);
|
||||
extern int vfs_symlink(struct inode *, struct dentry *, const char *);
|
||||
extern int vfs_link(struct dentry *, struct inode *, struct dentry *);
|
||||
extern int vfs_rmdir(struct inode *, struct dentry *);
|
||||
extern int vfs_unlink(struct inode *, struct dentry *);
|
||||
|
|
Loading…
Reference in a new issue