Lines Matching refs:rqstp

59 nfsd_cross_mnt(struct svc_rqst *rqstp, struct dentry **dpp,   in nfsd_cross_mnt()  argument
78 exp2 = rqst_exp_get_by_name(rqstp, &path); in nfsd_cross_mnt()
93 if (nfsd_v4client(rqstp) || in nfsd_cross_mnt()
124 static int nfsd_lookup_parent(struct svc_rqst *rqstp, struct dentry *dparent, struct svc_export **e… in nfsd_lookup_parent() argument
132 exp2 = rqst_exp_parent(rqstp, &path); in nfsd_lookup_parent()
173 nfsd_lookup_dentry(struct svc_rqst *rqstp, struct svc_fh *fhp, in nfsd_lookup_dentry() argument
193 else if (!EX_NOHIDE(exp) && !nfsd_v4client(rqstp)) in nfsd_lookup_dentry()
197 host_err = nfsd_lookup_parent(rqstp, dparent, &exp, &dentry); in nfsd_lookup_dentry()
207 host_err = nfsd_cross_mnt(rqstp, &dentry, &exp); in nfsd_lookup_dentry()
244 nfsd_lookup(struct svc_rqst *rqstp, struct svc_fh *fhp, const char *name, in nfsd_lookup() argument
251 err = fh_verify(rqstp, fhp, S_IFDIR, NFSD_MAY_EXEC); in nfsd_lookup()
254 err = nfsd_lookup_dentry(rqstp, fhp, name, len, &exp, &dentry); in nfsd_lookup()
257 err = check_nfsd_access(exp, rqstp); in nfsd_lookup()
330 nfsd_get_write_access(struct svc_rqst *rqstp, struct svc_fh *fhp, in nfsd_get_write_access() argument
338 err = nfsd_permission(rqstp, fhp->fh_export, fhp->fh_dentry, in nfsd_get_write_access()
403 nfsd_setattr(struct svc_rqst *rqstp, struct svc_fh *fhp, in nfsd_setattr() argument
440 err = fh_verify(rqstp, fhp, ftype, accmode); in nfsd_setattr()
465 err = nfsd_get_write_access(rqstp, fhp, iap); in nfsd_setattr()
475 if (!nfsd_wait_for_delegreturn(rqstp, inode)) in nfsd_setattr()
529 static struct nfsd4_compound_state *nfsd4_get_cstate(struct svc_rqst *rqstp) in nfsd4_get_cstate() argument
531 return &((struct nfsd4_compoundres *)rqstp->rq_resp)->cstate; in nfsd4_get_cstate()
534 __be32 nfsd4_clone_file_range(struct svc_rqst *rqstp, in nfsd4_clone_file_range() argument
567 trace_nfsd_clone_file_range_err(rqstp, in nfsd4_clone_file_range()
568 &nfsd4_get_cstate(rqstp)->save_fh, in nfsd4_clone_file_range()
570 &nfsd4_get_cstate(rqstp)->current_fh, in nfsd4_clone_file_range()
574 trace_nfsd_writeverf_reset(nn, rqstp, status); in nfsd4_clone_file_range()
604 __be32 nfsd4_vfs_fallocate(struct svc_rqst *rqstp, struct svc_fh *fhp, in nfsd4_vfs_fallocate() argument
676 nfsd_access(struct svc_rqst *rqstp, struct svc_fh *fhp, u32 *access, u32 *supported) in nfsd_access() argument
684 error = fh_verify(rqstp, fhp, 0, NFSD_MAY_NOP); in nfsd_access()
706 err2 = nfsd_permission(rqstp, export, dentry, map->how); in nfsd_access()
750 __nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, umode_t type, in __nfsd_open() argument
807 nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, umode_t type, in nfsd_open() argument
828 err = fh_verify(rqstp, fhp, type, may_flags); in nfsd_open()
830 err = __nfsd_open(rqstp, fhp, type, may_flags, filp); in nfsd_open()
851 nfsd_open_verified(struct svc_rqst *rqstp, struct svc_fh *fhp, int may_flags, in nfsd_open_verified() argument
857 err = __nfsd_open(rqstp, fhp, S_IFREG, may_flags, filp); in nfsd_open_verified()
871 struct svc_rqst *rqstp = sd->u.data; in nfsd_splice_actor() local
878 svc_rqst_replace_page(rqstp, page); in nfsd_splice_actor()
879 if (rqstp->rq_res.page_len == 0) // first call in nfsd_splice_actor()
880 rqstp->rq_res.page_base = offset % PAGE_SIZE; in nfsd_splice_actor()
881 rqstp->rq_res.page_len += sd->len; in nfsd_splice_actor()
901 static __be32 nfsd_finish_read(struct svc_rqst *rqstp, struct svc_fh *fhp, in nfsd_finish_read() argument
910 trace_nfsd_read_io_done(rqstp, fhp, offset, *count); in nfsd_finish_read()
913 trace_nfsd_read_err(rqstp, fhp, offset, host_err); in nfsd_finish_read()
918 __be32 nfsd_splice_read(struct svc_rqst *rqstp, struct svc_fh *fhp, in nfsd_splice_read() argument
926 .u.data = rqstp, in nfsd_splice_read()
930 trace_nfsd_read_splice(rqstp, fhp, offset, *count); in nfsd_splice_read()
931 rqstp->rq_next_page = rqstp->rq_respages + 1; in nfsd_splice_read()
933 return nfsd_finish_read(rqstp, fhp, file, offset, count, eof, host_err); in nfsd_splice_read()
936 __be32 nfsd_readv(struct svc_rqst *rqstp, struct svc_fh *fhp, in nfsd_readv() argument
945 trace_nfsd_read_vector(rqstp, fhp, offset, *count); in nfsd_readv()
948 return nfsd_finish_read(rqstp, fhp, file, offset, count, eof, host_err); in nfsd_readv()
989 nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct nfsd_file *nf, in nfsd_vfs_write() argument
994 struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); in nfsd_vfs_write()
1009 trace_nfsd_write_opened(rqstp, fhp, offset, *cnt); in nfsd_vfs_write()
1014 if (test_bit(RQ_LOCAL, &rqstp->rq_flags) && in nfsd_vfs_write()
1028 use_wgather = (rqstp->rq_vers == 2) && EX_WGATHER(exp); in nfsd_vfs_write()
1043 trace_nfsd_writeverf_reset(nn, rqstp, host_err); in nfsd_vfs_write()
1057 trace_nfsd_writeverf_reset(nn, rqstp, host_err); in nfsd_vfs_write()
1063 trace_nfsd_write_io_done(rqstp, fhp, offset, *cnt); in nfsd_vfs_write()
1066 trace_nfsd_write_err(rqstp, fhp, offset, host_err); in nfsd_vfs_write()
1079 __be32 nfsd_read(struct svc_rqst *rqstp, struct svc_fh *fhp, in nfsd_read() argument
1087 trace_nfsd_read_start(rqstp, fhp, offset, *count); in nfsd_read()
1088 err = nfsd_file_acquire_gc(rqstp, fhp, NFSD_MAY_READ, &nf); in nfsd_read()
1093 if (file->f_op->splice_read && test_bit(RQ_SPLICE_OK, &rqstp->rq_flags)) in nfsd_read()
1094 err = nfsd_splice_read(rqstp, fhp, file, offset, count, eof); in nfsd_read()
1096 err = nfsd_readv(rqstp, fhp, file, offset, vec, vlen, count, eof); in nfsd_read()
1100 trace_nfsd_read_done(rqstp, fhp, offset, *count); in nfsd_read()
1111 nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset, in nfsd_write() argument
1118 trace_nfsd_write_start(rqstp, fhp, offset, *cnt); in nfsd_write()
1120 err = nfsd_file_acquire_gc(rqstp, fhp, NFSD_MAY_WRITE, &nf); in nfsd_write()
1124 err = nfsd_vfs_write(rqstp, fhp, nf, offset, vec, in nfsd_write()
1128 trace_nfsd_write_done(rqstp, fhp, offset, *cnt); in nfsd_write()
1153 nfsd_commit(struct svc_rqst *rqstp, struct svc_fh *fhp, struct nfsd_file *nf, in nfsd_commit() argument
1194 trace_nfsd_writeverf_reset(nn, rqstp, err2); in nfsd_commit()
1213 nfsd_create_setattr(struct svc_rqst *rqstp, struct svc_fh *fhp, in nfsd_create_setattr() argument
1237 status = nfsd_setattr(rqstp, resfhp, attrs, 0, (time64_t)0); in nfsd_create_setattr()
1275 nfsd_create_locked(struct svc_rqst *rqstp, struct svc_fh *fhp, in nfsd_create_locked() argument
1289 err = nfsd_permission(rqstp, fhp->fh_export, dentry, NFSD_MAY_CREATE); in nfsd_create_locked()
1348 err = nfsd_create_setattr(rqstp, fhp, resfhp, attrs); in nfsd_create_locked()
1366 nfsd_create(struct svc_rqst *rqstp, struct svc_fh *fhp, in nfsd_create() argument
1377 err = fh_verify(rqstp, fhp, S_IFDIR, NFSD_MAY_NOP); in nfsd_create()
1403 err = nfsd_create_locked(rqstp, fhp, attrs, type, rdev, resfhp); in nfsd_create()
1416 nfsd_readlink(struct svc_rqst *rqstp, struct svc_fh *fhp, char *buf, int *lenp) in nfsd_readlink() argument
1424 err = fh_verify(rqstp, fhp, S_IFLNK, NFSD_MAY_NOP); in nfsd_readlink()
1463 nfsd_symlink(struct svc_rqst *rqstp, struct svc_fh *fhp, in nfsd_symlink() argument
1479 err = fh_verify(rqstp, fhp, S_IFDIR, NFSD_MAY_CREATE); in nfsd_symlink()
1502 nfsd_create_setattr(rqstp, fhp, resfhp, attrs); in nfsd_symlink()
1520 nfsd_link(struct svc_rqst *rqstp, struct svc_fh *ffhp, in nfsd_link() argument
1528 err = fh_verify(rqstp, ffhp, S_IFDIR, NFSD_MAY_CREATE); in nfsd_link()
1531 err = fh_verify(rqstp, tfhp, 0, NFSD_MAY_NOP); in nfsd_link()
1574 if (host_err == -EXDEV && rqstp->rq_vers == 2) in nfsd_link()
1617 nfsd_rename(struct svc_rqst *rqstp, struct svc_fh *ffhp, char *fname, int flen, in nfsd_rename() argument
1626 err = fh_verify(rqstp, ffhp, S_IFDIR, NFSD_MAY_REMOVE); in nfsd_rename()
1629 err = fh_verify(rqstp, tfhp, S_IFDIR, NFSD_MAY_CREATE); in nfsd_rename()
1699 if (!nfsd_wait_for_delegreturn(rqstp, d_inode(odentry))) in nfsd_rename()
1743 nfsd_unlink(struct svc_rqst *rqstp, struct svc_fh *fhp, int type, in nfsd_unlink() argument
1755 err = fh_verify(rqstp, fhp, S_IFDIR, NFSD_MAY_REMOVE); in nfsd_unlink()
1794 if (!nfsd_wait_for_delegreturn(rqstp, rinode)) in nfsd_unlink()
1815 if (nfsd_v4client(rqstp)) in nfsd_unlink()
1951 nfsd_readdir(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t *offsetp, in nfsd_readdir() argument
1960 if (rqstp->rq_vers > 2) in nfsd_readdir()
1963 err = nfsd_open(rqstp, fhp, S_IFDIR, may_flags, &file); in nfsd_readdir()
1988 nfsd_statfs(struct svc_rqst *rqstp, struct svc_fh *fhp, struct kstatfs *stat, int access) in nfsd_statfs() argument
1992 err = fh_verify(rqstp, fhp, 0, NFSD_MAY_NOP | access); in nfsd_statfs()
2004 static int exp_rdonly(struct svc_rqst *rqstp, struct svc_export *exp) in exp_rdonly() argument
2006 return nfsexp_flags(rqstp, exp) & NFSEXP_READONLY; in exp_rdonly()
2051 nfsd_getxattr(struct svc_rqst *rqstp, struct svc_fh *fhp, char *name, in nfsd_getxattr() argument
2060 err = fh_verify(rqstp, fhp, 0, NFSD_MAY_READ); in nfsd_getxattr()
2124 nfsd_listxattr(struct svc_rqst *rqstp, struct svc_fh *fhp, char **bufp, in nfsd_listxattr() argument
2133 err = fh_verify(rqstp, fhp, 0, NFSD_MAY_READ); in nfsd_listxattr()
2192 nfsd_removexattr(struct svc_rqst *rqstp, struct svc_fh *fhp, char *name) in nfsd_removexattr() argument
2197 err = fh_verify(rqstp, fhp, 0, NFSD_MAY_WRITE); in nfsd_removexattr()
2219 nfsd_setxattr(struct svc_rqst *rqstp, struct svc_fh *fhp, char *name, in nfsd_setxattr() argument
2225 err = fh_verify(rqstp, fhp, 0, NFSD_MAY_WRITE); in nfsd_setxattr()
2249 nfsd_permission(struct svc_rqst *rqstp, struct svc_export *exp, in nfsd_permission() argument
2281 if (exp_rdonly(rqstp, exp) || in nfsd_permission()