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 + (argp->pagelen>>2); 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()
1249 argp->p = (__be32 *)page_address(argp->pagelist[0]); in nfsd4_decode_write()
1251 argp->end = argp->p + XDR_QUADLEN(PAGE_SIZE); in nfsd4_decode_write()
1253 argp->p += XDR_QUADLEN(len); in nfsd4_decode_write()
1268 rlockowner->rl_owner.len = be32_to_cpup(p++); in nfsd4_decode_release_lockowner()
1292 exid->flags = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1296 exid->spa_how = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1303 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1305 p += dummy; in nfsd4_decode_exchange_id()
1309 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1311 p += dummy; in nfsd4_decode_exchange_id()
1316 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1318 p += dummy; in nfsd4_decode_exchange_id()
1321 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1323 p += dummy; in nfsd4_decode_exchange_id()
1327 tmp = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1330 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1332 p += XDR_QUADLEN(dummy); in nfsd4_decode_exchange_id()
1337 tmp = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1340 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1342 p += XDR_QUADLEN(dummy); in nfsd4_decode_exchange_id()
1347 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1348 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1356 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1364 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1366 p += XDR_QUADLEN(dummy); in nfsd4_decode_exchange_id()
1370 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1372 p += XDR_QUADLEN(dummy); in nfsd4_decode_exchange_id()
1376 p += 3; in nfsd4_decode_exchange_id()
1390 sess->seqid = be32_to_cpup(p++); in nfsd4_decode_create_session()
1391 sess->flags = be32_to_cpup(p++); in nfsd4_decode_create_session()
1395 dummy = be32_to_cpup(p++); /* headerpadsz is always 0 */ in nfsd4_decode_create_session()
1396 sess->fore_channel.maxreq_sz = be32_to_cpup(p++); in nfsd4_decode_create_session()
1397 sess->fore_channel.maxresp_sz = be32_to_cpup(p++); in nfsd4_decode_create_session()
1398 sess->fore_channel.maxresp_cached = be32_to_cpup(p++); in nfsd4_decode_create_session()
1399 sess->fore_channel.maxops = be32_to_cpup(p++); in nfsd4_decode_create_session()
1400 sess->fore_channel.maxreqs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1401 sess->fore_channel.nr_rdma_attrs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1404 sess->fore_channel.rdma_attrs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1412 dummy = be32_to_cpup(p++); /* headerpadsz is always 0 */ in nfsd4_decode_create_session()
1413 sess->back_channel.maxreq_sz = be32_to_cpup(p++); in nfsd4_decode_create_session()
1414 sess->back_channel.maxresp_sz = be32_to_cpup(p++); in nfsd4_decode_create_session()
1415 sess->back_channel.maxresp_cached = be32_to_cpup(p++); in nfsd4_decode_create_session()
1416 sess->back_channel.maxops = be32_to_cpup(p++); in nfsd4_decode_create_session()
1417 sess->back_channel.maxreqs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1418 sess->back_channel.nr_rdma_attrs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1421 sess->back_channel.rdma_attrs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1428 sess->callback_prog = be32_to_cpup(p++); in nfsd4_decode_create_session()
1451 free_stateid->fr_stateid.si_generation = be32_to_cpup(p++); in nfsd4_decode_free_stateid()
1465 seq->seqid = be32_to_cpup(p++); in nfsd4_decode_sequence()
1466 seq->slotid = be32_to_cpup(p++); in nfsd4_decode_sequence()
1467 seq->maxslots = be32_to_cpup(p++); in nfsd4_decode_sequence()
1468 seq->cachethis = be32_to_cpup(p++); in nfsd4_decode_sequence()
1477 __be32 *p, status; in nfsd4_decode_test_stateid() local
1481 test_stateid->ts_num_ids = ntohl(*p++); in nfsd4_decode_test_stateid()
1524 rc->rca_one_fs = be32_to_cpup(p++); in nfsd4_decode_reclaim_complete()
1539 gdev->gd_layout_type = be32_to_cpup(p++); in nfsd4_decode_getdeviceinfo()
1540 gdev->gd_maxcount = be32_to_cpup(p++); in nfsd4_decode_getdeviceinfo()
1541 num = be32_to_cpup(p++); in nfsd4_decode_getdeviceinfo()
1544 gdev->gd_notify_types = be32_to_cpup(p++); in nfsd4_decode_getdeviceinfo()
1546 if (be32_to_cpup(p++)) { in nfsd4_decode_getdeviceinfo()
1562 lgp->lg_signal = be32_to_cpup(p++); in nfsd4_decode_layoutget()
1563 lgp->lg_layout_type = be32_to_cpup(p++); in nfsd4_decode_layoutget()
1564 lgp->lg_seg.iomode = be32_to_cpup(p++); in nfsd4_decode_layoutget()
1565 p = xdr_decode_hyper(p, &lgp->lg_seg.offset); in nfsd4_decode_layoutget()
1566 p = xdr_decode_hyper(p, &lgp->lg_seg.length); in nfsd4_decode_layoutget()
1567 p = xdr_decode_hyper(p, &lgp->lg_minlength); in nfsd4_decode_layoutget()
1574 lgp->lg_maxcount = be32_to_cpup(p++); in nfsd4_decode_layoutget()
1587 p = xdr_decode_hyper(p, &lcp->lc_seg.offset); in nfsd4_decode_layoutcommit()
1588 p = xdr_decode_hyper(p, &lcp->lc_seg.length); in nfsd4_decode_layoutcommit()
1589 lcp->lc_reclaim = be32_to_cpup(p++); in nfsd4_decode_layoutcommit()
1596 lcp->lc_newoffset = be32_to_cpup(p++); in nfsd4_decode_layoutcommit()
1599 p = xdr_decode_hyper(p, &lcp->lc_last_wr); in nfsd4_decode_layoutcommit()
1603 timechange = be32_to_cpup(p++); in nfsd4_decode_layoutcommit()
1612 lcp->lc_layout_type = be32_to_cpup(p++); in nfsd4_decode_layoutcommit()
1618 lcp->lc_up_len = be32_to_cpup(p++); in nfsd4_decode_layoutcommit()
1634 lrp->lr_reclaim = be32_to_cpup(p++); in nfsd4_decode_layoutreturn()
1635 lrp->lr_layout_type = be32_to_cpup(p++); in nfsd4_decode_layoutreturn()
1636 lrp->lr_seg.iomode = be32_to_cpup(p++); in nfsd4_decode_layoutreturn()
1637 lrp->lr_return_type = be32_to_cpup(p++); in nfsd4_decode_layoutreturn()
1640 p = xdr_decode_hyper(p, &lrp->lr_seg.offset); in nfsd4_decode_layoutreturn()
1641 p = xdr_decode_hyper(p, &lrp->lr_seg.length); in nfsd4_decode_layoutreturn()
1648 lrp->lrf_body_len = be32_to_cpup(p++); in nfsd4_decode_layoutreturn()
1673 p = xdr_decode_hyper(p, &fallocate->falloc_offset); in nfsd4_decode_fallocate()
1674 xdr_decode_hyper(p, &fallocate->falloc_length); in nfsd4_decode_fallocate()
1689 p = xdr_decode_hyper(p, &seek->seek_offset); in nfsd4_decode_seek()
1690 seek->seek_whence = be32_to_cpup(p); in nfsd4_decode_seek()
1696 nfsd4_decode_noop(struct nfsd4_compoundargs *argp, void *p) in nfsd4_decode_noop() argument
1702 nfsd4_decode_notsupp(struct nfsd4_compoundargs *argp, void *p) in nfsd4_decode_notsupp() argument
1819 argp->taglen = be32_to_cpup(p++); in nfsd4_decode_compound()
1823 argp->minorversion = be32_to_cpup(p++); in nfsd4_decode_compound()
1824 argp->opcnt = be32_to_cpup(p++); in nfsd4_decode_compound()
1849 op->opnum = be32_to_cpup(p++); in nfsd4_decode_compound()
1894 static __be32 *encode_change(__be32 *p, struct kstat *stat, struct inode *inode) in encode_change() argument
1897 p = xdr_encode_hyper(p, inode->i_version); in encode_change()
1899 *p++ = cpu_to_be32(stat->ctime.tv_sec); in encode_change()
1900 *p++ = cpu_to_be32(stat->ctime.tv_nsec); in encode_change()
1902 return p; in encode_change()
1905 static __be32 *encode_cinfo(__be32 *p, struct nfsd4_change_info *c) in encode_cinfo() argument
1907 *p++ = cpu_to_be32(c->atomic); in encode_cinfo()
1909 p = xdr_encode_hyper(p, c->before_change); in encode_cinfo()
1910 p = xdr_encode_hyper(p, c->after_change); in encode_cinfo()
1912 *p++ = cpu_to_be32(c->before_ctime_sec); in encode_cinfo()
1913 *p++ = cpu_to_be32(c->before_ctime_nsec); in encode_cinfo()
1914 *p++ = cpu_to_be32(c->after_ctime_sec); in encode_cinfo()
1915 *p++ = cpu_to_be32(c->after_ctime_nsec); in encode_cinfo()
1917 return p; in encode_cinfo()
1927 __be32 *p; in nfsd4_encode_components_esc() local
1936 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_components_esc()
1937 if (!p) in nfsd4_encode_components_esc()
1939 p++; /* We will fill this in with @count later */ in nfsd4_encode_components_esc()
1962 p = xdr_reserve_space(xdr, strlen + 4); in nfsd4_encode_components_esc()
1963 if (!p) in nfsd4_encode_components_esc()
1965 p = xdr_encode_opaque(p, str, strlen); in nfsd4_encode_components_esc()
2015 __be32 *p; in nfsd4_encode_path() local
2047 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_path()
2048 if (!p) in nfsd4_encode_path()
2050 *p++ = cpu_to_be32(ncomponents); in nfsd4_encode_path()
2058 p = xdr_reserve_space(xdr, len + 4); in nfsd4_encode_path()
2059 if (!p) { in nfsd4_encode_path()
2063 p = xdr_encode_opaque(p, dentry->d_name.name, len); in nfsd4_encode_path()
2102 __be32 *p; in nfsd4_encode_fs_locations() local
2108 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fs_locations()
2109 if (!p) in nfsd4_encode_fs_locations()
2111 *p++ = cpu_to_be32(fslocs->locations_count); in nfsd4_encode_fs_locations()
2149 __be32 *p; in nfsd4_encode_layout_type() local
2152 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_layout_type()
2153 if (!p) in nfsd4_encode_layout_type()
2155 *p++ = cpu_to_be32(1); in nfsd4_encode_layout_type()
2156 *p++ = cpu_to_be32(layout_type); in nfsd4_encode_layout_type()
2158 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_layout_type()
2159 if (!p) in nfsd4_encode_layout_type()
2161 *p++ = cpu_to_be32(0); in nfsd4_encode_layout_type()
2177 __be32 *p; in nfsd4_encode_security_label() local
2179 p = xdr_reserve_space(xdr, len + 4 + 4 + 4); in nfsd4_encode_security_label()
2180 if (!p) in nfsd4_encode_security_label()
2187 *p++ = cpu_to_be32(0); /* lfs */ in nfsd4_encode_security_label()
2188 *p++ = cpu_to_be32(0); /* pi */ in nfsd4_encode_security_label()
2189 p = xdr_encode_opaque(p, context, len); in nfsd4_encode_security_label()
2235 __be32 *p; in nfsd4_encode_bitmap() local
2238 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_bitmap()
2239 if (!p) in nfsd4_encode_bitmap()
2241 *p++ = cpu_to_be32(3); in nfsd4_encode_bitmap()
2242 *p++ = cpu_to_be32(bmval0); in nfsd4_encode_bitmap()
2243 *p++ = cpu_to_be32(bmval1); in nfsd4_encode_bitmap()
2244 *p++ = cpu_to_be32(bmval2); in nfsd4_encode_bitmap()
2246 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_bitmap()
2247 if (!p) in nfsd4_encode_bitmap()
2249 *p++ = cpu_to_be32(2); in nfsd4_encode_bitmap()
2250 *p++ = cpu_to_be32(bmval0); in nfsd4_encode_bitmap()
2251 *p++ = cpu_to_be32(bmval1); in nfsd4_encode_bitmap()
2253 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_bitmap()
2254 if (!p) in nfsd4_encode_bitmap()
2256 *p++ = cpu_to_be32(1); in nfsd4_encode_bitmap()
2257 *p++ = cpu_to_be32(bmval0); in nfsd4_encode_bitmap()
2281 __be32 *p; in nfsd4_encode_fattr() local
2366 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2367 if (!p) in nfsd4_encode_fattr()
2369 p++; /* to be backfilled later */ in nfsd4_encode_fattr()
2381 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
2382 if (!p) in nfsd4_encode_fattr()
2384 *p++ = cpu_to_be32(2); in nfsd4_encode_fattr()
2385 *p++ = cpu_to_be32(word0); in nfsd4_encode_fattr()
2386 *p++ = cpu_to_be32(word1); in nfsd4_encode_fattr()
2388 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_fattr()
2389 if (!p) in nfsd4_encode_fattr()
2391 *p++ = cpu_to_be32(3); in nfsd4_encode_fattr()
2392 *p++ = cpu_to_be32(word0); in nfsd4_encode_fattr()
2393 *p++ = cpu_to_be32(word1); in nfsd4_encode_fattr()
2394 *p++ = cpu_to_be32(word2); in nfsd4_encode_fattr()
2398 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2399 if (!p) in nfsd4_encode_fattr()
2406 *p++ = cpu_to_be32(dummy); in nfsd4_encode_fattr()
2409 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2410 if (!p) in nfsd4_encode_fattr()
2413 *p++ = cpu_to_be32(NFS4_FH_PERSISTENT); in nfsd4_encode_fattr()
2415 *p++ = cpu_to_be32(NFS4_FH_PERSISTENT| in nfsd4_encode_fattr()
2419 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2420 if (!p) in nfsd4_encode_fattr()
2422 p = encode_change(p, &stat, d_inode(dentry)); in nfsd4_encode_fattr()
2425 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2426 if (!p) in nfsd4_encode_fattr()
2428 p = xdr_encode_hyper(p, stat.size); in nfsd4_encode_fattr()
2431 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2432 if (!p) in nfsd4_encode_fattr()
2434 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2437 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2438 if (!p) in nfsd4_encode_fattr()
2440 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2443 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2444 if (!p) in nfsd4_encode_fattr()
2446 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2449 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_fattr()
2450 if (!p) in nfsd4_encode_fattr()
2453 p = xdr_encode_hyper(p, NFS4_REFERRAL_FSID_MAJOR); in nfsd4_encode_fattr()
2454 p = xdr_encode_hyper(p, NFS4_REFERRAL_FSID_MINOR); in nfsd4_encode_fattr()
2457 p = xdr_encode_hyper(p, (u64)exp->ex_fsid); in nfsd4_encode_fattr()
2458 p = xdr_encode_hyper(p, (u64)0); in nfsd4_encode_fattr()
2461 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2462 *p++ = cpu_to_be32(MAJOR(stat.dev)); in nfsd4_encode_fattr()
2463 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2464 *p++ = cpu_to_be32(MINOR(stat.dev)); in nfsd4_encode_fattr()
2467 p = xdr_encode_opaque_fixed(p, exp->ex_uuid, in nfsd4_encode_fattr()
2473 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2474 if (!p) in nfsd4_encode_fattr()
2476 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2479 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2480 if (!p) in nfsd4_encode_fattr()
2482 *p++ = cpu_to_be32(nn->nfsd4_lease); in nfsd4_encode_fattr()
2485 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2486 if (!p) in nfsd4_encode_fattr()
2488 *p++ = cpu_to_be32(rdattr_err); in nfsd4_encode_fattr()
2494 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2495 if (!p) in nfsd4_encode_fattr()
2498 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2501 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2502 if (!p) in nfsd4_encode_fattr()
2504 *p++ = cpu_to_be32(acl->naces); in nfsd4_encode_fattr()
2507 p = xdr_reserve_space(xdr, 4*3); in nfsd4_encode_fattr()
2508 if (!p) in nfsd4_encode_fattr()
2510 *p++ = cpu_to_be32(ace->type); in nfsd4_encode_fattr()
2511 *p++ = cpu_to_be32(ace->flag); in nfsd4_encode_fattr()
2512 *p++ = cpu_to_be32(ace->access_mask & in nfsd4_encode_fattr()
2521 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2522 if (!p) in nfsd4_encode_fattr()
2524 *p++ = cpu_to_be32(IS_POSIXACL(dentry->d_inode) ? in nfsd4_encode_fattr()
2528 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2529 if (!p) in nfsd4_encode_fattr()
2531 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2534 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2535 if (!p) in nfsd4_encode_fattr()
2537 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2540 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2541 if (!p) in nfsd4_encode_fattr()
2543 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2546 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2547 if (!p) in nfsd4_encode_fattr()
2549 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2552 p = xdr_reserve_space(xdr, fhp->fh_handle.fh_size + 4); in nfsd4_encode_fattr()
2553 if (!p) in nfsd4_encode_fattr()
2555 p = xdr_encode_opaque(p, &fhp->fh_handle.fh_base, in nfsd4_encode_fattr()
2559 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2560 if (!p) in nfsd4_encode_fattr()
2562 p = xdr_encode_hyper(p, stat.ino); in nfsd4_encode_fattr()
2565 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2566 if (!p) in nfsd4_encode_fattr()
2568 p = xdr_encode_hyper(p, (u64) statfs.f_ffree); in nfsd4_encode_fattr()
2571 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2572 if (!p) in nfsd4_encode_fattr()
2574 p = xdr_encode_hyper(p, (u64) statfs.f_ffree); in nfsd4_encode_fattr()
2577 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2578 if (!p) in nfsd4_encode_fattr()
2580 p = xdr_encode_hyper(p, (u64) statfs.f_files); in nfsd4_encode_fattr()
2588 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2589 if (!p) in nfsd4_encode_fattr()
2591 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2594 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2595 if (!p) in nfsd4_encode_fattr()
2597 p = xdr_encode_hyper(p, exp->ex_path.mnt->mnt_sb->s_maxbytes); in nfsd4_encode_fattr()
2600 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2601 if (!p) in nfsd4_encode_fattr()
2603 *p++ = cpu_to_be32(255); in nfsd4_encode_fattr()
2606 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2607 if (!p) in nfsd4_encode_fattr()
2609 *p++ = cpu_to_be32(statfs.f_namelen); in nfsd4_encode_fattr()
2612 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2613 if (!p) in nfsd4_encode_fattr()
2615 p = xdr_encode_hyper(p, (u64) svc_max_payload(rqstp)); in nfsd4_encode_fattr()
2618 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2619 if (!p) in nfsd4_encode_fattr()
2621 p = xdr_encode_hyper(p, (u64) svc_max_payload(rqstp)); in nfsd4_encode_fattr()
2624 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2625 if (!p) in nfsd4_encode_fattr()
2627 *p++ = cpu_to_be32(stat.mode & S_IALLUGO); in nfsd4_encode_fattr()
2630 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2631 if (!p) in nfsd4_encode_fattr()
2633 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2636 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2637 if (!p) in nfsd4_encode_fattr()
2639 *p++ = cpu_to_be32(stat.nlink); in nfsd4_encode_fattr()
2652 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2653 if (!p) in nfsd4_encode_fattr()
2655 *p++ = cpu_to_be32((u32) MAJOR(stat.rdev)); in nfsd4_encode_fattr()
2656 *p++ = cpu_to_be32((u32) MINOR(stat.rdev)); in nfsd4_encode_fattr()
2659 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2660 if (!p) in nfsd4_encode_fattr()
2663 p = xdr_encode_hyper(p, dummy64); in nfsd4_encode_fattr()
2666 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2667 if (!p) in nfsd4_encode_fattr()
2670 p = xdr_encode_hyper(p, dummy64); in nfsd4_encode_fattr()
2673 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2674 if (!p) in nfsd4_encode_fattr()
2677 p = xdr_encode_hyper(p, dummy64); in nfsd4_encode_fattr()
2680 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2681 if (!p) in nfsd4_encode_fattr()
2684 p = xdr_encode_hyper(p, dummy64); in nfsd4_encode_fattr()
2687 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
2688 if (!p) in nfsd4_encode_fattr()
2690 p = xdr_encode_hyper(p, (s64)stat.atime.tv_sec); in nfsd4_encode_fattr()
2691 *p++ = cpu_to_be32(stat.atime.tv_nsec); in nfsd4_encode_fattr()
2694 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
2695 if (!p) in nfsd4_encode_fattr()
2697 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2698 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2699 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2702 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
2703 if (!p) in nfsd4_encode_fattr()
2705 p = xdr_encode_hyper(p, (s64)stat.ctime.tv_sec); in nfsd4_encode_fattr()
2706 *p++ = cpu_to_be32(stat.ctime.tv_nsec); in nfsd4_encode_fattr()
2709 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
2710 if (!p) in nfsd4_encode_fattr()
2712 p = xdr_encode_hyper(p, (s64)stat.mtime.tv_sec); in nfsd4_encode_fattr()
2713 *p++ = cpu_to_be32(stat.mtime.tv_nsec); in nfsd4_encode_fattr()
2719 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2720 if (!p) in nfsd4_encode_fattr()
2733 p = xdr_encode_hyper(p, ino); in nfsd4_encode_fattr()
2749 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2750 if (!p) in nfsd4_encode_fattr()
2752 *p++ = cpu_to_be32(stat.blksize); in nfsd4_encode_fattr()
2796 struct xdr_buf *buf, __be32 *p, int bytes) in svcxdr_init_encode_from_buffer() argument
2800 buf->head[0].iov_base = p; in svcxdr_init_encode_from_buffer()
2805 xdr->p = p; in svcxdr_init_encode_from_buffer()
2806 xdr->end = (void *)p + bytes; in svcxdr_init_encode_from_buffer()
2810 __be32 nfsd4_encode_fattr_to_buf(__be32 **p, int words, in nfsd4_encode_fattr_to_buf() argument
2819 svcxdr_init_encode_from_buffer(&xdr, &dummy, *p, words << 2); in nfsd4_encode_fattr_to_buf()
2822 *p = xdr.p; in nfsd4_encode_fattr_to_buf()
2900 __be32 *p; in nfsd4_encode_rdattr_error() local
2902 p = xdr_reserve_space(xdr, 20); in nfsd4_encode_rdattr_error()
2903 if (!p) in nfsd4_encode_rdattr_error()
2905 *p++ = htonl(2); in nfsd4_encode_rdattr_error()
2906 *p++ = htonl(FATTR4_WORD0_RDATTR_ERROR); /* bmval0 */ in nfsd4_encode_rdattr_error()
2907 *p++ = htonl(0); /* bmval1 */ in nfsd4_encode_rdattr_error()
2909 *p++ = htonl(4); /* attribute length */ in nfsd4_encode_rdattr_error()
2910 *p++ = nfserr; /* no htonl */ in nfsd4_encode_rdattr_error()
2911 return p; in nfsd4_encode_rdattr_error()
2927 __be32 *p; in nfsd4_encode_dirent() local
2941 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_dirent()
2942 if (!p) in nfsd4_encode_dirent()
2944 *p++ = xdr_one; /* mark entry present */ in nfsd4_encode_dirent()
2946 p = xdr_reserve_space(xdr, 3*4 + namlen); in nfsd4_encode_dirent()
2947 if (!p) in nfsd4_encode_dirent()
2949 p = xdr_encode_hyper(p, NFS_OFFSET_MAX); /* offset of next entry */ in nfsd4_encode_dirent()
2950 p = xdr_encode_array(p, name, namlen); /* name length & name */ in nfsd4_encode_dirent()
2972 p = nfsd4_encode_rdattr_error(xdr, nfserr); in nfsd4_encode_dirent()
2973 if (p == NULL) { in nfsd4_encode_dirent()
3007 __be32 *p; in nfsd4_encode_stateid() local
3009 p = xdr_reserve_space(xdr, sizeof(stateid_t)); in nfsd4_encode_stateid()
3010 if (!p) in nfsd4_encode_stateid()
3012 *p++ = cpu_to_be32(sid->si_generation); in nfsd4_encode_stateid()
3013 p = xdr_encode_opaque_fixed(p, &sid->si_opaque, in nfsd4_encode_stateid()
3022 __be32 *p; in nfsd4_encode_access() local
3025 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_access()
3026 if (!p) in nfsd4_encode_access()
3028 *p++ = cpu_to_be32(access->ac_supported); in nfsd4_encode_access()
3029 *p++ = cpu_to_be32(access->ac_resp_access); in nfsd4_encode_access()
3037 __be32 *p; in nfsd4_encode_bind_conn_to_session() local
3040 p = xdr_reserve_space(xdr, NFS4_MAX_SESSIONID_LEN + 8); in nfsd4_encode_bind_conn_to_session()
3041 if (!p) in nfsd4_encode_bind_conn_to_session()
3043 p = xdr_encode_opaque_fixed(p, bcts->sessionid.data, in nfsd4_encode_bind_conn_to_session()
3045 *p++ = cpu_to_be32(bcts->dir); in nfsd4_encode_bind_conn_to_session()
3047 *p++ = cpu_to_be32(0); in nfsd4_encode_bind_conn_to_session()
3068 __be32 *p; in nfsd4_encode_commit() local
3071 p = xdr_reserve_space(xdr, NFS4_VERIFIER_SIZE); in nfsd4_encode_commit()
3072 if (!p) in nfsd4_encode_commit()
3074 p = xdr_encode_opaque_fixed(p, commit->co_verf.data, in nfsd4_encode_commit()
3084 __be32 *p; in nfsd4_encode_create() local
3087 p = xdr_reserve_space(xdr, 20); in nfsd4_encode_create()
3088 if (!p) in nfsd4_encode_create()
3090 encode_cinfo(p, &create->cr_cinfo); in nfsd4_encode_create()
3118 __be32 *p; in nfsd4_encode_getfh() local
3122 p = xdr_reserve_space(xdr, len + 4); in nfsd4_encode_getfh()
3123 if (!p) in nfsd4_encode_getfh()
3125 p = xdr_encode_opaque(p, &fhp->fh_handle.fh_base, len); in nfsd4_encode_getfh()
3138 __be32 *p; in nfsd4_encode_lock_denied() local
3141 p = xdr_reserve_space(xdr, 32 + XDR_LEN(conf->len)); in nfsd4_encode_lock_denied()
3142 if (!p) { in nfsd4_encode_lock_denied()
3155 p = xdr_encode_hyper(p, ld->ld_start); in nfsd4_encode_lock_denied()
3156 p = xdr_encode_hyper(p, ld->ld_length); in nfsd4_encode_lock_denied()
3157 *p++ = cpu_to_be32(ld->ld_type); in nfsd4_encode_lock_denied()
3159 p = xdr_encode_opaque_fixed(p, &ld->ld_clientid, 8); in nfsd4_encode_lock_denied()
3160 p = xdr_encode_opaque(p, conf->data, conf->len); in nfsd4_encode_lock_denied()
3163 p = xdr_encode_hyper(p, (u64)0); /* clientid */ in nfsd4_encode_lock_denied()
3164 *p++ = cpu_to_be32(0); /* length of owner name */ in nfsd4_encode_lock_denied()
3208 __be32 *p; in nfsd4_encode_link() local
3211 p = xdr_reserve_space(xdr, 20); in nfsd4_encode_link()
3212 if (!p) in nfsd4_encode_link()
3214 p = encode_cinfo(p, &link->li_cinfo); in nfsd4_encode_link()
3224 __be32 *p; in nfsd4_encode_open() local
3232 p = xdr_reserve_space(xdr, 24); in nfsd4_encode_open()
3233 if (!p) in nfsd4_encode_open()
3235 p = encode_cinfo(p, &open->op_cinfo); in nfsd4_encode_open()
3236 *p++ = cpu_to_be32(open->op_rflags); in nfsd4_encode_open()
3243 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_open()
3244 if (!p) in nfsd4_encode_open()
3247 *p++ = cpu_to_be32(open->op_delegate_type); in nfsd4_encode_open()
3255 p = xdr_reserve_space(xdr, 20); in nfsd4_encode_open()
3256 if (!p) in nfsd4_encode_open()
3258 *p++ = cpu_to_be32(open->op_recall); in nfsd4_encode_open()
3263 *p++ = cpu_to_be32(NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE); in nfsd4_encode_open()
3264 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3265 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3266 *p++ = cpu_to_be32(0); /* XXX: is NULL principal ok? */ in nfsd4_encode_open()
3272 p = xdr_reserve_space(xdr, 32); in nfsd4_encode_open()
3273 if (!p) in nfsd4_encode_open()
3275 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3280 *p++ = cpu_to_be32(NFS4_LIMIT_SIZE); in nfsd4_encode_open()
3281 *p++ = cpu_to_be32(~(u32)0); in nfsd4_encode_open()
3282 *p++ = cpu_to_be32(~(u32)0); in nfsd4_encode_open()
3287 *p++ = cpu_to_be32(NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE); in nfsd4_encode_open()
3288 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3289 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3290 *p++ = cpu_to_be32(0); /* XXX: is NULL principal ok? */ in nfsd4_encode_open()
3296 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_open()
3297 if (!p) in nfsd4_encode_open()
3299 *p++ = cpu_to_be32(open->op_why_no_deleg); in nfsd4_encode_open()
3301 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3304 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_open()
3305 if (!p) in nfsd4_encode_open()
3307 *p++ = cpu_to_be32(open->op_why_no_deleg); in nfsd4_encode_open()
3350 __be32 *p = xdr->p - 2; in nfsd4_encode_splice_read() local
3353 if (xdr->end - xdr->p < 1) in nfsd4_encode_splice_read()
3371 *(p++) = htonl(eof); in nfsd4_encode_splice_read()
3372 *(p++) = htonl(maxcount); in nfsd4_encode_splice_read()
3380 buf->tail[0].iov_base = xdr->p; in nfsd4_encode_splice_read()
3386 *(xdr->p++) = 0; in nfsd4_encode_splice_read()
3393 space_left = min_t(int, (void *)xdr->end - (void *)xdr->p, in nfsd4_encode_splice_read()
3413 __be32 *p; in nfsd4_encode_readv() local
3420 thislen = min_t(long, len, ((void *)xdr->end - (void *)xdr->p)); in nfsd4_encode_readv()
3421 p = xdr_reserve_space(xdr, (thislen+3)&~3); in nfsd4_encode_readv()
3422 WARN_ON_ONCE(!p); in nfsd4_encode_readv()
3423 resp->rqstp->rq_vec[v].iov_base = p; in nfsd4_encode_readv()
3430 p = xdr_reserve_space(xdr, (thislen+3)&~3); in nfsd4_encode_readv()
3431 WARN_ON_ONCE(!p); in nfsd4_encode_readv()
3432 resp->rqstp->rq_vec[v].iov_base = p; in nfsd4_encode_readv()
3469 __be32 *p; in nfsd4_encode_read() local
3474 p = xdr_reserve_space(xdr, 8); /* eof flag and byte count */ in nfsd4_encode_read()
3475 if (!p) { in nfsd4_encode_read()
3522 __be32 *p; in nfsd4_encode_readlink() local
3527 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_readlink()
3528 if (!p) in nfsd4_encode_readlink()
3532 p = xdr_reserve_space(xdr, maxcount); in nfsd4_encode_readlink()
3533 if (!p) in nfsd4_encode_readlink()
3542 (char *)p, &maxcount); in nfsd4_encode_readlink()
3568 __be32 *p; in nfsd4_encode_readdir() local
3573 p = xdr_reserve_space(xdr, NFS4_VERIFIER_SIZE); in nfsd4_encode_readdir()
3574 if (!p) in nfsd4_encode_readdir()
3578 *p++ = cpu_to_be32(0); in nfsd4_encode_readdir()
3579 *p++ = cpu_to_be32(0); in nfsd4_encode_readdir()
3580 resp->xdr.buf->head[0].iov_len = ((char *)resp->xdr.p) in nfsd4_encode_readdir()
3638 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_readdir()
3639 if (!p) { in nfsd4_encode_readdir()
3643 *p++ = 0; /* no more entries */ in nfsd4_encode_readdir()
3644 *p++ = htonl(readdir->common.err == nfserr_eof); in nfsd4_encode_readdir()
3656 __be32 *p; in nfsd4_encode_remove() local
3659 p = xdr_reserve_space(xdr, 20); in nfsd4_encode_remove()
3660 if (!p) in nfsd4_encode_remove()
3662 p = encode_cinfo(p, &remove->rm_cinfo); in nfsd4_encode_remove()
3671 __be32 *p; in nfsd4_encode_rename() local
3674 p = xdr_reserve_space(xdr, 40); in nfsd4_encode_rename()
3675 if (!p) in nfsd4_encode_rename()
3677 p = encode_cinfo(p, &rename->rn_sinfo); in nfsd4_encode_rename()
3678 p = encode_cinfo(p, &rename->rn_tinfo); in nfsd4_encode_rename()
3690 __be32 *p, *flavorsp; in nfsd4_do_encode_secinfo() local
3717 p = xdr_reserve_space(xdr, 4); in nfsd4_do_encode_secinfo()
3718 if (!p) in nfsd4_do_encode_secinfo()
3720 flavorsp = p++; /* to be backfilled later */ in nfsd4_do_encode_secinfo()
3728 p = xdr_reserve_space(xdr, 4 + 4 + in nfsd4_do_encode_secinfo()
3730 if (!p) in nfsd4_do_encode_secinfo()
3732 *p++ = cpu_to_be32(RPC_AUTH_GSS); in nfsd4_do_encode_secinfo()
3733 p = xdr_encode_opaque(p, info.oid.data, info.oid.len); in nfsd4_do_encode_secinfo()
3734 *p++ = cpu_to_be32(info.qop); in nfsd4_do_encode_secinfo()
3735 *p++ = cpu_to_be32(info.service); in nfsd4_do_encode_secinfo()
3738 p = xdr_reserve_space(xdr, 4); in nfsd4_do_encode_secinfo()
3739 if (!p) in nfsd4_do_encode_secinfo()
3741 *p++ = cpu_to_be32(pf); in nfsd4_do_encode_secinfo()
3785 __be32 *p; in nfsd4_encode_setattr() local
3787 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_setattr()
3788 if (!p) in nfsd4_encode_setattr()
3791 *p++ = cpu_to_be32(3); in nfsd4_encode_setattr()
3792 *p++ = cpu_to_be32(0); in nfsd4_encode_setattr()
3793 *p++ = cpu_to_be32(0); in nfsd4_encode_setattr()
3794 *p++ = cpu_to_be32(0); in nfsd4_encode_setattr()
3797 *p++ = cpu_to_be32(3); in nfsd4_encode_setattr()
3798 *p++ = cpu_to_be32(setattr->sa_bmval[0]); in nfsd4_encode_setattr()
3799 *p++ = cpu_to_be32(setattr->sa_bmval[1]); in nfsd4_encode_setattr()
3800 *p++ = cpu_to_be32(setattr->sa_bmval[2]); in nfsd4_encode_setattr()
3809 __be32 *p; in nfsd4_encode_setclientid() local
3812 p = xdr_reserve_space(xdr, 8 + NFS4_VERIFIER_SIZE); in nfsd4_encode_setclientid()
3813 if (!p) in nfsd4_encode_setclientid()
3815 p = xdr_encode_opaque_fixed(p, &scd->se_clientid, 8); in nfsd4_encode_setclientid()
3816 p = xdr_encode_opaque_fixed(p, &scd->se_confirm, in nfsd4_encode_setclientid()
3820 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_setclientid()
3821 if (!p) in nfsd4_encode_setclientid()
3823 *p++ = cpu_to_be32(0); in nfsd4_encode_setclientid()
3824 *p++ = cpu_to_be32(0); in nfsd4_encode_setclientid()
3833 __be32 *p; in nfsd4_encode_write() local
3836 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_write()
3837 if (!p) in nfsd4_encode_write()
3839 *p++ = cpu_to_be32(write->wr_bytes_written); in nfsd4_encode_write()
3840 *p++ = cpu_to_be32(write->wr_how_written); in nfsd4_encode_write()
3841 p = xdr_encode_opaque_fixed(p, write->wr_verifier.data, in nfsd4_encode_write()
3860 __be32 *p; in nfsd4_encode_exchange_id() local
3875 p = xdr_reserve_space(xdr, in nfsd4_encode_exchange_id()
3880 if (!p) in nfsd4_encode_exchange_id()
3883 p = xdr_encode_opaque_fixed(p, &exid->clientid, 8); in nfsd4_encode_exchange_id()
3884 *p++ = cpu_to_be32(exid->seqid); in nfsd4_encode_exchange_id()
3885 *p++ = cpu_to_be32(exid->flags); in nfsd4_encode_exchange_id()
3887 *p++ = cpu_to_be32(exid->spa_how); in nfsd4_encode_exchange_id()
3894 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_exchange_id()
3895 if (!p) in nfsd4_encode_exchange_id()
3899 *p++ = cpu_to_be32(2); in nfsd4_encode_exchange_id()
3900 *p++ = cpu_to_be32(nfs4_minimal_spo_must_enforce[0]); in nfsd4_encode_exchange_id()
3901 *p++ = cpu_to_be32(nfs4_minimal_spo_must_enforce[1]); in nfsd4_encode_exchange_id()
3903 *p++ = cpu_to_be32(0); in nfsd4_encode_exchange_id()
3910 p = xdr_reserve_space(xdr, in nfsd4_encode_exchange_id()
3917 if (!p) in nfsd4_encode_exchange_id()
3921 p = xdr_encode_hyper(p, minor_id); /* Minor id */ in nfsd4_encode_exchange_id()
3923 p = xdr_encode_opaque(p, major_id, major_id_sz); in nfsd4_encode_exchange_id()
3926 p = xdr_encode_opaque(p, server_scope, server_scope_sz); in nfsd4_encode_exchange_id()
3929 *p++ = cpu_to_be32(0); /* zero length nfs_impl_id4 array */ in nfsd4_encode_exchange_id()
3938 __be32 *p; in nfsd4_encode_create_session() local
3943 p = xdr_reserve_space(xdr, 24); in nfsd4_encode_create_session()
3944 if (!p) in nfsd4_encode_create_session()
3946 p = xdr_encode_opaque_fixed(p, sess->sessionid.data, in nfsd4_encode_create_session()
3948 *p++ = cpu_to_be32(sess->seqid); in nfsd4_encode_create_session()
3949 *p++ = cpu_to_be32(sess->flags); in nfsd4_encode_create_session()
3951 p = xdr_reserve_space(xdr, 28); in nfsd4_encode_create_session()
3952 if (!p) in nfsd4_encode_create_session()
3954 *p++ = cpu_to_be32(0); /* headerpadsz */ in nfsd4_encode_create_session()
3955 *p++ = cpu_to_be32(sess->fore_channel.maxreq_sz); in nfsd4_encode_create_session()
3956 *p++ = cpu_to_be32(sess->fore_channel.maxresp_sz); in nfsd4_encode_create_session()
3957 *p++ = cpu_to_be32(sess->fore_channel.maxresp_cached); in nfsd4_encode_create_session()
3958 *p++ = cpu_to_be32(sess->fore_channel.maxops); in nfsd4_encode_create_session()
3959 *p++ = cpu_to_be32(sess->fore_channel.maxreqs); in nfsd4_encode_create_session()
3960 *p++ = cpu_to_be32(sess->fore_channel.nr_rdma_attrs); in nfsd4_encode_create_session()
3963 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_create_session()
3964 if (!p) in nfsd4_encode_create_session()
3966 *p++ = cpu_to_be32(sess->fore_channel.rdma_attrs); in nfsd4_encode_create_session()
3969 p = xdr_reserve_space(xdr, 28); in nfsd4_encode_create_session()
3970 if (!p) in nfsd4_encode_create_session()
3972 *p++ = cpu_to_be32(0); /* headerpadsz */ in nfsd4_encode_create_session()
3973 *p++ = cpu_to_be32(sess->back_channel.maxreq_sz); in nfsd4_encode_create_session()
3974 *p++ = cpu_to_be32(sess->back_channel.maxresp_sz); in nfsd4_encode_create_session()
3975 *p++ = cpu_to_be32(sess->back_channel.maxresp_cached); in nfsd4_encode_create_session()
3976 *p++ = cpu_to_be32(sess->back_channel.maxops); in nfsd4_encode_create_session()
3977 *p++ = cpu_to_be32(sess->back_channel.maxreqs); in nfsd4_encode_create_session()
3978 *p++ = cpu_to_be32(sess->back_channel.nr_rdma_attrs); in nfsd4_encode_create_session()
3981 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_create_session()
3982 if (!p) in nfsd4_encode_create_session()
3984 *p++ = cpu_to_be32(sess->back_channel.rdma_attrs); in nfsd4_encode_create_session()
3994 __be32 *p; in nfsd4_encode_sequence() local
3999 p = xdr_reserve_space(xdr, NFS4_MAX_SESSIONID_LEN + 20); in nfsd4_encode_sequence()
4000 if (!p) in nfsd4_encode_sequence()
4002 p = xdr_encode_opaque_fixed(p, seq->sessionid.data, in nfsd4_encode_sequence()
4004 *p++ = cpu_to_be32(seq->seqid); in nfsd4_encode_sequence()
4005 *p++ = cpu_to_be32(seq->slotid); in nfsd4_encode_sequence()
4007 *p++ = cpu_to_be32(seq->maxslots - 1); /* sr_highest_slotid */ in nfsd4_encode_sequence()
4008 *p++ = cpu_to_be32(seq->maxslots - 1); /* sr_target_highest_slotid */ in nfsd4_encode_sequence()
4009 *p++ = cpu_to_be32(seq->status_flags); in nfsd4_encode_sequence()
4021 __be32 *p; in nfsd4_encode_test_stateid() local
4026 p = xdr_reserve_space(xdr, 4 + (4 * test_stateid->ts_num_ids)); in nfsd4_encode_test_stateid()
4027 if (!p) in nfsd4_encode_test_stateid()
4029 *p++ = htonl(test_stateid->ts_num_ids); in nfsd4_encode_test_stateid()
4032 *p++ = stateid->ts_id_status; in nfsd4_encode_test_stateid()
4047 __be32 *p; in nfsd4_encode_getdeviceinfo() local
4054 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_getdeviceinfo()
4055 if (!p) in nfsd4_encode_getdeviceinfo()
4058 *p++ = cpu_to_be32(gdev->gd_layout_type); in nfsd4_encode_getdeviceinfo()
4077 p = xdr_reserve_space(xdr, 4 + 4); in nfsd4_encode_getdeviceinfo()
4078 if (!p) in nfsd4_encode_getdeviceinfo()
4080 *p++ = cpu_to_be32(1); /* bitmap length */ in nfsd4_encode_getdeviceinfo()
4081 *p++ = cpu_to_be32(gdev->gd_notify_types); in nfsd4_encode_getdeviceinfo()
4083 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_getdeviceinfo()
4084 if (!p) in nfsd4_encode_getdeviceinfo()
4086 *p++ = 0; in nfsd4_encode_getdeviceinfo()
4099 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_getdeviceinfo()
4100 if (!p) { in nfsd4_encode_getdeviceinfo()
4103 *p++ = cpu_to_be32(needed_len); in nfsd4_encode_getdeviceinfo()
4116 __be32 *p; in nfsd4_encode_layoutget() local
4123 p = xdr_reserve_space(xdr, 36 + sizeof(stateid_opaque_t)); in nfsd4_encode_layoutget()
4124 if (!p) in nfsd4_encode_layoutget()
4127 *p++ = cpu_to_be32(1); /* we always set return-on-close */ in nfsd4_encode_layoutget()
4128 *p++ = cpu_to_be32(lgp->lg_sid.si_generation); in nfsd4_encode_layoutget()
4129 p = xdr_encode_opaque_fixed(p, &lgp->lg_sid.si_opaque, in nfsd4_encode_layoutget()
4132 *p++ = cpu_to_be32(1); /* we always return a single layout */ in nfsd4_encode_layoutget()
4133 p = xdr_encode_hyper(p, lgp->lg_seg.offset); in nfsd4_encode_layoutget()
4134 p = xdr_encode_hyper(p, lgp->lg_seg.length); in nfsd4_encode_layoutget()
4135 *p++ = cpu_to_be32(lgp->lg_seg.iomode); in nfsd4_encode_layoutget()
4136 *p++ = cpu_to_be32(lgp->lg_layout_type); in nfsd4_encode_layoutget()
4149 __be32 *p; in nfsd4_encode_layoutcommit() local
4154 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_layoutcommit()
4155 if (!p) in nfsd4_encode_layoutcommit()
4157 *p++ = cpu_to_be32(lcp->lc_size_chg); in nfsd4_encode_layoutcommit()
4159 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_layoutcommit()
4160 if (!p) in nfsd4_encode_layoutcommit()
4162 p = xdr_encode_hyper(p, lcp->lc_newsize); in nfsd4_encode_layoutcommit()
4173 __be32 *p; in nfsd4_encode_layoutreturn() local
4178 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_layoutreturn()
4179 if (!p) in nfsd4_encode_layoutreturn()
4181 *p++ = cpu_to_be32(lrp->lrs_present); in nfsd4_encode_layoutreturn()
4192 __be32 *p; in nfsd4_encode_seek() local
4197 p = xdr_reserve_space(&resp->xdr, 4 + 8); in nfsd4_encode_seek()
4198 *p++ = cpu_to_be32(seek->seek_eof); in nfsd4_encode_seek()
4199 p = xdr_encode_hyper(p, seek->seek_pos); in nfsd4_encode_seek()
4205 nfsd4_encode_noop(struct nfsd4_compoundres *resp, __be32 nfserr, void *p) in nfsd4_encode_noop() argument
4337 __be32 *p; in nfsd4_encode_operation() local
4339 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_operation()
4340 if (!p) { in nfsd4_encode_operation()
4344 *p++ = cpu_to_be32(op->opnum); in nfsd4_encode_operation()
4405 __be32 *p; in nfsd4_encode_replay() local
4410 p = xdr_reserve_space(xdr, 8 + rp->rp_buflen); in nfsd4_encode_replay()
4411 if (!p) { in nfsd4_encode_replay()
4415 *p++ = cpu_to_be32(op->opnum); in nfsd4_encode_replay()
4416 *p++ = rp->rp_status; /* already xdr'ed */ in nfsd4_encode_replay()
4418 p = xdr_encode_opaque_fixed(p, rp->rp_buf, rp->rp_buflen); in nfsd4_encode_replay()
4422 nfs4svc_encode_voidres(struct svc_rqst *rqstp, __be32 *p, void *dummy) in nfs4svc_encode_voidres() argument
4424 return xdr_ressize_check(rqstp, p); in nfs4svc_encode_voidres()
4427 int nfsd4_release_compoundargs(void *rq, __be32 *p, void *resp) in nfsd4_release_compoundargs() argument
4447 nfs4svc_decode_compoundargs(struct svc_rqst *rqstp, __be32 *p, struct nfsd4_compoundargs *args) in nfs4svc_decode_compoundargs() argument
4455 args->p = p; in nfs4svc_decode_compoundargs()
4468 nfs4svc_encode_compoundres(struct svc_rqst *rqstp, __be32 *p, struct nfsd4_compoundres *resp) in nfs4svc_encode_compoundres() argument
4480 p = resp->tagp; in nfs4svc_encode_compoundres()
4481 *p++ = htonl(resp->taglen); in nfs4svc_encode_compoundres()
4482 memcpy(p, resp->tag, resp->taglen); in nfs4svc_encode_compoundres()
4483 p += XDR_QUADLEN(resp->taglen); in nfs4svc_encode_compoundres()
4484 *p++ = htonl(resp->opcnt); in nfs4svc_encode_compoundres()