Lines Matching refs:rqstp

35 nfsd3_proc_null(struct svc_rqst *rqstp)
44 nfsd3_proc_getattr(struct svc_rqst *rqstp)
46 struct nfsd_fhandle *argp = rqstp->rq_argp;
47 struct nfsd3_attrstat *resp = rqstp->rq_resp;
53 resp->status = fh_verify(rqstp, &resp->fh, 0,
67 nfsd3_proc_setattr(struct svc_rqst *rqstp)
69 struct nfsd3_sattrargs *argp = rqstp->rq_argp;
70 struct nfsd3_attrstat *resp = rqstp->rq_resp;
79 resp->status = nfsd_setattr(rqstp, &resp->fh, &attrs,
88 nfsd3_proc_lookup(struct svc_rqst *rqstp)
90 struct nfsd3_diropargs *argp = rqstp->rq_argp;
91 struct nfsd3_diropres *resp = rqstp->rq_resp;
101 resp->status = nfsd_lookup(rqstp, &resp->dirfh,
111 nfsd3_proc_access(struct svc_rqst *rqstp)
113 struct nfsd3_accessargs *argp = rqstp->rq_argp;
114 struct nfsd3_accessres *resp = rqstp->rq_resp;
122 resp->status = nfsd_access(rqstp, &resp->fh, &resp->access, NULL);
130 nfsd3_proc_readlink(struct svc_rqst *rqstp)
132 struct nfsd_fhandle *argp = rqstp->rq_argp;
133 struct nfsd3_readlinkres *resp = rqstp->rq_resp;
140 resp->pages = rqstp->rq_next_page++;
141 resp->status = nfsd_readlink(rqstp, &resp->fh,
150 nfsd3_proc_read(struct svc_rqst *rqstp)
152 struct nfsd3_readargs *argp = rqstp->rq_argp;
153 struct nfsd3_readres *resp = rqstp->rq_resp;
160 argp->count = min_t(u32, argp->count, svc_max_payload(rqstp));
161 argp->count = min_t(u32, argp->count, rqstp->rq_res.buflen);
167 resp->pages = rqstp->rq_next_page;
174 svc_reserve_auth(rqstp, ((1 + NFS3_POST_OP_ATTR_WORDS + 3)<<2) + resp->count +4);
177 resp->status = nfsd_read(rqstp, &resp->fh, argp->offset,
186 nfsd3_proc_write(struct svc_rqst *rqstp)
188 struct nfsd3_writeargs *argp = rqstp->rq_argp;
189 struct nfsd3_writeres *resp = rqstp->rq_resp;
206 nvecs = svc_fill_write_vector(rqstp, &argp->payload);
208 resp->status = nfsd_write(rqstp, &resp->fh, argp->offset,
209 rqstp->rq_vec, nvecs, &cnt,
223 nfsd3_create_file(struct svc_rqst *rqstp, struct svc_fh *fhp,
241 status = fh_verify(rqstp, fhp, S_IFDIR, NFSD_MAY_EXEC);
261 status = fh_verify(rqstp, fhp, S_IFDIR, NFSD_MAY_CREATE);
333 status = nfsd_create_setattr(rqstp, fhp, resfhp, &attrs);
344 nfsd3_proc_create(struct svc_rqst *rqstp)
346 struct nfsd3_createargs *argp = rqstp->rq_argp;
347 struct nfsd3_diropres *resp = rqstp->rq_resp;
358 resp->status = nfsd3_create_file(rqstp, dirfhp, newfhp, argp);
366 nfsd3_proc_mkdir(struct svc_rqst *rqstp)
368 struct nfsd3_createargs *argp = rqstp->rq_argp;
369 struct nfsd3_diropres *resp = rqstp->rq_resp;
382 resp->status = nfsd_create(rqstp, &resp->dirfh, argp->name, argp->len,
388 nfsd3_proc_symlink(struct svc_rqst *rqstp)
390 struct nfsd3_symlinkargs *argp = rqstp->rq_argp;
391 struct nfsd3_diropres *resp = rqstp->rq_resp;
405 argp->tname = svc_fill_symlink_pathname(rqstp, &argp->first,
406 page_address(rqstp->rq_arg.pages[0]),
420 resp->status = nfsd_symlink(rqstp, &resp->dirfh, argp->fname,
431 nfsd3_proc_mknod(struct svc_rqst *rqstp)
433 struct nfsd3_mknodargs *argp = rqstp->rq_argp;
434 struct nfsd3_diropres *resp = rqstp->rq_resp;
462 resp->status = nfsd_create(rqstp, &resp->dirfh, argp->name, argp->len,
472 nfsd3_proc_remove(struct svc_rqst *rqstp)
474 struct nfsd3_diropargs *argp = rqstp->rq_argp;
475 struct nfsd3_attrstat *resp = rqstp->rq_resp;
484 resp->status = nfsd_unlink(rqstp, &resp->fh, -S_IFDIR,
493 nfsd3_proc_rmdir(struct svc_rqst *rqstp)
495 struct nfsd3_diropargs *argp = rqstp->rq_argp;
496 struct nfsd3_attrstat *resp = rqstp->rq_resp;
504 resp->status = nfsd_unlink(rqstp, &resp->fh, S_IFDIR,
510 nfsd3_proc_rename(struct svc_rqst *rqstp)
512 struct nfsd3_renameargs *argp = rqstp->rq_argp;
513 struct nfsd3_renameres *resp = rqstp->rq_resp;
526 resp->status = nfsd_rename(rqstp, &resp->ffh, argp->fname, argp->flen,
532 nfsd3_proc_link(struct svc_rqst *rqstp)
534 struct nfsd3_linkargs *argp = rqstp->rq_argp;
535 struct nfsd3_linkres *resp = rqstp->rq_resp;
546 resp->status = nfsd_link(rqstp, &resp->tfh, argp->tname, argp->tlen,
551 static void nfsd3_init_dirlist_pages(struct svc_rqst *rqstp,
557 unsigned int sendbuf = min_t(unsigned int, rqstp->rq_res.buflen,
558 svc_max_payload(rqstp));
565 buf->pages = rqstp->rq_next_page;
566 rqstp->rq_next_page += (buf->buflen + PAGE_SIZE - 1) >> PAGE_SHIFT;
575 nfsd3_proc_readdir(struct svc_rqst *rqstp)
577 struct nfsd3_readdirargs *argp = rqstp->rq_argp;
578 struct nfsd3_readdirres *resp = rqstp->rq_resp;
585 nfsd3_init_dirlist_pages(rqstp, resp, argp->count);
590 resp->rqstp = rqstp;
592 resp->status = nfsd_readdir(rqstp, &resp->fh, &offset,
598 rqstp->rq_next_page = resp->xdr.page_ptr + 1;
608 nfsd3_proc_readdirplus(struct svc_rqst *rqstp)
610 struct nfsd3_readdirargs *argp = rqstp->rq_argp;
611 struct nfsd3_readdirres *resp = rqstp->rq_resp;
618 nfsd3_init_dirlist_pages(rqstp, resp, argp->count);
623 resp->rqstp = rqstp;
626 resp->status = fh_verify(rqstp, &resp->fh, S_IFDIR, NFSD_MAY_NOP);
635 resp->status = nfsd_readdir(rqstp, &resp->fh, &offset,
641 rqstp->rq_next_page = resp->xdr.page_ptr + 1;
651 nfsd3_proc_fsstat(struct svc_rqst *rqstp)
653 struct nfsd_fhandle *argp = rqstp->rq_argp;
654 struct nfsd3_fsstatres *resp = rqstp->rq_resp;
659 resp->status = nfsd_statfs(rqstp, &argp->fh, &resp->stats, 0);
668 nfsd3_proc_fsinfo(struct svc_rqst *rqstp)
670 struct nfsd_fhandle *argp = rqstp->rq_argp;
671 struct nfsd3_fsinfores *resp = rqstp->rq_resp;
672 u32 max_blocksize = svc_max_payload(rqstp);
687 resp->status = fh_verify(rqstp, &argp->fh, 0,
711 nfsd3_proc_pathconf(struct svc_rqst *rqstp)
713 struct nfsd_fhandle *argp = rqstp->rq_argp;
714 struct nfsd3_pathconfres *resp = rqstp->rq_resp;
727 resp->status = fh_verify(rqstp, &argp->fh, 0, NFSD_MAY_NOP);
753 nfsd3_proc_commit(struct svc_rqst *rqstp)
755 struct nfsd3_commitargs *argp = rqstp->rq_argp;
756 struct nfsd3_commitres *resp = rqstp->rq_resp;
765 resp->status = nfsd_file_acquire_gc(rqstp, &resp->fh, NFSD_MAY_WRITE |
769 resp->status = nfsd_commit(rqstp, &resp->fh, nf, argp->offset,