summaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs2xdr.c
diff options
context:
space:
mode:
authorTrond Myklebust2012-06-20 21:50:14 +0200
committerTrond Myklebust2012-06-24 22:20:07 +0200
commitdb3a3bcf08d5c79290b369d70cc0b80c369d8ad9 (patch)
tree9a15adef276c422b2c6e63873798e73c1410d4ee /fs/nfs/nfs2xdr.c
parentLinux 3.5-rc4 (diff)
downloadkernel-qcow2-linux-db3a3bcf08d5c79290b369d70cc0b80c369d8ad9.tar.gz
kernel-qcow2-linux-db3a3bcf08d5c79290b369d70cc0b80c369d8ad9.tar.xz
kernel-qcow2-linux-db3a3bcf08d5c79290b369d70cc0b80c369d8ad9.zip
NFSv2/v3: Remove incorrect dprintks from the readdir reply code
The actual size of the directory is unknown to the client, so it is always requesting the maximum number it can handle. If the server is replying with fewer entries than was requested, then that will usually reflect the fact that we've hit the end of the directory. Flagging it as an error is therefore incorrect. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs2xdr.c')
-rw-r--r--fs/nfs/nfs2xdr.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/fs/nfs/nfs2xdr.c b/fs/nfs/nfs2xdr.c
index baf759bccd05..db81166182c9 100644
--- a/fs/nfs/nfs2xdr.c
+++ b/fs/nfs/nfs2xdr.c
@@ -978,16 +978,10 @@ static int decode_readdirok(struct xdr_stream *xdr)
pglen = xdr->buf->page_len;
hdrlen = (u8 *)xdr->p - (u8 *)xdr->iov->iov_base;
recvd = xdr->buf->len - hdrlen;
- if (unlikely(pglen > recvd))
- goto out_cheating;
-out:
+ if (pglen > recvd)
+ pglen = recvd;
xdr_read_pages(xdr, pglen);
return pglen;
-out_cheating:
- dprintk("NFS: server cheating in readdir result: "
- "pglen %u > recvd %u\n", pglen, recvd);
- pglen = recvd;
- goto out;
}
static int nfs2_xdr_dec_readdirres(struct rpc_rqst *req,