浏览代码

nfsd: remove redundant zero-length check from create

lookup_one_len already has this check.

The only effect of this patch is to return access instead of perm in the
0-length-filename case.  I actually prefer nfserr_perm (or _inval?), but
I doubt anyone cares.

The isdotent check seems redundant too, but I worry that some client
might actually care about that strange nfserr_exist error.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
J. Bruce Fields 9 年之前
父节点
当前提交
12391d0723
共有 2 个文件被更改,包括 0 次插入6 次删除
  1. 0 3
      fs/nfsd/nfsproc.c
  2. 0 3
      fs/nfsd/vfs.c

+ 0 - 3
fs/nfsd/nfsproc.c

@@ -251,9 +251,6 @@ nfsd_proc_create(struct svc_rqst *rqstp, struct nfsd_createargs *argp,
 
 
 	/* Check for NFSD_MAY_WRITE in nfsd_create if necessary */
 	/* Check for NFSD_MAY_WRITE in nfsd_create if necessary */
 
 
-	nfserr = nfserr_acces;
-	if (!argp->len)
-		goto done;
 	nfserr = nfserr_exist;
 	nfserr = nfserr_exist;
 	if (isdotent(argp->name, argp->len))
 	if (isdotent(argp->name, argp->len))
 		goto done;
 		goto done;

+ 0 - 3
fs/nfsd/vfs.c

@@ -1154,9 +1154,6 @@ nfsd_create(struct svc_rqst *rqstp, struct svc_fh *fhp,
 	__be32		err2;
 	__be32		err2;
 	int		host_err;
 	int		host_err;
 
 
-	err = nfserr_perm;
-	if (!flen)
-		goto out;
 	err = nfserr_exist;
 	err = nfserr_exist;
 	if (isdotent(fname, flen))
 	if (isdotent(fname, flen))
 		goto out;
 		goto out;