diff options
Diffstat (limited to 'fs/nfsd/nfs3proc.c')
-rw-r--r-- | fs/nfsd/nfs3proc.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/nfsd/nfs3proc.c b/fs/nfsd/nfs3proc.c index 97d90d1c8608..1fc02dfdc5c4 100644 --- a/fs/nfsd/nfs3proc.c +++ b/fs/nfsd/nfs3proc.c | |||
@@ -460,7 +460,7 @@ nfsd3_proc_readdirplus(struct svc_rqst *rqstp, struct nfsd3_readdirargs *argp, | |||
460 | __be32 nfserr; | 460 | __be32 nfserr; |
461 | int count = 0; | 461 | int count = 0; |
462 | loff_t offset; | 462 | loff_t offset; |
463 | int i; | 463 | struct page **p; |
464 | caddr_t page_addr = NULL; | 464 | caddr_t page_addr = NULL; |
465 | 465 | ||
466 | dprintk("nfsd: READDIR+(3) %s %d bytes at %d\n", | 466 | dprintk("nfsd: READDIR+(3) %s %d bytes at %d\n", |
@@ -484,8 +484,8 @@ nfsd3_proc_readdirplus(struct svc_rqst *rqstp, struct nfsd3_readdirargs *argp, | |||
484 | &resp->common, | 484 | &resp->common, |
485 | nfs3svc_encode_entry_plus); | 485 | nfs3svc_encode_entry_plus); |
486 | memcpy(resp->verf, argp->verf, 8); | 486 | memcpy(resp->verf, argp->verf, 8); |
487 | for (i=1; i<rqstp->rq_resused ; i++) { | 487 | for (p = rqstp->rq_respages + 1; p < rqstp->rq_next_page; p++) { |
488 | page_addr = page_address(rqstp->rq_respages[i]); | 488 | page_addr = page_address(*p); |
489 | 489 | ||
490 | if (((caddr_t)resp->buffer >= page_addr) && | 490 | if (((caddr_t)resp->buffer >= page_addr) && |
491 | ((caddr_t)resp->buffer < page_addr + PAGE_SIZE)) { | 491 | ((caddr_t)resp->buffer < page_addr + PAGE_SIZE)) { |