Lines Matching refs:rqstp

129 encode_fattr(struct svc_rqst *rqstp, __be32 *p, struct svc_fh *fhp,
132 struct user_namespace *userns = nfsd_user_namespace(rqstp);
187 __be32 *nfs2svc_encode_fattr(struct svc_rqst *rqstp, __be32 *p, struct svc_fh *fhp, struct kstat *stat)
189 return encode_fattr(rqstp, p, fhp, stat);
196 nfssvc_decode_void(struct svc_rqst *rqstp, __be32 *p)
198 return xdr_argsize_check(rqstp, p);
202 nfssvc_decode_fhandle(struct svc_rqst *rqstp, __be32 *p)
204 struct nfsd_fhandle *args = rqstp->rq_argp;
209 return xdr_argsize_check(rqstp, p);
213 nfssvc_decode_sattrargs(struct svc_rqst *rqstp, __be32 *p)
215 struct nfsd_sattrargs *args = rqstp->rq_argp;
220 p = decode_sattr(p, &args->attrs, nfsd_user_namespace(rqstp));
222 return xdr_argsize_check(rqstp, p);
226 nfssvc_decode_diropargs(struct svc_rqst *rqstp, __be32 *p)
228 struct nfsd_diropargs *args = rqstp->rq_argp;
234 return xdr_argsize_check(rqstp, p);
238 nfssvc_decode_readargs(struct svc_rqst *rqstp, __be32 *p)
240 struct nfsd_readargs *args = rqstp->rq_argp;
258 struct page *p = *(rqstp->rq_next_page++);
260 rqstp->rq_vec[v].iov_base = page_address(p);
261 rqstp->rq_vec[v].iov_len = min_t(unsigned int, len, PAGE_SIZE);
262 len -= rqstp->rq_vec[v].iov_len;
266 return xdr_argsize_check(rqstp, p);
270 nfssvc_decode_writeargs(struct svc_rqst *rqstp, __be32 *p)
272 struct nfsd_writeargs *args = rqstp->rq_argp;
274 struct kvec *head = rqstp->rq_arg.head;
297 dlen = head->iov_len + rqstp->rq_arg.page_len - hdr;
316 nfssvc_decode_createargs(struct svc_rqst *rqstp, __be32 *p)
318 struct nfsd_createargs *args = rqstp->rq_argp;
323 p = decode_sattr(p, &args->attrs, nfsd_user_namespace(rqstp));
325 return xdr_argsize_check(rqstp, p);
329 nfssvc_decode_renameargs(struct svc_rqst *rqstp, __be32 *p)
331 struct nfsd_renameargs *args = rqstp->rq_argp;
339 return xdr_argsize_check(rqstp, p);
343 nfssvc_decode_readlinkargs(struct svc_rqst *rqstp, __be32 *p)
345 struct nfsd_readlinkargs *args = rqstp->rq_argp;
350 args->buffer = page_address(*(rqstp->rq_next_page++));
352 return xdr_argsize_check(rqstp, p);
356 nfssvc_decode_linkargs(struct svc_rqst *rqstp, __be32 *p)
358 struct nfsd_linkargs *args = rqstp->rq_argp;
365 return xdr_argsize_check(rqstp, p);
369 nfssvc_decode_symlinkargs(struct svc_rqst *rqstp, __be32 *p)
371 struct nfsd_symlinkargs *args = rqstp->rq_argp;
384 args->first.iov_len = rqstp->rq_arg.head[0].iov_len;
392 if (rqstp->rq_arg.page_len) {
393 if (args->tlen != rqstp->rq_arg.page_len)
395 p = rqstp->rq_arg.tail[0].iov_base;
402 decode_sattr(p, &args->attrs, nfsd_user_namespace(rqstp));
408 nfssvc_decode_readdirargs(struct svc_rqst *rqstp, __be32 *p)
410 struct nfsd_readdirargs *args = rqstp->rq_argp;
418 args->buffer = page_address(*(rqstp->rq_next_page++));
420 return xdr_argsize_check(rqstp, p);
427 nfssvc_encode_void(struct svc_rqst *rqstp, __be32 *p)
429 return xdr_ressize_check(rqstp, p);
433 nfssvc_encode_stat(struct svc_rqst *rqstp, __be32 *p)
435 struct nfsd_stat *resp = rqstp->rq_resp;
438 return xdr_ressize_check(rqstp, p);
442 nfssvc_encode_attrstat(struct svc_rqst *rqstp, __be32 *p)
444 struct nfsd_attrstat *resp = rqstp->rq_resp;
449 p = encode_fattr(rqstp, p, &resp->fh, &resp->stat);
451 return xdr_ressize_check(rqstp, p);
455 nfssvc_encode_diropres(struct svc_rqst *rqstp, __be32 *p)
457 struct nfsd_diropres *resp = rqstp->rq_resp;
463 p = encode_fattr(rqstp, p, &resp->fh, &resp->stat);
465 return xdr_ressize_check(rqstp, p);
469 nfssvc_encode_readlinkres(struct svc_rqst *rqstp, __be32 *p)
471 struct nfsd_readlinkres *resp = rqstp->rq_resp;
475 return xdr_ressize_check(rqstp, p);
478 xdr_ressize_check(rqstp, p);
479 rqstp->rq_res.page_len = resp->len;
482 rqstp->rq_res.tail[0].iov_base = p;
484 rqstp->rq_res.tail[0].iov_len = 4 - (resp->len&3);
490 nfssvc_encode_readres(struct svc_rqst *rqstp, __be32 *p)
492 struct nfsd_readres *resp = rqstp->rq_resp;
496 return xdr_ressize_check(rqstp, p);
498 p = encode_fattr(rqstp, p, &resp->fh, &resp->stat);
500 xdr_ressize_check(rqstp, p);
502 /* now update rqstp->rq_res to reflect data as well */
503 rqstp->rq_res.page_len = resp->count;
506 rqstp->rq_res.tail[0].iov_base = p;
508 rqstp->rq_res.tail[0].iov_len = 4 - (resp->count&3);
514 nfssvc_encode_readdirres(struct svc_rqst *rqstp, __be32 *p)
516 struct nfsd_readdirres *resp = rqstp->rq_resp;
520 return xdr_ressize_check(rqstp, p);
522 xdr_ressize_check(rqstp, p);
526 rqstp->rq_res.page_len = (((unsigned long)p-1) & ~PAGE_MASK)+1;
532 nfssvc_encode_statfsres(struct svc_rqst *rqstp, __be32 *p)
534 struct nfsd_statfsres *resp = rqstp->rq_resp;
539 return xdr_ressize_check(rqstp, p);
546 return xdr_ressize_check(rqstp, p);
597 void nfssvc_release_attrstat(struct svc_rqst *rqstp)
599 struct nfsd_attrstat *resp = rqstp->rq_resp;
604 void nfssvc_release_diropres(struct svc_rqst *rqstp)
606 struct nfsd_diropres *resp = rqstp->rq_resp;
611 void nfssvc_release_readres(struct svc_rqst *rqstp)
613 struct nfsd_readres *resp = rqstp->rq_resp;