Lines Matching refs:readdir
1290 struct nfsd4_readdir *readdir = &u->readdir;
1293 memset(readdir, 0, sizeof(*readdir));
1294 if (xdr_stream_decode_u64(argp->xdr, &readdir->rd_cookie) < 0)
1296 status = nfsd4_decode_verifier4(argp, &readdir->rd_verf);
1299 if (xdr_stream_decode_u32(argp->xdr, &readdir->rd_dircount) < 0)
1301 if (xdr_stream_decode_u32(argp->xdr, &readdir->rd_maxcount) < 0)
1303 if (xdr_stream_decode_uint32_array(argp->xdr, readdir->rd_bmval,
1304 ARRAY_SIZE(readdir->rd_bmval)) < 0)
3800 static void nfsd4_encode_entry4_nfs_cookie4(const struct nfsd4_readdir *readdir,
3804 struct xdr_stream *xdr = readdir->xdr;
3806 if (!readdir->cookie_offset)
3808 write_bytes_to_xdr_buf(xdr->buf, readdir->cookie_offset, &cookie,
4596 struct nfsd4_readdir *readdir,
4605 * final 8 bytes of the readdir and a following failed op.
4611 maxcount = min_t(u32, readdir->rd_maxcount, max_payload);
4623 if (!readdir->rd_dircount)
4624 readdir->rd_dircount = max_payload;
4627 readdir->xdr = xdr;
4628 readdir->rd_maxcount = maxcount;
4629 readdir->common.err = 0;
4630 readdir->cookie_offset = 0;
4631 offset = readdir->rd_cookie;
4632 status = nfsd_readdir(readdir->rd_rqstp, readdir->rd_fhp, &offset,
4633 &readdir->common, nfsd4_encode_entry4);
4636 if (readdir->common.err == nfserr_toosmall &&
4646 nfsd4_encode_entry4_nfs_cookie4(readdir, offset);
4652 return nfsd4_encode_bool(xdr, readdir->common.err == nfserr_eof);
4659 struct nfsd4_readdir *readdir = &u->readdir;
4664 nfserr = nfsd4_encode_verifier4(xdr, &readdir->rd_verf);
4669 nfserr = nfsd4_encode_dirlist4(xdr, readdir, svc_max_payload(resp->rqstp));