diff options
author | Kinglong Mee <kinglongmee@gmail.com> | 2014-06-13 17:32:42 +0800 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2014-06-17 16:42:48 -0400 |
commit | f41c5ad2ff2657978a9712b9ea80cd812a7da2b0 (patch) | |
tree | f717adf1cef517c6a6fef4b1a321b5cea82d38b8 /fs/nfsd/nfs4xdr.c | |
parent | 6282cd56555347c0ec2addc97bd96b40df0a38b7 (diff) | |
download | linux-f41c5ad2ff2657978a9712b9ea80cd812a7da2b0.tar.bz2 |
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/nfs4xdr.c')
-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, nfserr = nfserr_toosmall; goto fail; case nfserr_noent: + xdr_truncate_encode(xdr, start_offset); goto skip_entry; default: /* |