aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKinglong Mee <kinglongmee@gmail.com>2016-12-31 08:00:13 -0500
committerJ. Bruce Fields <bfields@redhat.com>2017-01-31 12:31:53 -0500
commit52e380e049d28732ec280c1e8840c9eddc716adb (patch)
tree02af89280217116da44bfab7c6060d46a62e2df0
parent54bbb7d206db78a3dfd87bc8d9735cbe3ac3f938 (diff)
NFSD: cleanup dead codes and values in nfsd_write
This is just cleanup, no change in functionality. Signed-off-by: Kinglong Mee <kinglongmee@gmail.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
-rw-r--r--fs/nfsd/nfs3proc.c8
-rw-r--r--fs/nfsd/nfsproc.c7
-rw-r--r--fs/nfsd/vfs.c35
-rw-r--r--fs/nfsd/vfs.h4
4 files changed, 18 insertions, 36 deletions
diff --git a/fs/nfsd/nfs3proc.c b/fs/nfsd/nfs3proc.c
index 69cd0f1e26ff..045c9081eabe 100644
--- a/fs/nfsd/nfs3proc.c
+++ b/fs/nfsd/nfs3proc.c
@@ -193,11 +193,9 @@ nfsd3_proc_write(struct svc_rqst *rqstp, struct nfsd3_writeargs *argp,
193 193
194 fh_copy(&resp->fh, &argp->fh); 194 fh_copy(&resp->fh, &argp->fh);
195 resp->committed = argp->stable; 195 resp->committed = argp->stable;
196 nfserr = nfsd_write(rqstp, &resp->fh, NULL, 196 nfserr = nfsd_write(rqstp, &resp->fh, argp->offset,
197 argp->offset, 197 rqstp->rq_vec, argp->vlen,
198 rqstp->rq_vec, argp->vlen, 198 &cnt, resp->committed);
199 &cnt,
200 resp->committed);
201 resp->count = cnt; 199 resp->count = cnt;
202 RETURN_STATUS(nfserr); 200 RETURN_STATUS(nfserr);
203} 201}
diff --git a/fs/nfsd/nfsproc.c b/fs/nfsd/nfsproc.c
index f157c7eff82f..fa82b7707e85 100644
--- a/fs/nfsd/nfsproc.c
+++ b/fs/nfsd/nfsproc.c
@@ -210,11 +210,8 @@ nfsd_proc_write(struct svc_rqst *rqstp, struct nfsd_writeargs *argp,
210 SVCFH_fmt(&argp->fh), 210 SVCFH_fmt(&argp->fh),
211 argp->len, argp->offset); 211 argp->len, argp->offset);
212 212
213 nfserr = nfsd_write(rqstp, fh_copy(&resp->fh, &argp->fh), NULL, 213 nfserr = nfsd_write(rqstp, fh_copy(&resp->fh, &argp->fh), argp->offset,
214 argp->offset, 214 rqstp->rq_vec, argp->vlen, &cnt, NFS_DATA_SYNC);
215 rqstp->rq_vec, argp->vlen,
216 &cnt,
217 NFS_DATA_SYNC);
218 return nfsd_return_attrs(nfserr, resp); 215 return nfsd_return_attrs(nfserr, resp);
219} 216}
220 217
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index 1bedb2bc907e..2dd633fdef35 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -1011,35 +1011,22 @@ __be32 nfsd_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
1011 * N.B. After this call fhp needs an fh_put 1011 * N.B. After this call fhp needs an fh_put
1012 */ 1012 */
1013__be32 1013__be32
1014nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file, 1014nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset,
1015 loff_t offset, struct kvec *vec, int vlen, unsigned long *cnt, 1015 struct kvec *vec, int vlen, unsigned long *cnt, int stable)
1016 int stable)
1017{ 1016{
1018 __be32 err = 0; 1017 struct file *file = NULL;
1018 __be32 err = 0;
1019 1019
1020 trace_write_start(rqstp, fhp, offset, vlen); 1020 trace_write_start(rqstp, fhp, offset, vlen);
1021 1021
1022 if (file) { 1022 err = nfsd_open(rqstp, fhp, S_IFREG, NFSD_MAY_WRITE, &file);
1023 err = nfsd_permission(rqstp, fhp->fh_export, fhp->fh_dentry, 1023 if (err)
1024 NFSD_MAY_WRITE|NFSD_MAY_OWNER_OVERRIDE); 1024 goto out;
1025 if (err)
1026 goto out;
1027 trace_write_opened(rqstp, fhp, offset, vlen);
1028 err = nfsd_vfs_write(rqstp, fhp, file, offset, vec, vlen, cnt,
1029 stable);
1030 trace_write_io_done(rqstp, fhp, offset, vlen);
1031 } else {
1032 err = nfsd_open(rqstp, fhp, S_IFREG, NFSD_MAY_WRITE, &file);
1033 if (err)
1034 goto out;
1035 1025
1036 trace_write_opened(rqstp, fhp, offset, vlen); 1026 trace_write_opened(rqstp, fhp, offset, vlen);
1037 if (cnt) 1027 err = nfsd_vfs_write(rqstp, fhp, file, offset, vec, vlen, cnt, stable);
1038 err = nfsd_vfs_write(rqstp, fhp, file, offset, vec, vlen, 1028 trace_write_io_done(rqstp, fhp, offset, vlen);
1039 cnt, stable); 1029 fput(file);
1040 trace_write_io_done(rqstp, fhp, offset, vlen);
1041 fput(file);
1042 }
1043out: 1030out:
1044 trace_write_done(rqstp, fhp, offset, vlen); 1031 trace_write_done(rqstp, fhp, offset, vlen);
1045 return err; 1032 return err;
diff --git a/fs/nfsd/vfs.h b/fs/nfsd/vfs.h
index 8458d8c08b18..db98c48c735a 100644
--- a/fs/nfsd/vfs.h
+++ b/fs/nfsd/vfs.h
@@ -83,8 +83,8 @@ __be32 nfsd_readv(struct file *, loff_t, struct kvec *, int,
83 unsigned long *); 83 unsigned long *);
84__be32 nfsd_read(struct svc_rqst *, struct svc_fh *, 84__be32 nfsd_read(struct svc_rqst *, struct svc_fh *,
85 loff_t, struct kvec *, int, unsigned long *); 85 loff_t, struct kvec *, int, unsigned long *);
86__be32 nfsd_write(struct svc_rqst *, struct svc_fh *,struct file *, 86__be32 nfsd_write(struct svc_rqst *, struct svc_fh *, loff_t,
87 loff_t, struct kvec *,int, unsigned long *, int); 87 struct kvec *, int, unsigned long *, int);
88__be32 nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, 88__be32 nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp,
89 struct file *file, loff_t offset, 89 struct file *file, loff_t offset,
90 struct kvec *vec, int vlen, unsigned long *cnt, 90 struct kvec *vec, int vlen, unsigned long *cnt,