diff options
Diffstat (limited to 'xlators/nfs/server/src')
| -rw-r--r-- | xlators/nfs/server/src/nfs3.c | 11 | 
1 files changed, 6 insertions, 5 deletions
diff --git a/xlators/nfs/server/src/nfs3.c b/xlators/nfs/server/src/nfs3.c index f950b9273..684123958 100644 --- a/xlators/nfs/server/src/nfs3.c +++ b/xlators/nfs/server/src/nfs3.c @@ -2238,17 +2238,18 @@ out:  int -nfs3svc_write_vecsizer (int state, ssize_t *readsize, char *addr) +nfs3svc_write_vecsizer (int state, ssize_t *readsize, char *base_addr, +                        char *curr_addr)  { -        int         ret = 0; -        uint32_t        fhlen = 0; -        uint32_t        fhlen_n = 0; +        int      ret     = 0; +        uint32_t fhlen   = 0; +        uint32_t fhlen_n = 0;          if (state == 0) {                  ret = NFS3_VECWRITE_READFHLEN;                  *readsize = 4;          } else if (state == NFS3_VECWRITE_READFHLEN) { -                fhlen_n = *(uint32_t *)(addr - 4); +                fhlen_n = *(uint32_t *)(curr_addr - 4);                  fhlen = ntohl (fhlen_n);                  *readsize = xdr_length_round_up (fhlen, NFS3_FHSIZE);                  ret = NFS3_VECWRITE_READFH;  | 
