Commit 52e380e0 authored by Kinglong Mee's avatar Kinglong Mee Committed by J. Bruce Fields

NFSD: cleanup dead codes and values in nfsd_write

This is just cleanup, no change in functionality.
Signed-off-by: default avatarKinglong Mee <kinglongmee@gmail.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent 54bbb7d2
...@@ -193,11 +193,9 @@ nfsd3_proc_write(struct svc_rqst *rqstp, struct nfsd3_writeargs *argp, ...@@ -193,11 +193,9 @@ nfsd3_proc_write(struct svc_rqst *rqstp, struct nfsd3_writeargs *argp,
fh_copy(&resp->fh, &argp->fh); fh_copy(&resp->fh, &argp->fh);
resp->committed = argp->stable; resp->committed = argp->stable;
nfserr = nfsd_write(rqstp, &resp->fh, NULL, nfserr = nfsd_write(rqstp, &resp->fh, argp->offset,
argp->offset, rqstp->rq_vec, argp->vlen,
rqstp->rq_vec, argp->vlen, &cnt, resp->committed);
&cnt,
resp->committed);
resp->count = cnt; resp->count = cnt;
RETURN_STATUS(nfserr); RETURN_STATUS(nfserr);
} }
......
...@@ -210,11 +210,8 @@ nfsd_proc_write(struct svc_rqst *rqstp, struct nfsd_writeargs *argp, ...@@ -210,11 +210,8 @@ nfsd_proc_write(struct svc_rqst *rqstp, struct nfsd_writeargs *argp,
SVCFH_fmt(&argp->fh), SVCFH_fmt(&argp->fh),
argp->len, argp->offset); argp->len, argp->offset);
nfserr = nfsd_write(rqstp, fh_copy(&resp->fh, &argp->fh), NULL, nfserr = nfsd_write(rqstp, fh_copy(&resp->fh, &argp->fh), argp->offset,
argp->offset, rqstp->rq_vec, argp->vlen, &cnt, NFS_DATA_SYNC);
rqstp->rq_vec, argp->vlen,
&cnt,
NFS_DATA_SYNC);
return nfsd_return_attrs(nfserr, resp); return nfsd_return_attrs(nfserr, resp);
} }
......
...@@ -1011,35 +1011,22 @@ __be32 nfsd_read(struct svc_rqst *rqstp, struct svc_fh *fhp, ...@@ -1011,35 +1011,22 @@ __be32 nfsd_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
* N.B. After this call fhp needs an fh_put * N.B. After this call fhp needs an fh_put
*/ */
__be32 __be32
nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file, nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset,
loff_t offset, struct kvec *vec, int vlen, unsigned long *cnt, struct kvec *vec, int vlen, unsigned long *cnt, int stable)
int stable)
{ {
__be32 err = 0; struct file *file = NULL;
__be32 err = 0;
trace_write_start(rqstp, fhp, offset, vlen); trace_write_start(rqstp, fhp, offset, vlen);
if (file) { err = nfsd_open(rqstp, fhp, S_IFREG, NFSD_MAY_WRITE, &file);
err = nfsd_permission(rqstp, fhp->fh_export, fhp->fh_dentry, if (err)
NFSD_MAY_WRITE|NFSD_MAY_OWNER_OVERRIDE); goto out;
if (err)
goto out;
trace_write_opened(rqstp, fhp, offset, vlen);
err = nfsd_vfs_write(rqstp, fhp, file, offset, vec, vlen, cnt,
stable);
trace_write_io_done(rqstp, fhp, offset, vlen);
} else {
err = nfsd_open(rqstp, fhp, S_IFREG, NFSD_MAY_WRITE, &file);
if (err)
goto out;
trace_write_opened(rqstp, fhp, offset, vlen); trace_write_opened(rqstp, fhp, offset, vlen);
if (cnt) err = nfsd_vfs_write(rqstp, fhp, file, offset, vec, vlen, cnt, stable);
err = nfsd_vfs_write(rqstp, fhp, file, offset, vec, vlen, trace_write_io_done(rqstp, fhp, offset, vlen);
cnt, stable); fput(file);
trace_write_io_done(rqstp, fhp, offset, vlen);
fput(file);
}
out: out:
trace_write_done(rqstp, fhp, offset, vlen); trace_write_done(rqstp, fhp, offset, vlen);
return err; return err;
......
...@@ -83,8 +83,8 @@ __be32 nfsd_readv(struct file *, loff_t, struct kvec *, int, ...@@ -83,8 +83,8 @@ __be32 nfsd_readv(struct file *, loff_t, struct kvec *, int,
unsigned long *); unsigned long *);
__be32 nfsd_read(struct svc_rqst *, struct svc_fh *, __be32 nfsd_read(struct svc_rqst *, struct svc_fh *,
loff_t, struct kvec *, int, unsigned long *); loff_t, struct kvec *, int, unsigned long *);
__be32 nfsd_write(struct svc_rqst *, struct svc_fh *,struct file *, __be32 nfsd_write(struct svc_rqst *, struct svc_fh *, loff_t,
loff_t, struct kvec *,int, unsigned long *, int); struct kvec *, int, unsigned long *, int);
__be32 nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, __be32 nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp,
struct file *file, loff_t offset, struct file *file, loff_t offset,
struct kvec *vec, int vlen, unsigned long *cnt, struct kvec *vec, int vlen, unsigned long *cnt,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment