Lines Matching refs:p

28 decode_fh(__be32 *p, struct svc_fh *fhp)  in decode_fh()  argument
31 memcpy(&fhp->fh_handle.fh_base, p, NFS_FHSIZE); in decode_fh()
36 return p + (NFS_FHSIZE >> 2); in decode_fh()
40 __be32 *nfs2svc_decode_fh(__be32 *p, struct svc_fh *fhp) in nfs2svc_decode_fh() argument
42 return decode_fh(p, fhp); in nfs2svc_decode_fh()
46 encode_fh(__be32 *p, struct svc_fh *fhp) in encode_fh() argument
48 memcpy(p, &fhp->fh_handle.fh_base, NFS_FHSIZE); in encode_fh()
49 return p + (NFS_FHSIZE>> 2); in encode_fh()
57 decode_filename(__be32 *p, char **namp, unsigned int *lenp) in decode_filename() argument
62 if ((p = xdr_decode_string_inplace(p, namp, lenp, NFS_MAXNAMLEN)) != NULL) { in decode_filename()
69 return p; in decode_filename()
73 decode_pathname(__be32 *p, char **namp, unsigned int *lenp) in decode_pathname() argument
78 if ((p = xdr_decode_string_inplace(p, namp, lenp, NFS_MAXPATHLEN)) != NULL) { in decode_pathname()
85 return p; in decode_pathname()
89 decode_sattr(__be32 *p, struct iattr *iap) in decode_sattr() argument
99 if ((tmp = ntohl(*p++)) != (u32)-1 && tmp != 0xffff) { in decode_sattr()
103 if ((tmp = ntohl(*p++)) != (u32)-1) { in decode_sattr()
108 if ((tmp = ntohl(*p++)) != (u32)-1) { in decode_sattr()
113 if ((tmp = ntohl(*p++)) != (u32)-1) { in decode_sattr()
117 tmp = ntohl(*p++); tmp1 = ntohl(*p++); in decode_sattr()
123 tmp = ntohl(*p++); tmp1 = ntohl(*p++); in decode_sattr()
140 return p; in decode_sattr()
144 encode_fattr(struct svc_rqst *rqstp, __be32 *p, struct svc_fh *fhp, in encode_fattr() argument
154 *p++ = htonl(nfs_ftypes[type >> 12]); in encode_fattr()
155 *p++ = htonl((u32) stat->mode); in encode_fattr()
156 *p++ = htonl((u32) stat->nlink); in encode_fattr()
157 *p++ = htonl((u32) from_kuid(&init_user_ns, stat->uid)); in encode_fattr()
158 *p++ = htonl((u32) from_kgid(&init_user_ns, stat->gid)); in encode_fattr()
161 *p++ = htonl(NFS_MAXPATHLEN); in encode_fattr()
163 *p++ = htonl((u32) stat->size); in encode_fattr()
165 *p++ = htonl((u32) stat->blksize); in encode_fattr()
167 *p++ = htonl(new_encode_dev(stat->rdev)); in encode_fattr()
169 *p++ = htonl(0xffffffff); in encode_fattr()
170 *p++ = htonl((u32) stat->blocks); in encode_fattr()
174 *p++ = htonl(new_encode_dev(stat->dev)); in encode_fattr()
177 *p++ = htonl((u32) fhp->fh_export->ex_fsid); in encode_fattr()
184 *p++ = htonl(f); in encode_fattr()
187 *p++ = htonl((u32) stat->ino); in encode_fattr()
188 *p++ = htonl((u32) stat->atime.tv_sec); in encode_fattr()
189 *p++ = htonl(stat->atime.tv_nsec ? stat->atime.tv_nsec / 1000 : 0); in encode_fattr()
191 *p++ = htonl((u32) time.tv_sec); in encode_fattr()
192 *p++ = htonl(time.tv_nsec ? time.tv_nsec / 1000 : 0); in encode_fattr()
193 *p++ = htonl((u32) stat->ctime.tv_sec); in encode_fattr()
194 *p++ = htonl(stat->ctime.tv_nsec ? stat->ctime.tv_nsec / 1000 : 0); in encode_fattr()
196 return p; in encode_fattr()
200 __be32 *nfs2svc_encode_fattr(struct svc_rqst *rqstp, __be32 *p, struct svc_fh *fhp, struct kstat *s… in nfs2svc_encode_fattr() argument
202 return encode_fattr(rqstp, p, fhp, stat); in nfs2svc_encode_fattr()
209 nfssvc_decode_void(struct svc_rqst *rqstp, __be32 *p, void *dummy) in nfssvc_decode_void() argument
211 return xdr_argsize_check(rqstp, p); in nfssvc_decode_void()
215 nfssvc_decode_fhandle(struct svc_rqst *rqstp, __be32 *p, struct nfsd_fhandle *args) in nfssvc_decode_fhandle() argument
217 p = decode_fh(p, &args->fh); in nfssvc_decode_fhandle()
218 if (!p) in nfssvc_decode_fhandle()
220 return xdr_argsize_check(rqstp, p); in nfssvc_decode_fhandle()
224 nfssvc_decode_sattrargs(struct svc_rqst *rqstp, __be32 *p, in nfssvc_decode_sattrargs() argument
227 p = decode_fh(p, &args->fh); in nfssvc_decode_sattrargs()
228 if (!p) in nfssvc_decode_sattrargs()
230 p = decode_sattr(p, &args->attrs); in nfssvc_decode_sattrargs()
232 return xdr_argsize_check(rqstp, p); in nfssvc_decode_sattrargs()
236 nfssvc_decode_diropargs(struct svc_rqst *rqstp, __be32 *p, in nfssvc_decode_diropargs() argument
239 if (!(p = decode_fh(p, &args->fh)) in nfssvc_decode_diropargs()
240 || !(p = decode_filename(p, &args->name, &args->len))) in nfssvc_decode_diropargs()
243 return xdr_argsize_check(rqstp, p); in nfssvc_decode_diropargs()
247 nfssvc_decode_readargs(struct svc_rqst *rqstp, __be32 *p, in nfssvc_decode_readargs() argument
252 p = decode_fh(p, &args->fh); in nfssvc_decode_readargs()
253 if (!p) in nfssvc_decode_readargs()
256 args->offset = ntohl(*p++); in nfssvc_decode_readargs()
257 len = args->count = ntohl(*p++); in nfssvc_decode_readargs()
258 p++; /* totalcount - unused */ in nfssvc_decode_readargs()
267 struct page *p = *(rqstp->rq_next_page++); in nfssvc_decode_readargs() local
269 rqstp->rq_vec[v].iov_base = page_address(p); in nfssvc_decode_readargs()
275 return xdr_argsize_check(rqstp, p); in nfssvc_decode_readargs()
279 nfssvc_decode_writeargs(struct svc_rqst *rqstp, __be32 *p, in nfssvc_decode_writeargs() argument
285 p = decode_fh(p, &args->fh); in nfssvc_decode_writeargs()
286 if (!p) in nfssvc_decode_writeargs()
289 p++; /* beginoffset */ in nfssvc_decode_writeargs()
290 args->offset = ntohl(*p++); /* offset */ in nfssvc_decode_writeargs()
291 p++; /* totalcount */ in nfssvc_decode_writeargs()
292 len = args->len = ntohl(*p++); in nfssvc_decode_writeargs()
303 hdr = (void*)p - rqstp->rq_arg.head[0].iov_base; in nfssvc_decode_writeargs()
318 rqstp->rq_vec[0].iov_base = (void*)p; in nfssvc_decode_writeargs()
333 nfssvc_decode_createargs(struct svc_rqst *rqstp, __be32 *p, in nfssvc_decode_createargs() argument
336 if ( !(p = decode_fh(p, &args->fh)) in nfssvc_decode_createargs()
337 || !(p = decode_filename(p, &args->name, &args->len))) in nfssvc_decode_createargs()
339 p = decode_sattr(p, &args->attrs); in nfssvc_decode_createargs()
341 return xdr_argsize_check(rqstp, p); in nfssvc_decode_createargs()
345 nfssvc_decode_renameargs(struct svc_rqst *rqstp, __be32 *p, in nfssvc_decode_renameargs() argument
348 if (!(p = decode_fh(p, &args->ffh)) in nfssvc_decode_renameargs()
349 || !(p = decode_filename(p, &args->fname, &args->flen)) in nfssvc_decode_renameargs()
350 || !(p = decode_fh(p, &args->tfh)) in nfssvc_decode_renameargs()
351 || !(p = decode_filename(p, &args->tname, &args->tlen))) in nfssvc_decode_renameargs()
354 return xdr_argsize_check(rqstp, p); in nfssvc_decode_renameargs()
358 nfssvc_decode_readlinkargs(struct svc_rqst *rqstp, __be32 *p, struct nfsd_readlinkargs *args) in nfssvc_decode_readlinkargs() argument
360 p = decode_fh(p, &args->fh); in nfssvc_decode_readlinkargs()
361 if (!p) in nfssvc_decode_readlinkargs()
365 return xdr_argsize_check(rqstp, p); in nfssvc_decode_readlinkargs()
369 nfssvc_decode_linkargs(struct svc_rqst *rqstp, __be32 *p, in nfssvc_decode_linkargs() argument
372 if (!(p = decode_fh(p, &args->ffh)) in nfssvc_decode_linkargs()
373 || !(p = decode_fh(p, &args->tfh)) in nfssvc_decode_linkargs()
374 || !(p = decode_filename(p, &args->tname, &args->tlen))) in nfssvc_decode_linkargs()
377 return xdr_argsize_check(rqstp, p); in nfssvc_decode_linkargs()
381 nfssvc_decode_symlinkargs(struct svc_rqst *rqstp, __be32 *p, in nfssvc_decode_symlinkargs() argument
384 if ( !(p = decode_fh(p, &args->ffh)) in nfssvc_decode_symlinkargs()
385 || !(p = decode_filename(p, &args->fname, &args->flen)) in nfssvc_decode_symlinkargs()
386 || !(p = decode_pathname(p, &args->tname, &args->tlen))) in nfssvc_decode_symlinkargs()
388 p = decode_sattr(p, &args->attrs); in nfssvc_decode_symlinkargs()
390 return xdr_argsize_check(rqstp, p); in nfssvc_decode_symlinkargs()
394 nfssvc_decode_readdirargs(struct svc_rqst *rqstp, __be32 *p, in nfssvc_decode_readdirargs() argument
397 p = decode_fh(p, &args->fh); in nfssvc_decode_readdirargs()
398 if (!p) in nfssvc_decode_readdirargs()
400 args->cookie = ntohl(*p++); in nfssvc_decode_readdirargs()
401 args->count = ntohl(*p++); in nfssvc_decode_readdirargs()
405 return xdr_argsize_check(rqstp, p); in nfssvc_decode_readdirargs()
412 nfssvc_encode_void(struct svc_rqst *rqstp, __be32 *p, void *dummy) in nfssvc_encode_void() argument
414 return xdr_ressize_check(rqstp, p); in nfssvc_encode_void()
418 nfssvc_encode_attrstat(struct svc_rqst *rqstp, __be32 *p, in nfssvc_encode_attrstat() argument
421 p = encode_fattr(rqstp, p, &resp->fh, &resp->stat); in nfssvc_encode_attrstat()
422 return xdr_ressize_check(rqstp, p); in nfssvc_encode_attrstat()
426 nfssvc_encode_diropres(struct svc_rqst *rqstp, __be32 *p, in nfssvc_encode_diropres() argument
429 p = encode_fh(p, &resp->fh); in nfssvc_encode_diropres()
430 p = encode_fattr(rqstp, p, &resp->fh, &resp->stat); in nfssvc_encode_diropres()
431 return xdr_ressize_check(rqstp, p); in nfssvc_encode_diropres()
435 nfssvc_encode_readlinkres(struct svc_rqst *rqstp, __be32 *p, in nfssvc_encode_readlinkres() argument
438 *p++ = htonl(resp->len); in nfssvc_encode_readlinkres()
439 xdr_ressize_check(rqstp, p); in nfssvc_encode_readlinkres()
443 rqstp->rq_res.tail[0].iov_base = p; in nfssvc_encode_readlinkres()
444 *p = 0; in nfssvc_encode_readlinkres()
451 nfssvc_encode_readres(struct svc_rqst *rqstp, __be32 *p, in nfssvc_encode_readres() argument
454 p = encode_fattr(rqstp, p, &resp->fh, &resp->stat); in nfssvc_encode_readres()
455 *p++ = htonl(resp->count); in nfssvc_encode_readres()
456 xdr_ressize_check(rqstp, p); in nfssvc_encode_readres()
462 rqstp->rq_res.tail[0].iov_base = p; in nfssvc_encode_readres()
463 *p = 0; in nfssvc_encode_readres()
470 nfssvc_encode_readdirres(struct svc_rqst *rqstp, __be32 *p, in nfssvc_encode_readdirres() argument
473 xdr_ressize_check(rqstp, p); in nfssvc_encode_readdirres()
474 p = resp->buffer; in nfssvc_encode_readdirres()
475 *p++ = 0; /* no more entries */ in nfssvc_encode_readdirres()
476 *p++ = htonl((resp->common.err == nfserr_eof)); in nfssvc_encode_readdirres()
477 rqstp->rq_res.page_len = (((unsigned long)p-1) & ~PAGE_MASK)+1; in nfssvc_encode_readdirres()
483 nfssvc_encode_statfsres(struct svc_rqst *rqstp, __be32 *p, in nfssvc_encode_statfsres() argument
488 *p++ = htonl(NFSSVC_MAXBLKSIZE_V2); /* max transfer size */ in nfssvc_encode_statfsres()
489 *p++ = htonl(stat->f_bsize); in nfssvc_encode_statfsres()
490 *p++ = htonl(stat->f_blocks); in nfssvc_encode_statfsres()
491 *p++ = htonl(stat->f_bfree); in nfssvc_encode_statfsres()
492 *p++ = htonl(stat->f_bavail); in nfssvc_encode_statfsres()
493 return xdr_ressize_check(rqstp, p); in nfssvc_encode_statfsres()
502 __be32 *p = cd->buffer; in nfssvc_encode_entry() local
529 *p++ = xdr_one; /* mark entry present */ in nfssvc_encode_entry()
530 *p++ = htonl((u32) ino); /* file id */ in nfssvc_encode_entry()
531 p = xdr_encode_array(p, name, namlen);/* name length & name */ in nfssvc_encode_entry()
532 cd->offset = p; /* remember pointer */ in nfssvc_encode_entry()
533 *p++ = htonl(~0U); /* offset of next entry */ in nfssvc_encode_entry()
536 cd->buffer = p; in nfssvc_encode_entry()
545 nfssvc_release_fhandle(struct svc_rqst *rqstp, __be32 *p, in nfssvc_release_fhandle() argument