aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/vfs.c
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 /fs/nfsd/vfs.c
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>
Diffstat (limited to 'fs/nfsd/vfs.c')
-rw-r--r--fs/nfsd/vfs.c35
1 files changed, 11 insertions, 24 deletions
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;