Lines Matching refs:p
84 __be32 *p; \
97 x = (char *)p; \
98 p += XDR_QUADLEN(nbytes); \
101 if (!(x = (p==argp->tmp || p == argp->tmpp) ? \
102 savemem(argp, p, nbytes) : \
103 (char *)p)) { \
108 p += XDR_QUADLEN(nbytes); \
111 memcpy((x), p, nbytes); \
112 p += XDR_QUADLEN(nbytes); \
117 if (nbytes <= (u32)((char *)argp->end - (char *)argp->p)) { \
118 p = argp->p; \
119 argp->p += XDR_QUADLEN(nbytes); \
120 } else if (!(p = read_buf(argp, nbytes))) { \
129 argp->p = page_address(argp->pagelist[0]); in next_decode_page()
132 argp->end = argp->p + XDR_QUADLEN(argp->pagelen); in next_decode_page()
135 argp->end = argp->p + (PAGE_SIZE>>2); in next_decode_page()
145 unsigned int avail = (char *)argp->end - (char *)argp->p; in read_buf()
146 __be32 *p; in read_buf() local
153 p = argp->tmp; in read_buf()
156 p = argp->tmpp = kmalloc(nbytes, GFP_KERNEL); in read_buf()
157 if (!p) in read_buf()
166 memcpy(p, argp->p, avail); in read_buf()
168 memcpy(((char*)p)+avail, argp->p, (nbytes - avail)); in read_buf()
169 argp->p += XDR_QUADLEN(nbytes - avail); in read_buf()
170 return p; in read_buf()
209 char *p = svcxdr_tmpalloc(argp, len + 1); in svcxdr_dupstr() local
211 if (!p) in svcxdr_dupstr()
213 memcpy(p, buf, len); in svcxdr_dupstr()
214 p[len] = '\0'; in svcxdr_dupstr()
215 return p; in svcxdr_dupstr()
228 static char *savemem(struct nfsd4_compoundargs *argp, __be32 *p, int nbytes) in savemem() argument
235 memcpy(ret, p, nbytes); in savemem()
250 p = xdr_decode_hyper(p, &sec); in nfsd4_decode_time()
252 tv->tv_nsec = be32_to_cpup(p++); in nfsd4_decode_time()
270 bmlen = be32_to_cpup(p++); in nfsd4_decode_bitmap()
276 bmval[0] = be32_to_cpup(p++); in nfsd4_decode_bitmap()
278 bmval[1] = be32_to_cpup(p++); in nfsd4_decode_bitmap()
280 bmval[2] = be32_to_cpup(p++); in nfsd4_decode_bitmap()
300 expected_len = be32_to_cpup(p++); in nfsd4_decode_fattr()
305 p = xdr_decode_hyper(p, &iattr->ia_size); in nfsd4_decode_fattr()
313 nace = be32_to_cpup(p++); in nfsd4_decode_fattr()
325 ace->type = be32_to_cpup(p++); in nfsd4_decode_fattr()
326 ace->flag = be32_to_cpup(p++); in nfsd4_decode_fattr()
327 ace->access_mask = be32_to_cpup(p++); in nfsd4_decode_fattr()
328 dummy32 = be32_to_cpup(p++); in nfsd4_decode_fattr()
350 iattr->ia_mode = be32_to_cpup(p++); in nfsd4_decode_fattr()
357 dummy32 = be32_to_cpup(p++); in nfsd4_decode_fattr()
368 dummy32 = be32_to_cpup(p++); in nfsd4_decode_fattr()
379 dummy32 = be32_to_cpup(p++); in nfsd4_decode_fattr()
398 dummy32 = be32_to_cpup(p++); in nfsd4_decode_fattr()
420 dummy32 = be32_to_cpup(p++); /* lfs: we don't use it */ in nfsd4_decode_fattr()
423 dummy32 = be32_to_cpup(p++); /* pi: we don't use it either */ in nfsd4_decode_fattr()
426 dummy32 = be32_to_cpup(p++); in nfsd4_decode_fattr()
455 sid->si_generation = be32_to_cpup(p++); in nfsd4_decode_stateid()
467 access->ac_req_access = be32_to_cpup(p++); in nfsd4_decode_access()
482 nr_secflavs = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
490 dummy = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
500 dummy = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
503 dummy = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
509 uid = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
510 gid = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
514 dummy = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
534 dummy = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
536 dummy = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
538 p += XDR_QUADLEN(dummy); in nfsd4_decode_cb_sec()
541 dummy = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
557 bc->bc_cb_program = be32_to_cpup(p++); in nfsd4_decode_backchannel_ctl()
569 bcts->dir = be32_to_cpup(p++); in nfsd4_decode_bind_conn_to_session()
581 close->cl_seqid = be32_to_cpup(p++); in nfsd4_decode_close()
594 p = xdr_decode_hyper(p, &commit->co_offset); in nfsd4_decode_commit()
595 commit->co_count = be32_to_cpup(p++); in nfsd4_decode_commit()
606 create->cr_type = be32_to_cpup(p++); in nfsd4_decode_create()
610 create->cr_datalen = be32_to_cpup(p++); in nfsd4_decode_create()
612 create->cr_data = svcxdr_dupstr(argp, p, create->cr_datalen); in nfsd4_decode_create()
619 create->cr_specdata1 = be32_to_cpup(p++); in nfsd4_decode_create()
620 create->cr_specdata2 = be32_to_cpup(p++); in nfsd4_decode_create()
630 create->cr_namelen = be32_to_cpup(p++); in nfsd4_decode_create()
662 link->li_namelen = be32_to_cpup(p++); in nfsd4_decode_link()
680 lock->lk_type = be32_to_cpup(p++); in nfsd4_decode_lock()
683 lock->lk_reclaim = be32_to_cpup(p++); in nfsd4_decode_lock()
684 p = xdr_decode_hyper(p, &lock->lk_offset); in nfsd4_decode_lock()
685 p = xdr_decode_hyper(p, &lock->lk_length); in nfsd4_decode_lock()
686 lock->lk_is_new = be32_to_cpup(p++); in nfsd4_decode_lock()
690 lock->lk_new_open_seqid = be32_to_cpup(p++); in nfsd4_decode_lock()
695 lock->lk_new_lock_seqid = be32_to_cpup(p++); in nfsd4_decode_lock()
697 lock->lk_new_owner.len = be32_to_cpup(p++); in nfsd4_decode_lock()
705 lock->lk_old_lock_seqid = be32_to_cpup(p++); in nfsd4_decode_lock()
717 lockt->lt_type = be32_to_cpup(p++); in nfsd4_decode_lockt()
720 p = xdr_decode_hyper(p, &lockt->lt_offset); in nfsd4_decode_lockt()
721 p = xdr_decode_hyper(p, &lockt->lt_length); in nfsd4_decode_lockt()
723 lockt->lt_owner.len = be32_to_cpup(p++); in nfsd4_decode_lockt()
736 locku->lu_type = be32_to_cpup(p++); in nfsd4_decode_locku()
739 locku->lu_seqid = be32_to_cpup(p++); in nfsd4_decode_locku()
744 p = xdr_decode_hyper(p, &locku->lu_offset); in nfsd4_decode_locku()
745 p = xdr_decode_hyper(p, &locku->lu_length); in nfsd4_decode_locku()
756 lookup->lo_len = be32_to_cpup(p++); in nfsd4_decode_lookup()
767 __be32 *p; in nfsd4_decode_share_access() local
771 w = be32_to_cpup(p++); in nfsd4_decode_share_access()
820 __be32 *p; in nfsd4_decode_share_deny() local
823 *x = be32_to_cpup(p++); in nfsd4_decode_share_deny()
834 __be32 *p; in nfsd4_decode_opaque() local
837 o->len = be32_to_cpup(p++); in nfsd4_decode_opaque()
862 open->op_seqid = be32_to_cpup(p++); in nfsd4_decode_open()
877 open->op_create = be32_to_cpup(p++); in nfsd4_decode_open()
883 open->op_createmode = be32_to_cpup(p++); in nfsd4_decode_open()
916 open->op_claim_type = be32_to_cpup(p++); in nfsd4_decode_open()
921 open->op_fname.len = be32_to_cpup(p++); in nfsd4_decode_open()
929 open->op_delegate_type = be32_to_cpup(p++); in nfsd4_decode_open()
936 open->op_fname.len = be32_to_cpup(p++); in nfsd4_decode_open()
974 open_conf->oc_seqid = be32_to_cpup(p++); in nfsd4_decode_open_confirm()
988 open_down->od_seqid = be32_to_cpup(p++); in nfsd4_decode_open_downgrade()
1005 putfh->pf_fhlen = be32_to_cpup(p++); in nfsd4_decode_putfh()
1015 nfsd4_decode_putpubfh(struct nfsd4_compoundargs *argp, void *p) in nfsd4_decode_putpubfh() argument
1031 p = xdr_decode_hyper(p, &read->rd_offset); in nfsd4_decode_read()
1032 read->rd_length = be32_to_cpup(p++); in nfsd4_decode_read()
1043 p = xdr_decode_hyper(p, &readdir->rd_cookie); in nfsd4_decode_readdir()
1045 readdir->rd_dircount = be32_to_cpup(p++); in nfsd4_decode_readdir()
1046 readdir->rd_maxcount = be32_to_cpup(p++); in nfsd4_decode_readdir()
1059 remove->rm_namelen = be32_to_cpup(p++); in nfsd4_decode_remove()
1074 rename->rn_snamelen = be32_to_cpup(p++); in nfsd4_decode_rename()
1078 rename->rn_tnamelen = be32_to_cpup(p++); in nfsd4_decode_rename()
1110 secinfo->si_namelen = be32_to_cpup(p++); in nfsd4_decode_secinfo()
1126 sin->sin_style = be32_to_cpup(p++); in nfsd4_decode_secinfo_no_name()
1157 setclientid->se_callback_prog = be32_to_cpup(p++); in nfsd4_decode_setclientid()
1158 setclientid->se_callback_netid_len = be32_to_cpup(p++); in nfsd4_decode_setclientid()
1162 setclientid->se_callback_addr_len = be32_to_cpup(p++); in nfsd4_decode_setclientid()
1167 setclientid->se_callback_ident = be32_to_cpup(p++); in nfsd4_decode_setclientid()
1200 verify->ve_attrlen = be32_to_cpup(p++); in nfsd4_decode_verify()
1218 p = xdr_decode_hyper(p, &write->wr_offset); in nfsd4_decode_write()
1219 write->wr_stable_how = be32_to_cpup(p++); in nfsd4_decode_write()
1222 write->wr_buflen = be32_to_cpup(p++); in nfsd4_decode_write()
1228 avail = (char*)argp->end - (char*)argp->p; in nfsd4_decode_write()
1234 write->wr_head.iov_base = p; in nfsd4_decode_write()
1251 argp->p += XDR_QUADLEN(len); in nfsd4_decode_write()
1266 rlockowner->rl_owner.len = be32_to_cpup(p++); in nfsd4_decode_release_lockowner()
1290 exid->flags = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1294 exid->spa_how = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1312 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1314 p += dummy; in nfsd4_decode_exchange_id()
1317 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1319 p += dummy; in nfsd4_decode_exchange_id()
1323 tmp = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1326 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1328 p += XDR_QUADLEN(dummy); in nfsd4_decode_exchange_id()
1333 tmp = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1336 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1338 p += XDR_QUADLEN(dummy); in nfsd4_decode_exchange_id()
1343 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1344 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1352 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1360 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1362 p += XDR_QUADLEN(dummy); in nfsd4_decode_exchange_id()
1366 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1368 p += XDR_QUADLEN(dummy); in nfsd4_decode_exchange_id()
1372 p += 3; in nfsd4_decode_exchange_id()
1386 sess->seqid = be32_to_cpup(p++); in nfsd4_decode_create_session()
1387 sess->flags = be32_to_cpup(p++); in nfsd4_decode_create_session()
1391 dummy = be32_to_cpup(p++); /* headerpadsz is always 0 */ in nfsd4_decode_create_session()
1392 sess->fore_channel.maxreq_sz = be32_to_cpup(p++); in nfsd4_decode_create_session()
1393 sess->fore_channel.maxresp_sz = be32_to_cpup(p++); in nfsd4_decode_create_session()
1394 sess->fore_channel.maxresp_cached = be32_to_cpup(p++); in nfsd4_decode_create_session()
1395 sess->fore_channel.maxops = be32_to_cpup(p++); in nfsd4_decode_create_session()
1396 sess->fore_channel.maxreqs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1397 sess->fore_channel.nr_rdma_attrs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1400 sess->fore_channel.rdma_attrs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1408 dummy = be32_to_cpup(p++); /* headerpadsz is always 0 */ in nfsd4_decode_create_session()
1409 sess->back_channel.maxreq_sz = be32_to_cpup(p++); in nfsd4_decode_create_session()
1410 sess->back_channel.maxresp_sz = be32_to_cpup(p++); in nfsd4_decode_create_session()
1411 sess->back_channel.maxresp_cached = be32_to_cpup(p++); in nfsd4_decode_create_session()
1412 sess->back_channel.maxops = be32_to_cpup(p++); in nfsd4_decode_create_session()
1413 sess->back_channel.maxreqs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1414 sess->back_channel.nr_rdma_attrs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1417 sess->back_channel.rdma_attrs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1424 sess->callback_prog = be32_to_cpup(p++); in nfsd4_decode_create_session()
1447 free_stateid->fr_stateid.si_generation = be32_to_cpup(p++); in nfsd4_decode_free_stateid()
1461 seq->seqid = be32_to_cpup(p++); in nfsd4_decode_sequence()
1462 seq->slotid = be32_to_cpup(p++); in nfsd4_decode_sequence()
1463 seq->maxslots = be32_to_cpup(p++); in nfsd4_decode_sequence()
1464 seq->cachethis = be32_to_cpup(p++); in nfsd4_decode_sequence()
1473 __be32 *p, status; in nfsd4_decode_test_stateid() local
1477 test_stateid->ts_num_ids = ntohl(*p++); in nfsd4_decode_test_stateid()
1520 rc->rca_one_fs = be32_to_cpup(p++); in nfsd4_decode_reclaim_complete()
1535 gdev->gd_layout_type = be32_to_cpup(p++); in nfsd4_decode_getdeviceinfo()
1536 gdev->gd_maxcount = be32_to_cpup(p++); in nfsd4_decode_getdeviceinfo()
1537 num = be32_to_cpup(p++); in nfsd4_decode_getdeviceinfo()
1540 gdev->gd_notify_types = be32_to_cpup(p++); in nfsd4_decode_getdeviceinfo()
1542 if (be32_to_cpup(p++)) { in nfsd4_decode_getdeviceinfo()
1558 lgp->lg_signal = be32_to_cpup(p++); in nfsd4_decode_layoutget()
1559 lgp->lg_layout_type = be32_to_cpup(p++); in nfsd4_decode_layoutget()
1560 lgp->lg_seg.iomode = be32_to_cpup(p++); in nfsd4_decode_layoutget()
1561 p = xdr_decode_hyper(p, &lgp->lg_seg.offset); in nfsd4_decode_layoutget()
1562 p = xdr_decode_hyper(p, &lgp->lg_seg.length); in nfsd4_decode_layoutget()
1563 p = xdr_decode_hyper(p, &lgp->lg_minlength); in nfsd4_decode_layoutget()
1570 lgp->lg_maxcount = be32_to_cpup(p++); in nfsd4_decode_layoutget()
1583 p = xdr_decode_hyper(p, &lcp->lc_seg.offset); in nfsd4_decode_layoutcommit()
1584 p = xdr_decode_hyper(p, &lcp->lc_seg.length); in nfsd4_decode_layoutcommit()
1585 lcp->lc_reclaim = be32_to_cpup(p++); in nfsd4_decode_layoutcommit()
1592 lcp->lc_newoffset = be32_to_cpup(p++); in nfsd4_decode_layoutcommit()
1595 p = xdr_decode_hyper(p, &lcp->lc_last_wr); in nfsd4_decode_layoutcommit()
1599 timechange = be32_to_cpup(p++); in nfsd4_decode_layoutcommit()
1608 lcp->lc_layout_type = be32_to_cpup(p++); in nfsd4_decode_layoutcommit()
1614 lcp->lc_up_len = be32_to_cpup(p++); in nfsd4_decode_layoutcommit()
1630 lrp->lr_reclaim = be32_to_cpup(p++); in nfsd4_decode_layoutreturn()
1631 lrp->lr_layout_type = be32_to_cpup(p++); in nfsd4_decode_layoutreturn()
1632 lrp->lr_seg.iomode = be32_to_cpup(p++); in nfsd4_decode_layoutreturn()
1633 lrp->lr_return_type = be32_to_cpup(p++); in nfsd4_decode_layoutreturn()
1636 p = xdr_decode_hyper(p, &lrp->lr_seg.offset); in nfsd4_decode_layoutreturn()
1637 p = xdr_decode_hyper(p, &lrp->lr_seg.length); in nfsd4_decode_layoutreturn()
1644 lrp->lrf_body_len = be32_to_cpup(p++); in nfsd4_decode_layoutreturn()
1669 p = xdr_decode_hyper(p, &fallocate->falloc_offset); in nfsd4_decode_fallocate()
1670 xdr_decode_hyper(p, &fallocate->falloc_length); in nfsd4_decode_fallocate()
1688 p = xdr_decode_hyper(p, &clone->cl_src_pos); in nfsd4_decode_clone()
1689 p = xdr_decode_hyper(p, &clone->cl_dst_pos); in nfsd4_decode_clone()
1690 p = xdr_decode_hyper(p, &clone->cl_count); in nfsd4_decode_clone()
1708 p = xdr_decode_hyper(p, ©->cp_src_pos); in nfsd4_decode_copy()
1709 p = xdr_decode_hyper(p, ©->cp_dst_pos); in nfsd4_decode_copy()
1710 p = xdr_decode_hyper(p, ©->cp_count); in nfsd4_decode_copy()
1711 copy->cp_consecutive = be32_to_cpup(p++); in nfsd4_decode_copy()
1712 copy->cp_synchronous = be32_to_cpup(p++); in nfsd4_decode_copy()
1713 tmp = be32_to_cpup(p); /* Source server list not supported */ in nfsd4_decode_copy()
1728 p = xdr_decode_hyper(p, &seek->seek_offset); in nfsd4_decode_seek()
1729 seek->seek_whence = be32_to_cpup(p); in nfsd4_decode_seek()
1735 nfsd4_decode_noop(struct nfsd4_compoundargs *argp, void *p) in nfsd4_decode_noop() argument
1741 nfsd4_decode_notsupp(struct nfsd4_compoundargs *argp, void *p) in nfsd4_decode_notsupp() argument
1859 argp->taglen = be32_to_cpup(p++); in nfsd4_decode_compound()
1863 argp->minorversion = be32_to_cpup(p++); in nfsd4_decode_compound()
1864 argp->opcnt = be32_to_cpup(p++); in nfsd4_decode_compound()
1889 op->opnum = be32_to_cpup(p++); in nfsd4_decode_compound()
1934 static __be32 *encode_change(__be32 *p, struct kstat *stat, struct inode *inode) in encode_change() argument
1937 p = xdr_encode_hyper(p, inode->i_version); in encode_change()
1939 *p++ = cpu_to_be32(stat->ctime.tv_sec); in encode_change()
1940 *p++ = cpu_to_be32(stat->ctime.tv_nsec); in encode_change()
1942 return p; in encode_change()
1945 static __be32 *encode_cinfo(__be32 *p, struct nfsd4_change_info *c) in encode_cinfo() argument
1947 *p++ = cpu_to_be32(c->atomic); in encode_cinfo()
1949 p = xdr_encode_hyper(p, c->before_change); in encode_cinfo()
1950 p = xdr_encode_hyper(p, c->after_change); in encode_cinfo()
1952 *p++ = cpu_to_be32(c->before_ctime_sec); in encode_cinfo()
1953 *p++ = cpu_to_be32(c->before_ctime_nsec); in encode_cinfo()
1954 *p++ = cpu_to_be32(c->after_ctime_sec); in encode_cinfo()
1955 *p++ = cpu_to_be32(c->after_ctime_nsec); in encode_cinfo()
1957 return p; in encode_cinfo()
1967 __be32 *p; in nfsd4_encode_components_esc() local
1976 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_components_esc()
1977 if (!p) in nfsd4_encode_components_esc()
1979 p++; /* We will fill this in with @count later */ in nfsd4_encode_components_esc()
2002 p = xdr_reserve_space(xdr, strlen + 4); in nfsd4_encode_components_esc()
2003 if (!p) in nfsd4_encode_components_esc()
2005 p = xdr_encode_opaque(p, str, strlen); in nfsd4_encode_components_esc()
2055 __be32 *p; in nfsd4_encode_path() local
2087 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_path()
2088 if (!p) in nfsd4_encode_path()
2090 *p++ = cpu_to_be32(ncomponents); in nfsd4_encode_path()
2098 p = xdr_reserve_space(xdr, len + 4); in nfsd4_encode_path()
2099 if (!p) { in nfsd4_encode_path()
2103 p = xdr_encode_opaque(p, dentry->d_name.name, len); in nfsd4_encode_path()
2142 __be32 *p; in nfsd4_encode_fs_locations() local
2148 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fs_locations()
2149 if (!p) in nfsd4_encode_fs_locations()
2151 *p++ = cpu_to_be32(fslocs->locations_count); in nfsd4_encode_fs_locations()
2189 __be32 *p; in nfsd4_encode_layout_types() local
2192 p = xdr_reserve_space(xdr, 4 + 4 * i); in nfsd4_encode_layout_types()
2193 if (!p) in nfsd4_encode_layout_types()
2196 *p++ = cpu_to_be32(i); in nfsd4_encode_layout_types()
2200 *p++ = cpu_to_be32(i); in nfsd4_encode_layout_types()
2215 __be32 *p; in nfsd4_encode_security_label() local
2217 p = xdr_reserve_space(xdr, len + 4 + 4 + 4); in nfsd4_encode_security_label()
2218 if (!p) in nfsd4_encode_security_label()
2225 *p++ = cpu_to_be32(0); /* lfs */ in nfsd4_encode_security_label()
2226 *p++ = cpu_to_be32(0); /* pi */ in nfsd4_encode_security_label()
2227 p = xdr_encode_opaque(p, context, len); in nfsd4_encode_security_label()
2273 __be32 *p; in nfsd4_encode_bitmap() local
2276 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_bitmap()
2277 if (!p) in nfsd4_encode_bitmap()
2279 *p++ = cpu_to_be32(3); in nfsd4_encode_bitmap()
2280 *p++ = cpu_to_be32(bmval0); in nfsd4_encode_bitmap()
2281 *p++ = cpu_to_be32(bmval1); in nfsd4_encode_bitmap()
2282 *p++ = cpu_to_be32(bmval2); in nfsd4_encode_bitmap()
2284 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_bitmap()
2285 if (!p) in nfsd4_encode_bitmap()
2287 *p++ = cpu_to_be32(2); in nfsd4_encode_bitmap()
2288 *p++ = cpu_to_be32(bmval0); in nfsd4_encode_bitmap()
2289 *p++ = cpu_to_be32(bmval1); in nfsd4_encode_bitmap()
2291 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_bitmap()
2292 if (!p) in nfsd4_encode_bitmap()
2294 *p++ = cpu_to_be32(1); in nfsd4_encode_bitmap()
2295 *p++ = cpu_to_be32(bmval0); in nfsd4_encode_bitmap()
2319 __be32 *p; in nfsd4_encode_fattr() local
2404 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2405 if (!p) in nfsd4_encode_fattr()
2407 p++; /* to be backfilled later */ in nfsd4_encode_fattr()
2419 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
2420 if (!p) in nfsd4_encode_fattr()
2422 *p++ = cpu_to_be32(2); in nfsd4_encode_fattr()
2423 *p++ = cpu_to_be32(word0); in nfsd4_encode_fattr()
2424 *p++ = cpu_to_be32(word1); in nfsd4_encode_fattr()
2426 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_fattr()
2427 if (!p) in nfsd4_encode_fattr()
2429 *p++ = cpu_to_be32(3); in nfsd4_encode_fattr()
2430 *p++ = cpu_to_be32(word0); in nfsd4_encode_fattr()
2431 *p++ = cpu_to_be32(word1); in nfsd4_encode_fattr()
2432 *p++ = cpu_to_be32(word2); in nfsd4_encode_fattr()
2436 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2437 if (!p) in nfsd4_encode_fattr()
2444 *p++ = cpu_to_be32(dummy); in nfsd4_encode_fattr()
2447 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2448 if (!p) in nfsd4_encode_fattr()
2451 *p++ = cpu_to_be32(NFS4_FH_PERSISTENT); in nfsd4_encode_fattr()
2453 *p++ = cpu_to_be32(NFS4_FH_PERSISTENT| in nfsd4_encode_fattr()
2457 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2458 if (!p) in nfsd4_encode_fattr()
2460 p = encode_change(p, &stat, d_inode(dentry)); in nfsd4_encode_fattr()
2463 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2464 if (!p) in nfsd4_encode_fattr()
2466 p = xdr_encode_hyper(p, stat.size); in nfsd4_encode_fattr()
2469 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2470 if (!p) in nfsd4_encode_fattr()
2472 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2475 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2476 if (!p) in nfsd4_encode_fattr()
2478 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2481 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2482 if (!p) in nfsd4_encode_fattr()
2484 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2487 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_fattr()
2488 if (!p) in nfsd4_encode_fattr()
2491 p = xdr_encode_hyper(p, NFS4_REFERRAL_FSID_MAJOR); in nfsd4_encode_fattr()
2492 p = xdr_encode_hyper(p, NFS4_REFERRAL_FSID_MINOR); in nfsd4_encode_fattr()
2495 p = xdr_encode_hyper(p, (u64)exp->ex_fsid); in nfsd4_encode_fattr()
2496 p = xdr_encode_hyper(p, (u64)0); in nfsd4_encode_fattr()
2499 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2500 *p++ = cpu_to_be32(MAJOR(stat.dev)); in nfsd4_encode_fattr()
2501 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2502 *p++ = cpu_to_be32(MINOR(stat.dev)); in nfsd4_encode_fattr()
2505 p = xdr_encode_opaque_fixed(p, exp->ex_uuid, in nfsd4_encode_fattr()
2511 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2512 if (!p) in nfsd4_encode_fattr()
2514 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2517 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2518 if (!p) in nfsd4_encode_fattr()
2520 *p++ = cpu_to_be32(nn->nfsd4_lease); in nfsd4_encode_fattr()
2523 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2524 if (!p) in nfsd4_encode_fattr()
2526 *p++ = cpu_to_be32(rdattr_err); in nfsd4_encode_fattr()
2532 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2533 if (!p) in nfsd4_encode_fattr()
2536 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2539 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2540 if (!p) in nfsd4_encode_fattr()
2542 *p++ = cpu_to_be32(acl->naces); in nfsd4_encode_fattr()
2545 p = xdr_reserve_space(xdr, 4*3); in nfsd4_encode_fattr()
2546 if (!p) in nfsd4_encode_fattr()
2548 *p++ = cpu_to_be32(ace->type); in nfsd4_encode_fattr()
2549 *p++ = cpu_to_be32(ace->flag); in nfsd4_encode_fattr()
2550 *p++ = cpu_to_be32(ace->access_mask & in nfsd4_encode_fattr()
2559 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2560 if (!p) in nfsd4_encode_fattr()
2562 *p++ = cpu_to_be32(IS_POSIXACL(dentry->d_inode) ? in nfsd4_encode_fattr()
2566 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2567 if (!p) in nfsd4_encode_fattr()
2569 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2572 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2573 if (!p) in nfsd4_encode_fattr()
2575 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2578 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2579 if (!p) in nfsd4_encode_fattr()
2581 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2584 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2585 if (!p) in nfsd4_encode_fattr()
2587 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2590 p = xdr_reserve_space(xdr, fhp->fh_handle.fh_size + 4); in nfsd4_encode_fattr()
2591 if (!p) in nfsd4_encode_fattr()
2593 p = xdr_encode_opaque(p, &fhp->fh_handle.fh_base, in nfsd4_encode_fattr()
2597 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2598 if (!p) in nfsd4_encode_fattr()
2600 p = xdr_encode_hyper(p, stat.ino); in nfsd4_encode_fattr()
2603 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2604 if (!p) in nfsd4_encode_fattr()
2606 p = xdr_encode_hyper(p, (u64) statfs.f_ffree); in nfsd4_encode_fattr()
2609 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2610 if (!p) in nfsd4_encode_fattr()
2612 p = xdr_encode_hyper(p, (u64) statfs.f_ffree); in nfsd4_encode_fattr()
2615 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2616 if (!p) in nfsd4_encode_fattr()
2618 p = xdr_encode_hyper(p, (u64) statfs.f_files); in nfsd4_encode_fattr()
2626 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2627 if (!p) in nfsd4_encode_fattr()
2629 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2632 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2633 if (!p) in nfsd4_encode_fattr()
2635 p = xdr_encode_hyper(p, exp->ex_path.mnt->mnt_sb->s_maxbytes); in nfsd4_encode_fattr()
2638 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2639 if (!p) in nfsd4_encode_fattr()
2641 *p++ = cpu_to_be32(255); in nfsd4_encode_fattr()
2644 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2645 if (!p) in nfsd4_encode_fattr()
2647 *p++ = cpu_to_be32(statfs.f_namelen); in nfsd4_encode_fattr()
2650 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2651 if (!p) in nfsd4_encode_fattr()
2653 p = xdr_encode_hyper(p, (u64) svc_max_payload(rqstp)); in nfsd4_encode_fattr()
2656 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2657 if (!p) in nfsd4_encode_fattr()
2659 p = xdr_encode_hyper(p, (u64) svc_max_payload(rqstp)); in nfsd4_encode_fattr()
2662 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2663 if (!p) in nfsd4_encode_fattr()
2665 *p++ = cpu_to_be32(stat.mode & S_IALLUGO); in nfsd4_encode_fattr()
2668 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2669 if (!p) in nfsd4_encode_fattr()
2671 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2674 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2675 if (!p) in nfsd4_encode_fattr()
2677 *p++ = cpu_to_be32(stat.nlink); in nfsd4_encode_fattr()
2690 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2691 if (!p) in nfsd4_encode_fattr()
2693 *p++ = cpu_to_be32((u32) MAJOR(stat.rdev)); in nfsd4_encode_fattr()
2694 *p++ = cpu_to_be32((u32) MINOR(stat.rdev)); in nfsd4_encode_fattr()
2697 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2698 if (!p) in nfsd4_encode_fattr()
2701 p = xdr_encode_hyper(p, dummy64); in nfsd4_encode_fattr()
2704 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2705 if (!p) in nfsd4_encode_fattr()
2708 p = xdr_encode_hyper(p, dummy64); in nfsd4_encode_fattr()
2711 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2712 if (!p) in nfsd4_encode_fattr()
2715 p = xdr_encode_hyper(p, dummy64); in nfsd4_encode_fattr()
2718 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2719 if (!p) in nfsd4_encode_fattr()
2722 p = xdr_encode_hyper(p, dummy64); in nfsd4_encode_fattr()
2725 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
2726 if (!p) in nfsd4_encode_fattr()
2728 p = xdr_encode_hyper(p, (s64)stat.atime.tv_sec); in nfsd4_encode_fattr()
2729 *p++ = cpu_to_be32(stat.atime.tv_nsec); in nfsd4_encode_fattr()
2732 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
2733 if (!p) in nfsd4_encode_fattr()
2735 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2736 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2737 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2740 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
2741 if (!p) in nfsd4_encode_fattr()
2743 p = xdr_encode_hyper(p, (s64)stat.ctime.tv_sec); in nfsd4_encode_fattr()
2744 *p++ = cpu_to_be32(stat.ctime.tv_nsec); in nfsd4_encode_fattr()
2747 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
2748 if (!p) in nfsd4_encode_fattr()
2750 p = xdr_encode_hyper(p, (s64)stat.mtime.tv_sec); in nfsd4_encode_fattr()
2751 *p++ = cpu_to_be32(stat.mtime.tv_nsec); in nfsd4_encode_fattr()
2757 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2758 if (!p) in nfsd4_encode_fattr()
2771 p = xdr_encode_hyper(p, ino); in nfsd4_encode_fattr()
2787 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2788 if (!p) in nfsd4_encode_fattr()
2790 *p++ = cpu_to_be32(stat.blksize); in nfsd4_encode_fattr()
2841 struct xdr_buf *buf, __be32 *p, int bytes) in svcxdr_init_encode_from_buffer() argument
2845 buf->head[0].iov_base = p; in svcxdr_init_encode_from_buffer()
2850 xdr->p = p; in svcxdr_init_encode_from_buffer()
2851 xdr->end = (void *)p + bytes; in svcxdr_init_encode_from_buffer()
2855 __be32 nfsd4_encode_fattr_to_buf(__be32 **p, int words, in nfsd4_encode_fattr_to_buf() argument
2864 svcxdr_init_encode_from_buffer(&xdr, &dummy, *p, words << 2); in nfsd4_encode_fattr_to_buf()
2867 *p = xdr.p; in nfsd4_encode_fattr_to_buf()
2945 __be32 *p; in nfsd4_encode_rdattr_error() local
2947 p = xdr_reserve_space(xdr, 20); in nfsd4_encode_rdattr_error()
2948 if (!p) in nfsd4_encode_rdattr_error()
2950 *p++ = htonl(2); in nfsd4_encode_rdattr_error()
2951 *p++ = htonl(FATTR4_WORD0_RDATTR_ERROR); /* bmval0 */ in nfsd4_encode_rdattr_error()
2952 *p++ = htonl(0); /* bmval1 */ in nfsd4_encode_rdattr_error()
2954 *p++ = htonl(4); /* attribute length */ in nfsd4_encode_rdattr_error()
2955 *p++ = nfserr; /* no htonl */ in nfsd4_encode_rdattr_error()
2956 return p; in nfsd4_encode_rdattr_error()
2972 __be32 *p; in nfsd4_encode_dirent() local
2986 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_dirent()
2987 if (!p) in nfsd4_encode_dirent()
2989 *p++ = xdr_one; /* mark entry present */ in nfsd4_encode_dirent()
2991 p = xdr_reserve_space(xdr, 3*4 + namlen); in nfsd4_encode_dirent()
2992 if (!p) in nfsd4_encode_dirent()
2994 p = xdr_encode_hyper(p, NFS_OFFSET_MAX); /* offset of next entry */ in nfsd4_encode_dirent()
2995 p = xdr_encode_array(p, name, namlen); /* name length & name */ in nfsd4_encode_dirent()
3017 p = nfsd4_encode_rdattr_error(xdr, nfserr); in nfsd4_encode_dirent()
3018 if (p == NULL) { in nfsd4_encode_dirent()
3052 __be32 *p; in nfsd4_encode_stateid() local
3054 p = xdr_reserve_space(xdr, sizeof(stateid_t)); in nfsd4_encode_stateid()
3055 if (!p) in nfsd4_encode_stateid()
3057 *p++ = cpu_to_be32(sid->si_generation); in nfsd4_encode_stateid()
3058 p = xdr_encode_opaque_fixed(p, &sid->si_opaque, in nfsd4_encode_stateid()
3067 __be32 *p; in nfsd4_encode_access() local
3070 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_access()
3071 if (!p) in nfsd4_encode_access()
3073 *p++ = cpu_to_be32(access->ac_supported); in nfsd4_encode_access()
3074 *p++ = cpu_to_be32(access->ac_resp_access); in nfsd4_encode_access()
3082 __be32 *p; in nfsd4_encode_bind_conn_to_session() local
3085 p = xdr_reserve_space(xdr, NFS4_MAX_SESSIONID_LEN + 8); in nfsd4_encode_bind_conn_to_session()
3086 if (!p) in nfsd4_encode_bind_conn_to_session()
3088 p = xdr_encode_opaque_fixed(p, bcts->sessionid.data, in nfsd4_encode_bind_conn_to_session()
3090 *p++ = cpu_to_be32(bcts->dir); in nfsd4_encode_bind_conn_to_session()
3092 *p++ = cpu_to_be32(0); in nfsd4_encode_bind_conn_to_session()
3113 __be32 *p; in nfsd4_encode_commit() local
3116 p = xdr_reserve_space(xdr, NFS4_VERIFIER_SIZE); in nfsd4_encode_commit()
3117 if (!p) in nfsd4_encode_commit()
3119 p = xdr_encode_opaque_fixed(p, commit->co_verf.data, in nfsd4_encode_commit()
3129 __be32 *p; in nfsd4_encode_create() local
3132 p = xdr_reserve_space(xdr, 20); in nfsd4_encode_create()
3133 if (!p) in nfsd4_encode_create()
3135 encode_cinfo(p, &create->cr_cinfo); in nfsd4_encode_create()
3163 __be32 *p; in nfsd4_encode_getfh() local
3167 p = xdr_reserve_space(xdr, len + 4); in nfsd4_encode_getfh()
3168 if (!p) in nfsd4_encode_getfh()
3170 p = xdr_encode_opaque(p, &fhp->fh_handle.fh_base, len); in nfsd4_encode_getfh()
3183 __be32 *p; in nfsd4_encode_lock_denied() local
3186 p = xdr_reserve_space(xdr, 32 + XDR_LEN(conf->len)); in nfsd4_encode_lock_denied()
3187 if (!p) { in nfsd4_encode_lock_denied()
3200 p = xdr_encode_hyper(p, ld->ld_start); in nfsd4_encode_lock_denied()
3201 p = xdr_encode_hyper(p, ld->ld_length); in nfsd4_encode_lock_denied()
3202 *p++ = cpu_to_be32(ld->ld_type); in nfsd4_encode_lock_denied()
3204 p = xdr_encode_opaque_fixed(p, &ld->ld_clientid, 8); in nfsd4_encode_lock_denied()
3205 p = xdr_encode_opaque(p, conf->data, conf->len); in nfsd4_encode_lock_denied()
3208 p = xdr_encode_hyper(p, (u64)0); /* clientid */ in nfsd4_encode_lock_denied()
3209 *p++ = cpu_to_be32(0); /* length of owner name */ in nfsd4_encode_lock_denied()
3253 __be32 *p; in nfsd4_encode_link() local
3256 p = xdr_reserve_space(xdr, 20); in nfsd4_encode_link()
3257 if (!p) in nfsd4_encode_link()
3259 p = encode_cinfo(p, &link->li_cinfo); in nfsd4_encode_link()
3269 __be32 *p; in nfsd4_encode_open() local
3277 p = xdr_reserve_space(xdr, 24); in nfsd4_encode_open()
3278 if (!p) in nfsd4_encode_open()
3280 p = encode_cinfo(p, &open->op_cinfo); in nfsd4_encode_open()
3281 *p++ = cpu_to_be32(open->op_rflags); in nfsd4_encode_open()
3288 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_open()
3289 if (!p) in nfsd4_encode_open()
3292 *p++ = cpu_to_be32(open->op_delegate_type); in nfsd4_encode_open()
3300 p = xdr_reserve_space(xdr, 20); in nfsd4_encode_open()
3301 if (!p) in nfsd4_encode_open()
3303 *p++ = cpu_to_be32(open->op_recall); in nfsd4_encode_open()
3308 *p++ = cpu_to_be32(NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE); in nfsd4_encode_open()
3309 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3310 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3311 *p++ = cpu_to_be32(0); /* XXX: is NULL principal ok? */ in nfsd4_encode_open()
3317 p = xdr_reserve_space(xdr, 32); in nfsd4_encode_open()
3318 if (!p) in nfsd4_encode_open()
3320 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3325 *p++ = cpu_to_be32(NFS4_LIMIT_SIZE); in nfsd4_encode_open()
3326 *p++ = cpu_to_be32(~(u32)0); in nfsd4_encode_open()
3327 *p++ = cpu_to_be32(~(u32)0); in nfsd4_encode_open()
3332 *p++ = cpu_to_be32(NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE); in nfsd4_encode_open()
3333 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3334 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3335 *p++ = cpu_to_be32(0); /* XXX: is NULL principal ok? */ in nfsd4_encode_open()
3341 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_open()
3342 if (!p) in nfsd4_encode_open()
3344 *p++ = cpu_to_be32(open->op_why_no_deleg); in nfsd4_encode_open()
3346 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3349 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_open()
3350 if (!p) in nfsd4_encode_open()
3352 *p++ = cpu_to_be32(open->op_why_no_deleg); in nfsd4_encode_open()
3396 __be32 *p = xdr->p - 2; in nfsd4_encode_splice_read() local
3399 if (xdr->end - xdr->p < 1) in nfsd4_encode_splice_read()
3418 *(p++) = htonl(eof); in nfsd4_encode_splice_read()
3419 *(p++) = htonl(maxcount); in nfsd4_encode_splice_read()
3427 buf->tail[0].iov_base = xdr->p; in nfsd4_encode_splice_read()
3433 *(xdr->p++) = 0; in nfsd4_encode_splice_read()
3440 space_left = min_t(int, (void *)xdr->end - (void *)xdr->p, in nfsd4_encode_splice_read()
3460 __be32 *p; in nfsd4_encode_readv() local
3467 thislen = min_t(long, len, ((void *)xdr->end - (void *)xdr->p)); in nfsd4_encode_readv()
3468 p = xdr_reserve_space(xdr, (thislen+3)&~3); in nfsd4_encode_readv()
3469 WARN_ON_ONCE(!p); in nfsd4_encode_readv()
3470 resp->rqstp->rq_vec[v].iov_base = p; in nfsd4_encode_readv()
3477 p = xdr_reserve_space(xdr, (thislen+3)&~3); in nfsd4_encode_readv()
3478 WARN_ON_ONCE(!p); in nfsd4_encode_readv()
3479 resp->rqstp->rq_vec[v].iov_base = p; in nfsd4_encode_readv()
3517 __be32 *p; in nfsd4_encode_read() local
3522 p = xdr_reserve_space(xdr, 8); /* eof flag and byte count */ in nfsd4_encode_read()
3523 if (!p) { in nfsd4_encode_read()
3570 __be32 *p; in nfsd4_encode_readlink() local
3575 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_readlink()
3576 if (!p) in nfsd4_encode_readlink()
3580 p = xdr_reserve_space(xdr, maxcount); in nfsd4_encode_readlink()
3581 if (!p) in nfsd4_encode_readlink()
3590 (char *)p, &maxcount); in nfsd4_encode_readlink()
3616 __be32 *p; in nfsd4_encode_readdir() local
3621 p = xdr_reserve_space(xdr, NFS4_VERIFIER_SIZE); in nfsd4_encode_readdir()
3622 if (!p) in nfsd4_encode_readdir()
3626 *p++ = cpu_to_be32(0); in nfsd4_encode_readdir()
3627 *p++ = cpu_to_be32(0); in nfsd4_encode_readdir()
3628 resp->xdr.buf->head[0].iov_len = ((char *)resp->xdr.p) in nfsd4_encode_readdir()
3686 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_readdir()
3687 if (!p) { in nfsd4_encode_readdir()
3691 *p++ = 0; /* no more entries */ in nfsd4_encode_readdir()
3692 *p++ = htonl(readdir->common.err == nfserr_eof); in nfsd4_encode_readdir()
3704 __be32 *p; in nfsd4_encode_remove() local
3707 p = xdr_reserve_space(xdr, 20); in nfsd4_encode_remove()
3708 if (!p) in nfsd4_encode_remove()
3710 p = encode_cinfo(p, &remove->rm_cinfo); in nfsd4_encode_remove()
3719 __be32 *p; in nfsd4_encode_rename() local
3722 p = xdr_reserve_space(xdr, 40); in nfsd4_encode_rename()
3723 if (!p) in nfsd4_encode_rename()
3725 p = encode_cinfo(p, &rename->rn_sinfo); in nfsd4_encode_rename()
3726 p = encode_cinfo(p, &rename->rn_tinfo); in nfsd4_encode_rename()
3738 __be32 *p, *flavorsp; in nfsd4_do_encode_secinfo() local
3765 p = xdr_reserve_space(xdr, 4); in nfsd4_do_encode_secinfo()
3766 if (!p) in nfsd4_do_encode_secinfo()
3768 flavorsp = p++; /* to be backfilled later */ in nfsd4_do_encode_secinfo()
3776 p = xdr_reserve_space(xdr, 4 + 4 + in nfsd4_do_encode_secinfo()
3778 if (!p) in nfsd4_do_encode_secinfo()
3780 *p++ = cpu_to_be32(RPC_AUTH_GSS); in nfsd4_do_encode_secinfo()
3781 p = xdr_encode_opaque(p, info.oid.data, info.oid.len); in nfsd4_do_encode_secinfo()
3782 *p++ = cpu_to_be32(info.qop); in nfsd4_do_encode_secinfo()
3783 *p++ = cpu_to_be32(info.service); in nfsd4_do_encode_secinfo()
3786 p = xdr_reserve_space(xdr, 4); in nfsd4_do_encode_secinfo()
3787 if (!p) in nfsd4_do_encode_secinfo()
3789 *p++ = cpu_to_be32(pf); in nfsd4_do_encode_secinfo()
3833 __be32 *p; in nfsd4_encode_setattr() local
3835 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_setattr()
3836 if (!p) in nfsd4_encode_setattr()
3839 *p++ = cpu_to_be32(3); in nfsd4_encode_setattr()
3840 *p++ = cpu_to_be32(0); in nfsd4_encode_setattr()
3841 *p++ = cpu_to_be32(0); in nfsd4_encode_setattr()
3842 *p++ = cpu_to_be32(0); in nfsd4_encode_setattr()
3845 *p++ = cpu_to_be32(3); in nfsd4_encode_setattr()
3846 *p++ = cpu_to_be32(setattr->sa_bmval[0]); in nfsd4_encode_setattr()
3847 *p++ = cpu_to_be32(setattr->sa_bmval[1]); in nfsd4_encode_setattr()
3848 *p++ = cpu_to_be32(setattr->sa_bmval[2]); in nfsd4_encode_setattr()
3857 __be32 *p; in nfsd4_encode_setclientid() local
3860 p = xdr_reserve_space(xdr, 8 + NFS4_VERIFIER_SIZE); in nfsd4_encode_setclientid()
3861 if (!p) in nfsd4_encode_setclientid()
3863 p = xdr_encode_opaque_fixed(p, &scd->se_clientid, 8); in nfsd4_encode_setclientid()
3864 p = xdr_encode_opaque_fixed(p, &scd->se_confirm, in nfsd4_encode_setclientid()
3868 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_setclientid()
3869 if (!p) in nfsd4_encode_setclientid()
3871 *p++ = cpu_to_be32(0); in nfsd4_encode_setclientid()
3872 *p++ = cpu_to_be32(0); in nfsd4_encode_setclientid()
3881 __be32 *p; in nfsd4_encode_write() local
3884 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_write()
3885 if (!p) in nfsd4_encode_write()
3887 *p++ = cpu_to_be32(write->wr_bytes_written); in nfsd4_encode_write()
3888 *p++ = cpu_to_be32(write->wr_how_written); in nfsd4_encode_write()
3889 p = xdr_encode_opaque_fixed(p, write->wr_verifier.data, in nfsd4_encode_write()
3900 __be32 *p; in nfsd4_encode_exchange_id() local
3916 p = xdr_reserve_space(xdr, in nfsd4_encode_exchange_id()
3921 if (!p) in nfsd4_encode_exchange_id()
3924 p = xdr_encode_opaque_fixed(p, &exid->clientid, 8); in nfsd4_encode_exchange_id()
3925 *p++ = cpu_to_be32(exid->seqid); in nfsd4_encode_exchange_id()
3926 *p++ = cpu_to_be32(exid->flags); in nfsd4_encode_exchange_id()
3928 *p++ = cpu_to_be32(exid->spa_how); in nfsd4_encode_exchange_id()
3953 p = xdr_reserve_space(xdr, in nfsd4_encode_exchange_id()
3960 if (!p) in nfsd4_encode_exchange_id()
3964 p = xdr_encode_hyper(p, minor_id); /* Minor id */ in nfsd4_encode_exchange_id()
3966 p = xdr_encode_opaque(p, major_id, major_id_sz); in nfsd4_encode_exchange_id()
3969 p = xdr_encode_opaque(p, server_scope, server_scope_sz); in nfsd4_encode_exchange_id()
3972 *p++ = cpu_to_be32(0); /* zero length nfs_impl_id4 array */ in nfsd4_encode_exchange_id()
3983 __be32 *p; in nfsd4_encode_create_session() local
3988 p = xdr_reserve_space(xdr, 24); in nfsd4_encode_create_session()
3989 if (!p) in nfsd4_encode_create_session()
3991 p = xdr_encode_opaque_fixed(p, sess->sessionid.data, in nfsd4_encode_create_session()
3993 *p++ = cpu_to_be32(sess->seqid); in nfsd4_encode_create_session()
3994 *p++ = cpu_to_be32(sess->flags); in nfsd4_encode_create_session()
3996 p = xdr_reserve_space(xdr, 28); in nfsd4_encode_create_session()
3997 if (!p) in nfsd4_encode_create_session()
3999 *p++ = cpu_to_be32(0); /* headerpadsz */ in nfsd4_encode_create_session()
4000 *p++ = cpu_to_be32(sess->fore_channel.maxreq_sz); in nfsd4_encode_create_session()
4001 *p++ = cpu_to_be32(sess->fore_channel.maxresp_sz); in nfsd4_encode_create_session()
4002 *p++ = cpu_to_be32(sess->fore_channel.maxresp_cached); in nfsd4_encode_create_session()
4003 *p++ = cpu_to_be32(sess->fore_channel.maxops); in nfsd4_encode_create_session()
4004 *p++ = cpu_to_be32(sess->fore_channel.maxreqs); in nfsd4_encode_create_session()
4005 *p++ = cpu_to_be32(sess->fore_channel.nr_rdma_attrs); in nfsd4_encode_create_session()
4008 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_create_session()
4009 if (!p) in nfsd4_encode_create_session()
4011 *p++ = cpu_to_be32(sess->fore_channel.rdma_attrs); in nfsd4_encode_create_session()
4014 p = xdr_reserve_space(xdr, 28); in nfsd4_encode_create_session()
4015 if (!p) in nfsd4_encode_create_session()
4017 *p++ = cpu_to_be32(0); /* headerpadsz */ in nfsd4_encode_create_session()
4018 *p++ = cpu_to_be32(sess->back_channel.maxreq_sz); in nfsd4_encode_create_session()
4019 *p++ = cpu_to_be32(sess->back_channel.maxresp_sz); in nfsd4_encode_create_session()
4020 *p++ = cpu_to_be32(sess->back_channel.maxresp_cached); in nfsd4_encode_create_session()
4021 *p++ = cpu_to_be32(sess->back_channel.maxops); in nfsd4_encode_create_session()
4022 *p++ = cpu_to_be32(sess->back_channel.maxreqs); in nfsd4_encode_create_session()
4023 *p++ = cpu_to_be32(sess->back_channel.nr_rdma_attrs); in nfsd4_encode_create_session()
4026 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_create_session()
4027 if (!p) in nfsd4_encode_create_session()
4029 *p++ = cpu_to_be32(sess->back_channel.rdma_attrs); in nfsd4_encode_create_session()
4039 __be32 *p; in nfsd4_encode_sequence() local
4044 p = xdr_reserve_space(xdr, NFS4_MAX_SESSIONID_LEN + 20); in nfsd4_encode_sequence()
4045 if (!p) in nfsd4_encode_sequence()
4047 p = xdr_encode_opaque_fixed(p, seq->sessionid.data, in nfsd4_encode_sequence()
4049 *p++ = cpu_to_be32(seq->seqid); in nfsd4_encode_sequence()
4050 *p++ = cpu_to_be32(seq->slotid); in nfsd4_encode_sequence()
4052 *p++ = cpu_to_be32(seq->maxslots - 1); /* sr_highest_slotid */ in nfsd4_encode_sequence()
4053 *p++ = cpu_to_be32(seq->maxslots - 1); /* sr_target_highest_slotid */ in nfsd4_encode_sequence()
4054 *p++ = cpu_to_be32(seq->status_flags); in nfsd4_encode_sequence()
4066 __be32 *p; in nfsd4_encode_test_stateid() local
4071 p = xdr_reserve_space(xdr, 4 + (4 * test_stateid->ts_num_ids)); in nfsd4_encode_test_stateid()
4072 if (!p) in nfsd4_encode_test_stateid()
4074 *p++ = htonl(test_stateid->ts_num_ids); in nfsd4_encode_test_stateid()
4077 *p++ = stateid->ts_id_status; in nfsd4_encode_test_stateid()
4091 __be32 *p; in nfsd4_encode_getdeviceinfo() local
4098 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_getdeviceinfo()
4099 if (!p) in nfsd4_encode_getdeviceinfo()
4102 *p++ = cpu_to_be32(gdev->gd_layout_type); in nfsd4_encode_getdeviceinfo()
4122 p = xdr_reserve_space(xdr, 4 + 4); in nfsd4_encode_getdeviceinfo()
4123 if (!p) in nfsd4_encode_getdeviceinfo()
4125 *p++ = cpu_to_be32(1); /* bitmap length */ in nfsd4_encode_getdeviceinfo()
4126 *p++ = cpu_to_be32(gdev->gd_notify_types); in nfsd4_encode_getdeviceinfo()
4128 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_getdeviceinfo()
4129 if (!p) in nfsd4_encode_getdeviceinfo()
4131 *p++ = 0; in nfsd4_encode_getdeviceinfo()
4144 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_getdeviceinfo()
4145 if (!p) { in nfsd4_encode_getdeviceinfo()
4148 *p++ = cpu_to_be32(needed_len); in nfsd4_encode_getdeviceinfo()
4160 __be32 *p; in nfsd4_encode_layoutget() local
4167 p = xdr_reserve_space(xdr, 36 + sizeof(stateid_opaque_t)); in nfsd4_encode_layoutget()
4168 if (!p) in nfsd4_encode_layoutget()
4171 *p++ = cpu_to_be32(1); /* we always set return-on-close */ in nfsd4_encode_layoutget()
4172 *p++ = cpu_to_be32(lgp->lg_sid.si_generation); in nfsd4_encode_layoutget()
4173 p = xdr_encode_opaque_fixed(p, &lgp->lg_sid.si_opaque, in nfsd4_encode_layoutget()
4176 *p++ = cpu_to_be32(1); /* we always return a single layout */ in nfsd4_encode_layoutget()
4177 p = xdr_encode_hyper(p, lgp->lg_seg.offset); in nfsd4_encode_layoutget()
4178 p = xdr_encode_hyper(p, lgp->lg_seg.length); in nfsd4_encode_layoutget()
4179 *p++ = cpu_to_be32(lgp->lg_seg.iomode); in nfsd4_encode_layoutget()
4180 *p++ = cpu_to_be32(lgp->lg_layout_type); in nfsd4_encode_layoutget()
4194 __be32 *p; in nfsd4_encode_layoutcommit() local
4199 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_layoutcommit()
4200 if (!p) in nfsd4_encode_layoutcommit()
4202 *p++ = cpu_to_be32(lcp->lc_size_chg); in nfsd4_encode_layoutcommit()
4204 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_layoutcommit()
4205 if (!p) in nfsd4_encode_layoutcommit()
4207 p = xdr_encode_hyper(p, lcp->lc_newsize); in nfsd4_encode_layoutcommit()
4218 __be32 *p; in nfsd4_encode_layoutreturn() local
4223 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_layoutreturn()
4224 if (!p) in nfsd4_encode_layoutreturn()
4226 *p++ = cpu_to_be32(lrp->lrs_present); in nfsd4_encode_layoutreturn()
4236 __be32 *p; in nfsd42_encode_write_res() local
4238 p = xdr_reserve_space(&resp->xdr, 4 + 8 + 4 + NFS4_VERIFIER_SIZE); in nfsd42_encode_write_res()
4239 if (!p) in nfsd42_encode_write_res()
4242 *p++ = cpu_to_be32(0); in nfsd42_encode_write_res()
4243 p = xdr_encode_hyper(p, write->wr_bytes_written); in nfsd42_encode_write_res()
4244 *p++ = cpu_to_be32(write->wr_stable_how); in nfsd42_encode_write_res()
4245 p = xdr_encode_opaque_fixed(p, write->wr_verifier.data, in nfsd42_encode_write_res()
4254 __be32 *p; in nfsd4_encode_copy() local
4261 p = xdr_reserve_space(&resp->xdr, 4 + 4); in nfsd4_encode_copy()
4262 *p++ = cpu_to_be32(copy->cp_consecutive); in nfsd4_encode_copy()
4263 *p++ = cpu_to_be32(copy->cp_synchronous); in nfsd4_encode_copy()
4272 __be32 *p; in nfsd4_encode_seek() local
4277 p = xdr_reserve_space(&resp->xdr, 4 + 8); in nfsd4_encode_seek()
4278 *p++ = cpu_to_be32(seek->seek_eof); in nfsd4_encode_seek()
4279 p = xdr_encode_hyper(p, seek->seek_pos); in nfsd4_encode_seek()
4285 nfsd4_encode_noop(struct nfsd4_compoundres *resp, __be32 nfserr, void *p) in nfsd4_encode_noop() argument
4418 __be32 *p; in nfsd4_encode_operation() local
4420 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_operation()
4421 if (!p) { in nfsd4_encode_operation()
4425 *p++ = cpu_to_be32(op->opnum); in nfsd4_encode_operation()
4486 __be32 *p; in nfsd4_encode_replay() local
4491 p = xdr_reserve_space(xdr, 8 + rp->rp_buflen); in nfsd4_encode_replay()
4492 if (!p) { in nfsd4_encode_replay()
4496 *p++ = cpu_to_be32(op->opnum); in nfsd4_encode_replay()
4497 *p++ = rp->rp_status; /* already xdr'ed */ in nfsd4_encode_replay()
4499 p = xdr_encode_opaque_fixed(p, rp->rp_buf, rp->rp_buflen); in nfsd4_encode_replay()
4503 nfs4svc_encode_voidres(struct svc_rqst *rqstp, __be32 *p, void *dummy) in nfs4svc_encode_voidres() argument
4505 return xdr_ressize_check(rqstp, p); in nfs4svc_encode_voidres()
4508 int nfsd4_release_compoundargs(void *rq, __be32 *p, void *resp) in nfsd4_release_compoundargs() argument
4528 nfs4svc_decode_compoundargs(struct svc_rqst *rqstp, __be32 *p, struct nfsd4_compoundargs *args) in nfs4svc_decode_compoundargs() argument
4536 args->p = p; in nfs4svc_decode_compoundargs()
4549 nfs4svc_encode_compoundres(struct svc_rqst *rqstp, __be32 *p, struct nfsd4_compoundres *resp) in nfs4svc_encode_compoundres() argument
4561 p = resp->tagp; in nfs4svc_encode_compoundres()
4562 *p++ = htonl(resp->taglen); in nfs4svc_encode_compoundres()
4563 memcpy(p, resp->tag, resp->taglen); in nfs4svc_encode_compoundres()
4564 p += XDR_QUADLEN(resp->taglen); in nfs4svc_encode_compoundres()
4565 *p++ = htonl(resp->opcnt); in nfs4svc_encode_compoundres()