Lines Matching refs:p
96 __be32 *p; \
108 #define READ32(x) (x) = ntohl(*p++)
110 (x) = (u64)ntohl(*p++) << 32; \
111 (x) |= ntohl(*p++); \
114 p++; \
115 (x) = ntohl(*p++); \
116 p++; \
119 x = (char *)p; \
120 p += XDR_QUADLEN(nbytes); \
123 if (!(x = (p==argp->tmp || p == argp->tmpp) ? \
124 savemem(argp, p, nbytes) : \
125 (char *)p)) { \
130 p += XDR_QUADLEN(nbytes); \
133 memcpy((x), p, nbytes); \
134 p += XDR_QUADLEN(nbytes); \
139 if (nbytes <= (u32)((char *)argp->end - (char *)argp->p)) { \
140 p = argp->p; \
141 argp->p += XDR_QUADLEN(nbytes); \
142 } else if (!(p = read_buf(argp, nbytes))) { \
154 unsigned int avail = (char *)argp->end - (char *)argp->p; in read_buf()
155 __be32 *p; in read_buf() local
162 p = argp->tmp; in read_buf()
165 p = argp->tmpp = kmalloc(nbytes, GFP_KERNEL); in read_buf()
166 if (!p) in read_buf()
175 memcpy(p, argp->p, avail); in read_buf()
177 argp->p = page_address(argp->pagelist[0]); in read_buf()
180 argp->end = p + (argp->pagelen>>2); in read_buf()
183 argp->end = p + (PAGE_SIZE>>2); in read_buf()
186 memcpy(((char*)p)+avail, argp->p, (nbytes - avail)); in read_buf()
187 argp->p += XDR_QUADLEN(nbytes - avail); in read_buf()
188 return p; in read_buf()
193 void (*release)(const void *), void *p) in defer_free() argument
200 tb->buf = p; in defer_free()
207 static char *savemem(struct nfsd4_compoundargs *argp, __be32 *p, int nbytes) in savemem() argument
209 if (p == argp->tmp) { in savemem()
210 p = kmalloc(nbytes, GFP_KERNEL); in savemem()
211 if (!p) in savemem()
213 memcpy(p, argp->tmp, nbytes); in savemem()
215 BUG_ON(p != argp->tmpp); in savemem()
218 if (defer_free(argp, kfree, p)) { in savemem()
219 kfree(p); in savemem()
222 return (char *)p; in savemem()
901 .p = argp->p, in nfsd4_decode_verify()
954 avail = (char*)argp->end - (char*)argp->p; in nfsd4_decode_write()
960 argp->rqstp->rq_vec[0].iov_base = p; in nfsd4_decode_write()
978 argp->p = (__be32*) (argp->rqstp->rq_vec[v].iov_base + (XDR_QUADLEN(len) << 2)); in nfsd4_decode_write()
1000 nfsd4_decode_noop(struct nfsd4_compoundargs *argp, void *p) in nfsd4_decode_noop() argument
1006 nfsd4_decode_notsupp(struct nfsd4_compoundargs *argp, void *p) in nfsd4_decode_notsupp() argument
1112 if (argp->p == argp->end) { in nfsd4_decode_compound()
1126 argp->p = page_address(argp->pagelist[0]); in nfsd4_decode_compound()
1129 argp->end = p + (argp->pagelen>>2); in nfsd4_decode_compound()
1132 argp->end = p + (PAGE_SIZE>>2); in nfsd4_decode_compound()
1136 op->opnum = ntohl(*argp->p++); in nfsd4_decode_compound()
1167 #define ENCODE_HEAD __be32 *p
1169 #define WRITE32(n) *p++ = htonl(n)
1171 *p++ = htonl((u32)((n) >> 32)); \
1172 *p++ = htonl((u32)(n)); \
1175 *(p + XDR_QUADLEN(nbytes) -1) = 0; \
1176 memcpy(p, ptr, nbytes); \
1177 p += XDR_QUADLEN(nbytes); \
1180 *p++ = htonl(c.atomic); \
1181 *p++ = htonl(c.before_ctime_sec); \
1182 *p++ = htonl(c.before_ctime_nsec); \
1183 *p++ = htonl(c.after_ctime_sec); \
1184 *p++ = htonl(c.after_ctime_nsec); \
1188 p = resp->p; \
1189 BUG_ON(p + XDR_QUADLEN(nbytes) > resp->end); \
1191 #define ADJUST_ARGS() resp->p = p
1199 save = resp->p;
1213 (((char *)(resp)->p - (char *)save)); \
1224 __be32 *p = *pp; in nfsd4_encode_components() local
1225 __be32 *countp = p; in nfsd4_encode_components()
1249 *pp = p; in nfsd4_encode_components()
1250 p = countp; in nfsd4_encode_components()
1262 __be32 *p = *pp; in nfsd4_encode_fs_location4() local
1264 status = nfsd4_encode_components(':', location->hosts, &p, buflen); in nfsd4_encode_fs_location4()
1267 status = nfsd4_encode_components('/', location->path, &p, buflen); in nfsd4_encode_fs_location4()
1270 *pp = p; in nfsd4_encode_fs_location4()
1311 __be32 *p = *pp; in nfsd4_encode_fs_locations() local
1317 status = nfsd4_encode_components('/', root, &p, buflen); in nfsd4_encode_fs_locations()
1325 &p, buflen); in nfsd4_encode_fs_locations()
1329 *pp = p; in nfsd4_encode_fs_locations()
1342 __be32 **p, int *buflen) in nfsd4_encode_name() argument
1349 status = nfs4_acl_write_who(whotype, (u8 *)(*p + 1)); in nfsd4_encode_name()
1351 status = nfsd_map_gid_to_name(rqstp, id, (u8 *)(*p + 1)); in nfsd4_encode_name()
1353 status = nfsd_map_uid_to_name(rqstp, id, (u8 *)(*p + 1)); in nfsd4_encode_name()
1356 *p = xdr_encode_opaque(*p, NULL, status); in nfsd4_encode_name()
1363 nfsd4_encode_user(struct svc_rqst *rqstp, uid_t uid, __be32 **p, int *buflen) in nfsd4_encode_user() argument
1365 return nfsd4_encode_name(rqstp, NFS4_ACL_WHO_NAMED, uid, 0, p, buflen); in nfsd4_encode_user()
1369 nfsd4_encode_group(struct svc_rqst *rqstp, uid_t gid, __be32 **p, int *buflen) in nfsd4_encode_group() argument
1371 return nfsd4_encode_name(rqstp, NFS4_ACL_WHO_NAMED, gid, 1, p, buflen); in nfsd4_encode_group()
1376 __be32 **p, int *buflen) in nfsd4_encode_aclname() argument
1378 return nfsd4_encode_name(rqstp, whotype, id, group, p, buflen); in nfsd4_encode_aclname()
1423 __be32 *p = buffer; in nfsd4_encode_fattr() local
1482 attrlenp = p++; /* to be backfilled later */ in nfsd4_encode_fattr()
1603 &p, &buflen); in nfsd4_encode_fattr()
1665 status = nfsd4_encode_fs_locations(rqstp, exp, &p, &buflen); in nfsd4_encode_fattr()
1717 status = nfsd4_encode_user(rqstp, stat.uid, &p, &buflen); in nfsd4_encode_fattr()
1724 status = nfsd4_encode_group(rqstp, stat.gid, &p, &buflen); in nfsd4_encode_fattr()
1804 *attrlenp = htonl((char *)p - (char *)attrlenp - 4); in nfsd4_encode_fattr()
1805 *countp = p - buffer; in nfsd4_encode_fattr()
1836 const char *name, int namlen, __be32 *p, int *buflen) in nfsd4_encode_dirent_fattr() argument
1875 nfserr = nfsd4_encode_fattr(NULL, exp, dentry, p, buflen, cd->rd_bmval, in nfsd4_encode_dirent_fattr()
1884 nfsd4_encode_rdattr_error(__be32 *p, int buflen, __be32 nfserr) in nfsd4_encode_rdattr_error() argument
1890 *p++ = htonl(2); in nfsd4_encode_rdattr_error()
1891 *p++ = htonl(FATTR4_WORD0_RDATTR_ERROR); /* bmval0 */ in nfsd4_encode_rdattr_error()
1892 *p++ = htonl(0); /* bmval1 */ in nfsd4_encode_rdattr_error()
1894 attrlenp = p++; in nfsd4_encode_rdattr_error()
1895 *p++ = nfserr; /* no htonl */ in nfsd4_encode_rdattr_error()
1896 *attrlenp = htonl((char *)p - (char *)attrlenp - 4); in nfsd4_encode_rdattr_error()
1897 return p; in nfsd4_encode_rdattr_error()
1907 __be32 *p = cd->buffer; in nfsd4_encode_dirent() local
1923 *p++ = xdr_one; /* mark entry present */ in nfsd4_encode_dirent()
1924 cd->offset = p; /* remember pointer */ in nfsd4_encode_dirent()
1925 p = xdr_encode_hyper(p, NFS_OFFSET_MAX); /* offset of next entry */ in nfsd4_encode_dirent()
1926 p = xdr_encode_array(p, name, namlen); /* name length & name */ in nfsd4_encode_dirent()
1928 nfserr = nfsd4_encode_dirent_fattr(cd, name, namlen, p, &buflen); in nfsd4_encode_dirent()
1931 p += buflen; in nfsd4_encode_dirent()
1948 p = nfsd4_encode_rdattr_error(p, buflen, nfserr); in nfsd4_encode_dirent()
1949 if (p == NULL) { in nfsd4_encode_dirent()
1954 cd->buflen -= (p - cd->buffer); in nfsd4_encode_dirent()
1955 cd->buffer = p; in nfsd4_encode_dirent()
2039 buflen = resp->end - resp->p - (COMPOUND_ERR_SLACK_SPACE >> 2); in nfsd4_encode_getattr()
2041 resp->p, &buflen, getattr->ga_bmval, in nfsd4_encode_getattr()
2044 resp->p += buflen; in nfsd4_encode_getattr()
2277 resp->xbuf->head[0].iov_len = (char*)p in nfsd4_encode_read()
2282 resp->xbuf->tail[0].iov_base = p; in nfsd4_encode_read()
2325 resp->xbuf->head[0].iov_len = (char*)p in nfsd4_encode_readlink()
2330 resp->xbuf->tail[0].iov_base = p; in nfsd4_encode_readlink()
2356 savep = p; in nfsd4_encode_readdir()
2362 resp->xbuf->head[0].iov_len = ((char*)resp->p) - (char*)resp->xbuf->head[0].iov_base; in nfsd4_encode_readdir()
2363 tailbase = p; in nfsd4_encode_readdir()
2402 p = readdir->buffer; in nfsd4_encode_readdir()
2403 *p++ = 0; /* no more entries */ in nfsd4_encode_readdir()
2404 *p++ = htonl(readdir->common.err == nfserr_eof); in nfsd4_encode_readdir()
2405 resp->xbuf->page_len = ((char*)p) - (char*)page_address( in nfsd4_encode_readdir()
2411 resp->p = resp->xbuf->tail[0].iov_base; in nfsd4_encode_readdir()
2412 resp->end = resp->p + (PAGE_SIZE - resp->xbuf->head[0].iov_len)/4; in nfsd4_encode_readdir()
2416 p = savep; in nfsd4_encode_readdir()
2575 nfsd4_encode_noop(struct nfsd4_compoundres *resp, __be32 nfserr, void *p) in nfsd4_encode_noop() argument
2630 statp = p++; /* to be backfilled at the end */ in nfsd4_encode_operation()
2664 *p++ = rp->rp_status; /* already xdr'ed */ in nfsd4_encode_replay()
2677 nfs4svc_encode_voidres(struct svc_rqst *rqstp, __be32 *p, void *dummy) in nfs4svc_encode_voidres() argument
2679 return xdr_ressize_check(rqstp, p); in nfs4svc_encode_voidres()
2699 nfs4svc_decode_compoundargs(struct svc_rqst *rqstp, __be32 *p, struct nfsd4_compoundargs *args) in nfs4svc_decode_compoundargs() argument
2703 args->p = p; in nfs4svc_decode_compoundargs()
2720 nfs4svc_encode_compoundres(struct svc_rqst *rqstp, __be32 *p, struct nfsd4_compoundres *resp) in nfs4svc_encode_compoundres() argument
2726 p = resp->tagp; in nfs4svc_encode_compoundres()
2727 *p++ = htonl(resp->taglen); in nfs4svc_encode_compoundres()
2728 memcpy(p, resp->tag, resp->taglen); in nfs4svc_encode_compoundres()
2729 p += XDR_QUADLEN(resp->taglen); in nfs4svc_encode_compoundres()
2730 *p++ = htonl(resp->opcnt); in nfs4svc_encode_compoundres()
2736 iov->iov_len = ((char*)resp->p) - (char*)iov->iov_base; in nfs4svc_encode_compoundres()