diff options
author | Kinglong Mee <kinglongmee@gmail.com> | 2014-06-13 05:32:42 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2014-06-17 16:42:48 -0400 |
commit | f41c5ad2ff2657978a9712b9ea80cd812a7da2b0 (patch) | |
tree | f717adf1cef517c6a6fef4b1a321b5cea82d38b8 /fs/nfsd | |
parent | 6282cd56555347c0ec2addc97bd96b40df0a38b7 (diff) |
NFSD: fix bug for readdir of pseudofs
Commit 561f0ed498ca (nfsd4: allow large readdirs) introduces a bug
about readdir the root of pseudofs.
Call xdr_truncate_encode() revert encoded name when skipping.
Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r-- | fs/nfsd/nfs4xdr.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c index 2d305a121f37..83baf2bfe9e9 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c | |||
@@ -2687,6 +2687,7 @@ nfsd4_encode_dirent(void *ccdv, const char *name, int namlen, | |||
2687 | nfserr = nfserr_toosmall; | 2687 | nfserr = nfserr_toosmall; |
2688 | goto fail; | 2688 | goto fail; |
2689 | case nfserr_noent: | 2689 | case nfserr_noent: |
2690 | xdr_truncate_encode(xdr, start_offset); | ||
2690 | goto skip_entry; | 2691 | goto skip_entry; |
2691 | default: | 2692 | default: |
2692 | /* | 2693 | /* |