Lines Matching refs:cd
793 encode_entry_baggage(struct nfsd3_readdirres *cd, __be32 *p, const char *name, in encode_entry_baggage() argument
800 cd->offset = p; /* remember pointer */ in encode_entry_baggage()
807 compose_entry_fh(struct nfsd3_readdirres *cd, struct svc_fh *fhp, in compose_entry_fh() argument
814 dparent = cd->fh.fh_dentry; in compose_entry_fh()
815 exp = cd->fh.fh_export; in compose_entry_fh()
835 rv = fh_compose(fhp, exp, dchild, &cd->fh); in compose_entry_fh()
841 static __be32 *encode_entryplus_baggage(struct nfsd3_readdirres *cd, __be32 *p, const char *name, i… in encode_entryplus_baggage() argument
843 struct svc_fh *fh = &cd->scratch; in encode_entryplus_baggage()
847 err = compose_entry_fh(cd, fh, name, namlen, ino); in encode_entryplus_baggage()
853 p = encode_post_op_attr(cd->rqstp, p, fh); in encode_entryplus_baggage()
877 struct nfsd3_readdirres *cd = container_of(ccd, struct nfsd3_readdirres, in encode_entry() local
879 __be32 *p = cd->buffer; in encode_entry()
886 if (cd->offset) { in encode_entry()
889 if (unlikely(cd->offset1)) { in encode_entry()
891 *cd->offset = htonl(offset64 >> 32); in encode_entry()
892 *cd->offset1 = htonl(offset64 & 0xffffffff); in encode_entry()
893 cd->offset1 = NULL; in encode_entry()
895 xdr_encode_hyper(cd->offset, offset64); in encode_entry()
911 if (cd->buflen < elen) { in encode_entry()
912 cd->common.err = nfserr_toosmall; in encode_entry()
917 for (page = cd->rqstp->rq_respages + 1; in encode_entry()
918 page < cd->rqstp->rq_next_page; page++) { in encode_entry()
921 if (((caddr_t)cd->buffer >= curr_page_addr) && in encode_entry()
922 ((caddr_t)cd->buffer < curr_page_addr + PAGE_SIZE)) in encode_entry()
926 if ((caddr_t)(cd->buffer + elen) < (curr_page_addr + PAGE_SIZE)) { in encode_entry()
929 p = encode_entry_baggage(cd, p, name, namlen, ino); in encode_entry()
932 p = encode_entryplus_baggage(cd, p, name, namlen, ino); in encode_entry()
933 num_entry_words = p - cd->buffer; in encode_entry()
943 p1 = encode_entry_baggage(cd, p1, name, namlen, ino); in encode_entry()
946 p1 = encode_entryplus_baggage(cd, p1, name, namlen, ino); in encode_entry()
950 len1 = curr_page_addr + PAGE_SIZE - (caddr_t)cd->buffer; in encode_entry()
959 cd->offset = cd->buffer + (cd->offset - tmp); in encode_entry()
961 unsigned int offset_r = (cd->offset - tmp) << 2; in encode_entry()
971 cd->offset = p + (cd->offset - tmp); in encode_entry()
973 cd->offset -= len1 >> 2; in encode_entry()
977 cd->offset = p + (cd->offset - tmp); in encode_entry()
978 cd->offset1 = tmp; in encode_entry()
991 cd->common.err = nfserr_toosmall; in encode_entry()
995 cd->buflen -= num_entry_words; in encode_entry()
996 cd->buffer = p; in encode_entry()
997 cd->common.err = nfs_ok; in encode_entry()
1003 nfs3svc_encode_entry(void *cd, const char *name, in nfs3svc_encode_entry() argument
1006 return encode_entry(cd, name, namlen, offset, ino, d_type, 0); in nfs3svc_encode_entry()
1010 nfs3svc_encode_entry_plus(void *cd, const char *name, in nfs3svc_encode_entry_plus() argument
1014 return encode_entry(cd, name, namlen, offset, ino, d_type, 1); in nfs3svc_encode_entry_plus()