diff options
Diffstat (limited to 'fs/nfs/dir.c')
-rw-r--r-- | fs/nfs/dir.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index c6ce8af266ed..c9196c9cf5a6 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c | |||
@@ -573,11 +573,13 @@ int nfs_readdir_xdr_to_array(nfs_readdir_descriptor_t *desc, struct page *page, | |||
573 | if (!pages_ptr) | 573 | if (!pages_ptr) |
574 | goto out_release_array; | 574 | goto out_release_array; |
575 | do { | 575 | do { |
576 | unsigned int pglen; | ||
576 | status = nfs_readdir_xdr_filler(pages, desc, &entry, file, inode); | 577 | status = nfs_readdir_xdr_filler(pages, desc, &entry, file, inode); |
577 | 578 | ||
578 | if (status < 0) | 579 | if (status < 0) |
579 | break; | 580 | break; |
580 | status = nfs_readdir_page_filler(desc, &entry, pages_ptr, page, array_size * PAGE_SIZE); | 581 | pglen = status; |
582 | status = nfs_readdir_page_filler(desc, &entry, pages_ptr, page, pglen); | ||
581 | if (status < 0) { | 583 | if (status < 0) { |
582 | if (status == -ENOSPC) | 584 | if (status == -ENOSPC) |
583 | status = 0; | 585 | status = 0; |