diff options
Diffstat (limited to 'fs/nfsd/nfs4proc.c')
-rw-r--r-- | fs/nfsd/nfs4proc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 77f584f69dfe..283d77a47120 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c | |||
@@ -682,6 +682,7 @@ nfsd4_write(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, | |||
682 | struct file *filp = NULL; | 682 | struct file *filp = NULL; |
683 | u32 *p; | 683 | u32 *p; |
684 | __be32 status = nfs_ok; | 684 | __be32 status = nfs_ok; |
685 | unsigned long cnt; | ||
685 | 686 | ||
686 | /* no need to check permission - this will be done in nfsd_write() */ | 687 | /* no need to check permission - this will be done in nfsd_write() */ |
687 | 688 | ||
@@ -700,7 +701,7 @@ nfsd4_write(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, | |||
700 | return status; | 701 | return status; |
701 | } | 702 | } |
702 | 703 | ||
703 | write->wr_bytes_written = write->wr_buflen; | 704 | cnt = write->wr_buflen; |
704 | write->wr_how_written = write->wr_stable_how; | 705 | write->wr_how_written = write->wr_stable_how; |
705 | p = (u32 *)write->wr_verifier.data; | 706 | p = (u32 *)write->wr_verifier.data; |
706 | *p++ = nfssvc_boot.tv_sec; | 707 | *p++ = nfssvc_boot.tv_sec; |
@@ -708,10 +709,12 @@ nfsd4_write(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, | |||
708 | 709 | ||
709 | status = nfsd_write(rqstp, &cstate->current_fh, filp, | 710 | status = nfsd_write(rqstp, &cstate->current_fh, filp, |
710 | write->wr_offset, rqstp->rq_vec, write->wr_vlen, | 711 | write->wr_offset, rqstp->rq_vec, write->wr_vlen, |
711 | write->wr_buflen, &write->wr_how_written); | 712 | &cnt, &write->wr_how_written); |
712 | if (filp) | 713 | if (filp) |
713 | fput(filp); | 714 | fput(filp); |
714 | 715 | ||
716 | write->wr_bytes_written = cnt; | ||
717 | |||
715 | if (status == nfserr_symlink) | 718 | if (status == nfserr_symlink) |
716 | status = nfserr_inval; | 719 | status = nfserr_inval; |
717 | return status; | 720 | return status; |