Lines Matching refs:p
83 __be32 *p; \
96 x = (char *)p; \
97 p += XDR_QUADLEN(nbytes); \
100 if (!(x = (p==argp->tmp || p == argp->tmpp) ? \
101 savemem(argp, p, nbytes) : \
102 (char *)p)) { \
107 p += XDR_QUADLEN(nbytes); \
110 memcpy((x), p, nbytes); \
111 p += XDR_QUADLEN(nbytes); \
116 if (nbytes <= (u32)((char *)argp->end - (char *)argp->p)) { \
117 p = argp->p; \
118 argp->p += XDR_QUADLEN(nbytes); \
119 } else if (!(p = read_buf(argp, nbytes))) { \
128 argp->p = page_address(argp->pagelist[0]); in next_decode_page()
131 argp->end = argp->p + (argp->pagelen>>2); in next_decode_page()
134 argp->end = argp->p + (PAGE_SIZE>>2); in next_decode_page()
144 unsigned int avail = (char *)argp->end - (char *)argp->p; in read_buf()
145 __be32 *p; in read_buf() local
152 p = argp->tmp; in read_buf()
155 p = argp->tmpp = kmalloc(nbytes, GFP_KERNEL); in read_buf()
156 if (!p) in read_buf()
165 memcpy(p, argp->p, avail); in read_buf()
167 memcpy(((char*)p)+avail, argp->p, (nbytes - avail)); in read_buf()
168 argp->p += XDR_QUADLEN(nbytes - avail); in read_buf()
169 return p; in read_buf()
208 char *p = svcxdr_tmpalloc(argp, len + 1); in svcxdr_dupstr() local
210 if (!p) in svcxdr_dupstr()
212 memcpy(p, buf, len); in svcxdr_dupstr()
213 p[len] = '\0'; in svcxdr_dupstr()
214 return p; in svcxdr_dupstr()
227 static char *savemem(struct nfsd4_compoundargs *argp, __be32 *p, int nbytes) in savemem() argument
234 memcpy(ret, p, nbytes); in savemem()
249 p = xdr_decode_hyper(p, &sec); in nfsd4_decode_time()
251 tv->tv_nsec = be32_to_cpup(p++); in nfsd4_decode_time()
269 bmlen = be32_to_cpup(p++); in nfsd4_decode_bitmap()
275 bmval[0] = be32_to_cpup(p++); in nfsd4_decode_bitmap()
277 bmval[1] = be32_to_cpup(p++); in nfsd4_decode_bitmap()
279 bmval[2] = be32_to_cpup(p++); in nfsd4_decode_bitmap()
299 expected_len = be32_to_cpup(p++); in nfsd4_decode_fattr()
304 p = xdr_decode_hyper(p, &iattr->ia_size); in nfsd4_decode_fattr()
312 nace = be32_to_cpup(p++); in nfsd4_decode_fattr()
324 ace->type = be32_to_cpup(p++); in nfsd4_decode_fattr()
325 ace->flag = be32_to_cpup(p++); in nfsd4_decode_fattr()
326 ace->access_mask = be32_to_cpup(p++); in nfsd4_decode_fattr()
327 dummy32 = be32_to_cpup(p++); in nfsd4_decode_fattr()
349 iattr->ia_mode = be32_to_cpup(p++); in nfsd4_decode_fattr()
356 dummy32 = be32_to_cpup(p++); in nfsd4_decode_fattr()
367 dummy32 = be32_to_cpup(p++); in nfsd4_decode_fattr()
378 dummy32 = be32_to_cpup(p++); in nfsd4_decode_fattr()
397 dummy32 = be32_to_cpup(p++); in nfsd4_decode_fattr()
419 dummy32 = be32_to_cpup(p++); /* lfs: we don't use it */ in nfsd4_decode_fattr()
422 dummy32 = be32_to_cpup(p++); /* pi: we don't use it either */ in nfsd4_decode_fattr()
425 dummy32 = be32_to_cpup(p++); in nfsd4_decode_fattr()
454 sid->si_generation = be32_to_cpup(p++); in nfsd4_decode_stateid()
466 access->ac_req_access = be32_to_cpup(p++); in nfsd4_decode_access()
481 nr_secflavs = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
489 dummy = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
499 dummy = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
502 dummy = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
508 uid = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
509 gid = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
513 dummy = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
533 dummy = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
535 dummy = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
537 p += XDR_QUADLEN(dummy); in nfsd4_decode_cb_sec()
540 dummy = be32_to_cpup(p++); in nfsd4_decode_cb_sec()
556 bc->bc_cb_program = be32_to_cpup(p++); in nfsd4_decode_backchannel_ctl()
568 bcts->dir = be32_to_cpup(p++); in nfsd4_decode_bind_conn_to_session()
580 close->cl_seqid = be32_to_cpup(p++); in nfsd4_decode_close()
593 p = xdr_decode_hyper(p, &commit->co_offset); in nfsd4_decode_commit()
594 commit->co_count = be32_to_cpup(p++); in nfsd4_decode_commit()
605 create->cr_type = be32_to_cpup(p++); in nfsd4_decode_create()
609 create->cr_datalen = be32_to_cpup(p++); in nfsd4_decode_create()
611 create->cr_data = svcxdr_dupstr(argp, p, create->cr_datalen); in nfsd4_decode_create()
618 create->cr_specdata1 = be32_to_cpup(p++); in nfsd4_decode_create()
619 create->cr_specdata2 = be32_to_cpup(p++); in nfsd4_decode_create()
629 create->cr_namelen = be32_to_cpup(p++); in nfsd4_decode_create()
661 link->li_namelen = be32_to_cpup(p++); in nfsd4_decode_link()
679 lock->lk_type = be32_to_cpup(p++); in nfsd4_decode_lock()
682 lock->lk_reclaim = be32_to_cpup(p++); in nfsd4_decode_lock()
683 p = xdr_decode_hyper(p, &lock->lk_offset); in nfsd4_decode_lock()
684 p = xdr_decode_hyper(p, &lock->lk_length); in nfsd4_decode_lock()
685 lock->lk_is_new = be32_to_cpup(p++); in nfsd4_decode_lock()
689 lock->lk_new_open_seqid = be32_to_cpup(p++); in nfsd4_decode_lock()
694 lock->lk_new_lock_seqid = be32_to_cpup(p++); in nfsd4_decode_lock()
696 lock->lk_new_owner.len = be32_to_cpup(p++); in nfsd4_decode_lock()
704 lock->lk_old_lock_seqid = be32_to_cpup(p++); in nfsd4_decode_lock()
716 lockt->lt_type = be32_to_cpup(p++); in nfsd4_decode_lockt()
719 p = xdr_decode_hyper(p, &lockt->lt_offset); in nfsd4_decode_lockt()
720 p = xdr_decode_hyper(p, &lockt->lt_length); in nfsd4_decode_lockt()
722 lockt->lt_owner.len = be32_to_cpup(p++); in nfsd4_decode_lockt()
735 locku->lu_type = be32_to_cpup(p++); in nfsd4_decode_locku()
738 locku->lu_seqid = be32_to_cpup(p++); in nfsd4_decode_locku()
743 p = xdr_decode_hyper(p, &locku->lu_offset); in nfsd4_decode_locku()
744 p = xdr_decode_hyper(p, &locku->lu_length); in nfsd4_decode_locku()
755 lookup->lo_len = be32_to_cpup(p++); in nfsd4_decode_lookup()
766 __be32 *p; in nfsd4_decode_share_access() local
770 w = be32_to_cpup(p++); in nfsd4_decode_share_access()
819 __be32 *p; in nfsd4_decode_share_deny() local
822 *x = be32_to_cpup(p++); in nfsd4_decode_share_deny()
833 __be32 *p; in nfsd4_decode_opaque() local
836 o->len = be32_to_cpup(p++); in nfsd4_decode_opaque()
861 open->op_seqid = be32_to_cpup(p++); in nfsd4_decode_open()
876 open->op_create = be32_to_cpup(p++); in nfsd4_decode_open()
882 open->op_createmode = be32_to_cpup(p++); in nfsd4_decode_open()
915 open->op_claim_type = be32_to_cpup(p++); in nfsd4_decode_open()
920 open->op_fname.len = be32_to_cpup(p++); in nfsd4_decode_open()
928 open->op_delegate_type = be32_to_cpup(p++); in nfsd4_decode_open()
935 open->op_fname.len = be32_to_cpup(p++); in nfsd4_decode_open()
973 open_conf->oc_seqid = be32_to_cpup(p++); in nfsd4_decode_open_confirm()
987 open_down->od_seqid = be32_to_cpup(p++); in nfsd4_decode_open_downgrade()
1004 putfh->pf_fhlen = be32_to_cpup(p++); in nfsd4_decode_putfh()
1014 nfsd4_decode_putpubfh(struct nfsd4_compoundargs *argp, void *p) in nfsd4_decode_putpubfh() argument
1030 p = xdr_decode_hyper(p, &read->rd_offset); in nfsd4_decode_read()
1031 read->rd_length = be32_to_cpup(p++); in nfsd4_decode_read()
1042 p = xdr_decode_hyper(p, &readdir->rd_cookie); in nfsd4_decode_readdir()
1044 readdir->rd_dircount = be32_to_cpup(p++); in nfsd4_decode_readdir()
1045 readdir->rd_maxcount = be32_to_cpup(p++); in nfsd4_decode_readdir()
1058 remove->rm_namelen = be32_to_cpup(p++); in nfsd4_decode_remove()
1073 rename->rn_snamelen = be32_to_cpup(p++); in nfsd4_decode_rename()
1077 rename->rn_tnamelen = be32_to_cpup(p++); in nfsd4_decode_rename()
1109 secinfo->si_namelen = be32_to_cpup(p++); in nfsd4_decode_secinfo()
1125 sin->sin_style = be32_to_cpup(p++); in nfsd4_decode_secinfo_no_name()
1156 setclientid->se_callback_prog = be32_to_cpup(p++); in nfsd4_decode_setclientid()
1157 setclientid->se_callback_netid_len = be32_to_cpup(p++); in nfsd4_decode_setclientid()
1161 setclientid->se_callback_addr_len = be32_to_cpup(p++); in nfsd4_decode_setclientid()
1166 setclientid->se_callback_ident = be32_to_cpup(p++); in nfsd4_decode_setclientid()
1199 verify->ve_attrlen = be32_to_cpup(p++); in nfsd4_decode_verify()
1217 p = xdr_decode_hyper(p, &write->wr_offset); in nfsd4_decode_write()
1218 write->wr_stable_how = be32_to_cpup(p++); in nfsd4_decode_write()
1221 write->wr_buflen = be32_to_cpup(p++); in nfsd4_decode_write()
1227 avail = (char*)argp->end - (char*)argp->p; in nfsd4_decode_write()
1233 write->wr_head.iov_base = p; in nfsd4_decode_write()
1248 argp->p = (__be32 *)page_address(argp->pagelist[0]); in nfsd4_decode_write()
1250 argp->end = argp->p + XDR_QUADLEN(PAGE_SIZE); in nfsd4_decode_write()
1252 argp->p += XDR_QUADLEN(len); in nfsd4_decode_write()
1267 rlockowner->rl_owner.len = be32_to_cpup(p++); in nfsd4_decode_release_lockowner()
1291 exid->flags = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1295 exid->spa_how = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1302 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1304 p += dummy; in nfsd4_decode_exchange_id()
1308 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1310 p += dummy; in nfsd4_decode_exchange_id()
1315 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1317 p += dummy; in nfsd4_decode_exchange_id()
1320 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1322 p += dummy; in nfsd4_decode_exchange_id()
1326 tmp = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1329 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1331 p += XDR_QUADLEN(dummy); in nfsd4_decode_exchange_id()
1336 tmp = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1339 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1341 p += XDR_QUADLEN(dummy); in nfsd4_decode_exchange_id()
1346 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1347 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1355 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1363 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1365 p += XDR_QUADLEN(dummy); in nfsd4_decode_exchange_id()
1369 dummy = be32_to_cpup(p++); in nfsd4_decode_exchange_id()
1371 p += XDR_QUADLEN(dummy); in nfsd4_decode_exchange_id()
1375 p += 3; in nfsd4_decode_exchange_id()
1389 sess->seqid = be32_to_cpup(p++); in nfsd4_decode_create_session()
1390 sess->flags = be32_to_cpup(p++); in nfsd4_decode_create_session()
1394 dummy = be32_to_cpup(p++); /* headerpadsz is always 0 */ in nfsd4_decode_create_session()
1395 sess->fore_channel.maxreq_sz = be32_to_cpup(p++); in nfsd4_decode_create_session()
1396 sess->fore_channel.maxresp_sz = be32_to_cpup(p++); in nfsd4_decode_create_session()
1397 sess->fore_channel.maxresp_cached = be32_to_cpup(p++); in nfsd4_decode_create_session()
1398 sess->fore_channel.maxops = be32_to_cpup(p++); in nfsd4_decode_create_session()
1399 sess->fore_channel.maxreqs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1400 sess->fore_channel.nr_rdma_attrs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1403 sess->fore_channel.rdma_attrs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1411 dummy = be32_to_cpup(p++); /* headerpadsz is always 0 */ in nfsd4_decode_create_session()
1412 sess->back_channel.maxreq_sz = be32_to_cpup(p++); in nfsd4_decode_create_session()
1413 sess->back_channel.maxresp_sz = be32_to_cpup(p++); in nfsd4_decode_create_session()
1414 sess->back_channel.maxresp_cached = be32_to_cpup(p++); in nfsd4_decode_create_session()
1415 sess->back_channel.maxops = be32_to_cpup(p++); in nfsd4_decode_create_session()
1416 sess->back_channel.maxreqs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1417 sess->back_channel.nr_rdma_attrs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1420 sess->back_channel.rdma_attrs = be32_to_cpup(p++); in nfsd4_decode_create_session()
1427 sess->callback_prog = be32_to_cpup(p++); in nfsd4_decode_create_session()
1450 free_stateid->fr_stateid.si_generation = be32_to_cpup(p++); in nfsd4_decode_free_stateid()
1464 seq->seqid = be32_to_cpup(p++); in nfsd4_decode_sequence()
1465 seq->slotid = be32_to_cpup(p++); in nfsd4_decode_sequence()
1466 seq->maxslots = be32_to_cpup(p++); in nfsd4_decode_sequence()
1467 seq->cachethis = be32_to_cpup(p++); in nfsd4_decode_sequence()
1476 __be32 *p, status; in nfsd4_decode_test_stateid() local
1480 test_stateid->ts_num_ids = ntohl(*p++); in nfsd4_decode_test_stateid()
1523 rc->rca_one_fs = be32_to_cpup(p++); in nfsd4_decode_reclaim_complete()
1538 gdev->gd_layout_type = be32_to_cpup(p++); in nfsd4_decode_getdeviceinfo()
1539 gdev->gd_maxcount = be32_to_cpup(p++); in nfsd4_decode_getdeviceinfo()
1540 num = be32_to_cpup(p++); in nfsd4_decode_getdeviceinfo()
1543 gdev->gd_notify_types = be32_to_cpup(p++); in nfsd4_decode_getdeviceinfo()
1545 if (be32_to_cpup(p++)) { in nfsd4_decode_getdeviceinfo()
1561 lgp->lg_signal = be32_to_cpup(p++); in nfsd4_decode_layoutget()
1562 lgp->lg_layout_type = be32_to_cpup(p++); in nfsd4_decode_layoutget()
1563 lgp->lg_seg.iomode = be32_to_cpup(p++); in nfsd4_decode_layoutget()
1564 p = xdr_decode_hyper(p, &lgp->lg_seg.offset); in nfsd4_decode_layoutget()
1565 p = xdr_decode_hyper(p, &lgp->lg_seg.length); in nfsd4_decode_layoutget()
1566 p = xdr_decode_hyper(p, &lgp->lg_minlength); in nfsd4_decode_layoutget()
1573 lgp->lg_maxcount = be32_to_cpup(p++); in nfsd4_decode_layoutget()
1586 p = xdr_decode_hyper(p, &lcp->lc_seg.offset); in nfsd4_decode_layoutcommit()
1587 p = xdr_decode_hyper(p, &lcp->lc_seg.length); in nfsd4_decode_layoutcommit()
1588 lcp->lc_reclaim = be32_to_cpup(p++); in nfsd4_decode_layoutcommit()
1595 lcp->lc_newoffset = be32_to_cpup(p++); in nfsd4_decode_layoutcommit()
1598 p = xdr_decode_hyper(p, &lcp->lc_last_wr); in nfsd4_decode_layoutcommit()
1602 timechange = be32_to_cpup(p++); in nfsd4_decode_layoutcommit()
1611 lcp->lc_layout_type = be32_to_cpup(p++); in nfsd4_decode_layoutcommit()
1617 lcp->lc_up_len = be32_to_cpup(p++); in nfsd4_decode_layoutcommit()
1633 lrp->lr_reclaim = be32_to_cpup(p++); in nfsd4_decode_layoutreturn()
1634 lrp->lr_layout_type = be32_to_cpup(p++); in nfsd4_decode_layoutreturn()
1635 lrp->lr_seg.iomode = be32_to_cpup(p++); in nfsd4_decode_layoutreturn()
1636 lrp->lr_return_type = be32_to_cpup(p++); in nfsd4_decode_layoutreturn()
1639 p = xdr_decode_hyper(p, &lrp->lr_seg.offset); in nfsd4_decode_layoutreturn()
1640 p = xdr_decode_hyper(p, &lrp->lr_seg.length); in nfsd4_decode_layoutreturn()
1647 lrp->lrf_body_len = be32_to_cpup(p++); in nfsd4_decode_layoutreturn()
1672 p = xdr_decode_hyper(p, &fallocate->falloc_offset); in nfsd4_decode_fallocate()
1673 xdr_decode_hyper(p, &fallocate->falloc_length); in nfsd4_decode_fallocate()
1688 p = xdr_decode_hyper(p, &seek->seek_offset); in nfsd4_decode_seek()
1689 seek->seek_whence = be32_to_cpup(p); in nfsd4_decode_seek()
1695 nfsd4_decode_noop(struct nfsd4_compoundargs *argp, void *p) in nfsd4_decode_noop() argument
1701 nfsd4_decode_notsupp(struct nfsd4_compoundargs *argp, void *p) in nfsd4_decode_notsupp() argument
1818 argp->taglen = be32_to_cpup(p++); in nfsd4_decode_compound()
1822 argp->minorversion = be32_to_cpup(p++); in nfsd4_decode_compound()
1823 argp->opcnt = be32_to_cpup(p++); in nfsd4_decode_compound()
1848 op->opnum = be32_to_cpup(p++); in nfsd4_decode_compound()
1893 static __be32 *encode_change(__be32 *p, struct kstat *stat, struct inode *inode) in encode_change() argument
1896 p = xdr_encode_hyper(p, inode->i_version); in encode_change()
1898 *p++ = cpu_to_be32(stat->ctime.tv_sec); in encode_change()
1899 *p++ = cpu_to_be32(stat->ctime.tv_nsec); in encode_change()
1901 return p; in encode_change()
1904 static __be32 *encode_cinfo(__be32 *p, struct nfsd4_change_info *c) in encode_cinfo() argument
1906 *p++ = cpu_to_be32(c->atomic); in encode_cinfo()
1908 p = xdr_encode_hyper(p, c->before_change); in encode_cinfo()
1909 p = xdr_encode_hyper(p, c->after_change); in encode_cinfo()
1911 *p++ = cpu_to_be32(c->before_ctime_sec); in encode_cinfo()
1912 *p++ = cpu_to_be32(c->before_ctime_nsec); in encode_cinfo()
1913 *p++ = cpu_to_be32(c->after_ctime_sec); in encode_cinfo()
1914 *p++ = cpu_to_be32(c->after_ctime_nsec); in encode_cinfo()
1916 return p; in encode_cinfo()
1926 __be32 *p; in nfsd4_encode_components_esc() local
1935 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_components_esc()
1936 if (!p) in nfsd4_encode_components_esc()
1938 p++; /* We will fill this in with @count later */ in nfsd4_encode_components_esc()
1961 p = xdr_reserve_space(xdr, strlen + 4); in nfsd4_encode_components_esc()
1962 if (!p) in nfsd4_encode_components_esc()
1964 p = xdr_encode_opaque(p, str, strlen); in nfsd4_encode_components_esc()
2014 __be32 *p; in nfsd4_encode_path() local
2046 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_path()
2047 if (!p) in nfsd4_encode_path()
2049 *p++ = cpu_to_be32(ncomponents); in nfsd4_encode_path()
2057 p = xdr_reserve_space(xdr, len + 4); in nfsd4_encode_path()
2058 if (!p) { in nfsd4_encode_path()
2062 p = xdr_encode_opaque(p, dentry->d_name.name, len); in nfsd4_encode_path()
2101 __be32 *p; in nfsd4_encode_fs_locations() local
2107 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fs_locations()
2108 if (!p) in nfsd4_encode_fs_locations()
2110 *p++ = cpu_to_be32(fslocs->locations_count); in nfsd4_encode_fs_locations()
2148 __be32 *p; in nfsd4_encode_layout_type() local
2151 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_layout_type()
2152 if (!p) in nfsd4_encode_layout_type()
2154 *p++ = cpu_to_be32(1); in nfsd4_encode_layout_type()
2155 *p++ = cpu_to_be32(layout_type); in nfsd4_encode_layout_type()
2157 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_layout_type()
2158 if (!p) in nfsd4_encode_layout_type()
2160 *p++ = cpu_to_be32(0); in nfsd4_encode_layout_type()
2176 __be32 *p; in nfsd4_encode_security_label() local
2178 p = xdr_reserve_space(xdr, len + 4 + 4 + 4); in nfsd4_encode_security_label()
2179 if (!p) in nfsd4_encode_security_label()
2186 *p++ = cpu_to_be32(0); /* lfs */ in nfsd4_encode_security_label()
2187 *p++ = cpu_to_be32(0); /* pi */ in nfsd4_encode_security_label()
2188 p = xdr_encode_opaque(p, context, len); in nfsd4_encode_security_label()
2247 __be32 *p; in nfsd4_encode_fattr() local
2333 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_fattr()
2334 if (!p) in nfsd4_encode_fattr()
2336 *p++ = cpu_to_be32(3); in nfsd4_encode_fattr()
2337 *p++ = cpu_to_be32(bmval0); in nfsd4_encode_fattr()
2338 *p++ = cpu_to_be32(bmval1); in nfsd4_encode_fattr()
2339 *p++ = cpu_to_be32(bmval2); in nfsd4_encode_fattr()
2341 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
2342 if (!p) in nfsd4_encode_fattr()
2344 *p++ = cpu_to_be32(2); in nfsd4_encode_fattr()
2345 *p++ = cpu_to_be32(bmval0); in nfsd4_encode_fattr()
2346 *p++ = cpu_to_be32(bmval1); in nfsd4_encode_fattr()
2348 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2349 if (!p) in nfsd4_encode_fattr()
2351 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2352 *p++ = cpu_to_be32(bmval0); in nfsd4_encode_fattr()
2356 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2357 if (!p) in nfsd4_encode_fattr()
2359 p++; /* to be backfilled later */ in nfsd4_encode_fattr()
2371 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
2372 if (!p) in nfsd4_encode_fattr()
2374 *p++ = cpu_to_be32(2); in nfsd4_encode_fattr()
2375 *p++ = cpu_to_be32(word0); in nfsd4_encode_fattr()
2376 *p++ = cpu_to_be32(word1); in nfsd4_encode_fattr()
2378 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_fattr()
2379 if (!p) in nfsd4_encode_fattr()
2381 *p++ = cpu_to_be32(3); in nfsd4_encode_fattr()
2382 *p++ = cpu_to_be32(word0); in nfsd4_encode_fattr()
2383 *p++ = cpu_to_be32(word1); in nfsd4_encode_fattr()
2384 *p++ = cpu_to_be32(word2); in nfsd4_encode_fattr()
2388 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2389 if (!p) in nfsd4_encode_fattr()
2396 *p++ = cpu_to_be32(dummy); in nfsd4_encode_fattr()
2399 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2400 if (!p) in nfsd4_encode_fattr()
2403 *p++ = cpu_to_be32(NFS4_FH_PERSISTENT); in nfsd4_encode_fattr()
2405 *p++ = cpu_to_be32(NFS4_FH_PERSISTENT| in nfsd4_encode_fattr()
2409 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2410 if (!p) in nfsd4_encode_fattr()
2412 p = encode_change(p, &stat, d_inode(dentry)); in nfsd4_encode_fattr()
2415 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2416 if (!p) in nfsd4_encode_fattr()
2418 p = xdr_encode_hyper(p, stat.size); in nfsd4_encode_fattr()
2421 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2422 if (!p) in nfsd4_encode_fattr()
2424 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2427 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2428 if (!p) in nfsd4_encode_fattr()
2430 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2433 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2434 if (!p) in nfsd4_encode_fattr()
2436 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2439 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_fattr()
2440 if (!p) in nfsd4_encode_fattr()
2443 p = xdr_encode_hyper(p, NFS4_REFERRAL_FSID_MAJOR); in nfsd4_encode_fattr()
2444 p = xdr_encode_hyper(p, NFS4_REFERRAL_FSID_MINOR); in nfsd4_encode_fattr()
2447 p = xdr_encode_hyper(p, (u64)exp->ex_fsid); in nfsd4_encode_fattr()
2448 p = xdr_encode_hyper(p, (u64)0); in nfsd4_encode_fattr()
2451 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2452 *p++ = cpu_to_be32(MAJOR(stat.dev)); in nfsd4_encode_fattr()
2453 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2454 *p++ = cpu_to_be32(MINOR(stat.dev)); in nfsd4_encode_fattr()
2457 p = xdr_encode_opaque_fixed(p, exp->ex_uuid, in nfsd4_encode_fattr()
2463 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2464 if (!p) in nfsd4_encode_fattr()
2466 *p++ = cpu_to_be32(0); 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(nn->nfsd4_lease); 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(rdattr_err); in nfsd4_encode_fattr()
2484 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2485 if (!p) in nfsd4_encode_fattr()
2488 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2491 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2492 if (!p) in nfsd4_encode_fattr()
2494 *p++ = cpu_to_be32(acl->naces); in nfsd4_encode_fattr()
2497 p = xdr_reserve_space(xdr, 4*3); in nfsd4_encode_fattr()
2498 if (!p) in nfsd4_encode_fattr()
2500 *p++ = cpu_to_be32(ace->type); in nfsd4_encode_fattr()
2501 *p++ = cpu_to_be32(ace->flag); in nfsd4_encode_fattr()
2502 *p++ = cpu_to_be32(ace->access_mask & 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(aclsupport ? in nfsd4_encode_fattr()
2518 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2519 if (!p) in nfsd4_encode_fattr()
2521 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2524 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2525 if (!p) in nfsd4_encode_fattr()
2527 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2530 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2531 if (!p) in nfsd4_encode_fattr()
2533 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2536 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2537 if (!p) in nfsd4_encode_fattr()
2539 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2542 p = xdr_reserve_space(xdr, fhp->fh_handle.fh_size + 4); in nfsd4_encode_fattr()
2543 if (!p) in nfsd4_encode_fattr()
2545 p = xdr_encode_opaque(p, &fhp->fh_handle.fh_base, in nfsd4_encode_fattr()
2549 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2550 if (!p) in nfsd4_encode_fattr()
2552 p = xdr_encode_hyper(p, stat.ino); in nfsd4_encode_fattr()
2555 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2556 if (!p) in nfsd4_encode_fattr()
2558 p = xdr_encode_hyper(p, (u64) statfs.f_ffree); in nfsd4_encode_fattr()
2561 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2562 if (!p) in nfsd4_encode_fattr()
2564 p = xdr_encode_hyper(p, (u64) statfs.f_ffree); in nfsd4_encode_fattr()
2567 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2568 if (!p) in nfsd4_encode_fattr()
2570 p = xdr_encode_hyper(p, (u64) statfs.f_files); 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, 8); in nfsd4_encode_fattr()
2585 if (!p) in nfsd4_encode_fattr()
2587 p = xdr_encode_hyper(p, exp->ex_path.mnt->mnt_sb->s_maxbytes); in nfsd4_encode_fattr()
2590 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2591 if (!p) in nfsd4_encode_fattr()
2593 *p++ = cpu_to_be32(255); in nfsd4_encode_fattr()
2596 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2597 if (!p) in nfsd4_encode_fattr()
2599 *p++ = cpu_to_be32(statfs.f_namelen); in nfsd4_encode_fattr()
2602 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2603 if (!p) in nfsd4_encode_fattr()
2605 p = xdr_encode_hyper(p, (u64) svc_max_payload(rqstp)); in nfsd4_encode_fattr()
2608 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2609 if (!p) in nfsd4_encode_fattr()
2611 p = xdr_encode_hyper(p, (u64) svc_max_payload(rqstp)); in nfsd4_encode_fattr()
2614 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2615 if (!p) in nfsd4_encode_fattr()
2617 *p++ = cpu_to_be32(stat.mode & S_IALLUGO); in nfsd4_encode_fattr()
2620 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2621 if (!p) in nfsd4_encode_fattr()
2623 *p++ = cpu_to_be32(1); 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(stat.nlink); in nfsd4_encode_fattr()
2642 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2643 if (!p) in nfsd4_encode_fattr()
2645 *p++ = cpu_to_be32((u32) MAJOR(stat.rdev)); in nfsd4_encode_fattr()
2646 *p++ = cpu_to_be32((u32) MINOR(stat.rdev)); in nfsd4_encode_fattr()
2649 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2650 if (!p) in nfsd4_encode_fattr()
2653 p = xdr_encode_hyper(p, dummy64); in nfsd4_encode_fattr()
2656 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2657 if (!p) in nfsd4_encode_fattr()
2660 p = xdr_encode_hyper(p, dummy64); in nfsd4_encode_fattr()
2663 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2664 if (!p) in nfsd4_encode_fattr()
2667 p = xdr_encode_hyper(p, dummy64); in nfsd4_encode_fattr()
2670 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2671 if (!p) in nfsd4_encode_fattr()
2674 p = xdr_encode_hyper(p, dummy64); in nfsd4_encode_fattr()
2677 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
2678 if (!p) in nfsd4_encode_fattr()
2680 p = xdr_encode_hyper(p, (s64)stat.atime.tv_sec); in nfsd4_encode_fattr()
2681 *p++ = cpu_to_be32(stat.atime.tv_nsec); in nfsd4_encode_fattr()
2684 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
2685 if (!p) in nfsd4_encode_fattr()
2687 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2688 *p++ = cpu_to_be32(1); in nfsd4_encode_fattr()
2689 *p++ = cpu_to_be32(0); in nfsd4_encode_fattr()
2692 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
2693 if (!p) in nfsd4_encode_fattr()
2695 p = xdr_encode_hyper(p, (s64)stat.ctime.tv_sec); in nfsd4_encode_fattr()
2696 *p++ = cpu_to_be32(stat.ctime.tv_nsec); in nfsd4_encode_fattr()
2699 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
2700 if (!p) in nfsd4_encode_fattr()
2702 p = xdr_encode_hyper(p, (s64)stat.mtime.tv_sec); in nfsd4_encode_fattr()
2703 *p++ = cpu_to_be32(stat.mtime.tv_nsec); in nfsd4_encode_fattr()
2706 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
2707 if (!p) in nfsd4_encode_fattr()
2716 p = xdr_encode_hyper(p, stat.ino); in nfsd4_encode_fattr()
2732 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
2733 if (!p) in nfsd4_encode_fattr()
2735 *p++ = cpu_to_be32(stat.blksize); in nfsd4_encode_fattr()
2745 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_fattr()
2746 if (!p) in nfsd4_encode_fattr()
2748 *p++ = cpu_to_be32(3); in nfsd4_encode_fattr()
2749 *p++ = cpu_to_be32(NFSD_SUPPATTR_EXCLCREAT_WORD0); in nfsd4_encode_fattr()
2750 *p++ = cpu_to_be32(NFSD_SUPPATTR_EXCLCREAT_WORD1); in nfsd4_encode_fattr()
2751 *p++ = cpu_to_be32(NFSD_SUPPATTR_EXCLCREAT_WORD2); in nfsd4_encode_fattr()
2780 struct xdr_buf *buf, __be32 *p, int bytes) in svcxdr_init_encode_from_buffer() argument
2784 buf->head[0].iov_base = p; in svcxdr_init_encode_from_buffer()
2789 xdr->p = p; in svcxdr_init_encode_from_buffer()
2790 xdr->end = (void *)p + bytes; in svcxdr_init_encode_from_buffer()
2794 __be32 nfsd4_encode_fattr_to_buf(__be32 **p, int words, in nfsd4_encode_fattr_to_buf() argument
2803 svcxdr_init_encode_from_buffer(&xdr, &dummy, *p, words << 2); in nfsd4_encode_fattr_to_buf()
2806 *p = xdr.p; in nfsd4_encode_fattr_to_buf()
2884 __be32 *p; in nfsd4_encode_rdattr_error() local
2886 p = xdr_reserve_space(xdr, 20); in nfsd4_encode_rdattr_error()
2887 if (!p) in nfsd4_encode_rdattr_error()
2889 *p++ = htonl(2); in nfsd4_encode_rdattr_error()
2890 *p++ = htonl(FATTR4_WORD0_RDATTR_ERROR); /* bmval0 */ in nfsd4_encode_rdattr_error()
2891 *p++ = htonl(0); /* bmval1 */ in nfsd4_encode_rdattr_error()
2893 *p++ = htonl(4); /* attribute length */ in nfsd4_encode_rdattr_error()
2894 *p++ = nfserr; /* no htonl */ in nfsd4_encode_rdattr_error()
2895 return p; in nfsd4_encode_rdattr_error()
2911 __be32 *p; in nfsd4_encode_dirent() local
2925 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_dirent()
2926 if (!p) in nfsd4_encode_dirent()
2928 *p++ = xdr_one; /* mark entry present */ in nfsd4_encode_dirent()
2930 p = xdr_reserve_space(xdr, 3*4 + namlen); in nfsd4_encode_dirent()
2931 if (!p) in nfsd4_encode_dirent()
2933 p = xdr_encode_hyper(p, NFS_OFFSET_MAX); /* offset of next entry */ in nfsd4_encode_dirent()
2934 p = xdr_encode_array(p, name, namlen); /* name length & name */ in nfsd4_encode_dirent()
2956 p = nfsd4_encode_rdattr_error(xdr, nfserr); in nfsd4_encode_dirent()
2957 if (p == NULL) { in nfsd4_encode_dirent()
2991 __be32 *p; in nfsd4_encode_stateid() local
2993 p = xdr_reserve_space(xdr, sizeof(stateid_t)); in nfsd4_encode_stateid()
2994 if (!p) in nfsd4_encode_stateid()
2996 *p++ = cpu_to_be32(sid->si_generation); in nfsd4_encode_stateid()
2997 p = xdr_encode_opaque_fixed(p, &sid->si_opaque, in nfsd4_encode_stateid()
3006 __be32 *p; in nfsd4_encode_access() local
3009 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_access()
3010 if (!p) in nfsd4_encode_access()
3012 *p++ = cpu_to_be32(access->ac_supported); in nfsd4_encode_access()
3013 *p++ = cpu_to_be32(access->ac_resp_access); in nfsd4_encode_access()
3021 __be32 *p; in nfsd4_encode_bind_conn_to_session() local
3024 p = xdr_reserve_space(xdr, NFS4_MAX_SESSIONID_LEN + 8); in nfsd4_encode_bind_conn_to_session()
3025 if (!p) in nfsd4_encode_bind_conn_to_session()
3027 p = xdr_encode_opaque_fixed(p, bcts->sessionid.data, in nfsd4_encode_bind_conn_to_session()
3029 *p++ = cpu_to_be32(bcts->dir); in nfsd4_encode_bind_conn_to_session()
3031 *p++ = cpu_to_be32(0); in nfsd4_encode_bind_conn_to_session()
3052 __be32 *p; in nfsd4_encode_commit() local
3055 p = xdr_reserve_space(xdr, NFS4_VERIFIER_SIZE); in nfsd4_encode_commit()
3056 if (!p) in nfsd4_encode_commit()
3058 p = xdr_encode_opaque_fixed(p, commit->co_verf.data, in nfsd4_encode_commit()
3068 __be32 *p; in nfsd4_encode_create() local
3071 p = xdr_reserve_space(xdr, 32); in nfsd4_encode_create()
3072 if (!p) in nfsd4_encode_create()
3074 p = encode_cinfo(p, &create->cr_cinfo); in nfsd4_encode_create()
3075 *p++ = cpu_to_be32(2); in nfsd4_encode_create()
3076 *p++ = cpu_to_be32(create->cr_bmval[0]); in nfsd4_encode_create()
3077 *p++ = cpu_to_be32(create->cr_bmval[1]); in nfsd4_encode_create()
3103 __be32 *p; in nfsd4_encode_getfh() local
3107 p = xdr_reserve_space(xdr, len + 4); in nfsd4_encode_getfh()
3108 if (!p) in nfsd4_encode_getfh()
3110 p = xdr_encode_opaque(p, &fhp->fh_handle.fh_base, len); in nfsd4_encode_getfh()
3123 __be32 *p; in nfsd4_encode_lock_denied() local
3126 p = xdr_reserve_space(xdr, 32 + XDR_LEN(conf->len)); in nfsd4_encode_lock_denied()
3127 if (!p) { in nfsd4_encode_lock_denied()
3140 p = xdr_encode_hyper(p, ld->ld_start); in nfsd4_encode_lock_denied()
3141 p = xdr_encode_hyper(p, ld->ld_length); in nfsd4_encode_lock_denied()
3142 *p++ = cpu_to_be32(ld->ld_type); in nfsd4_encode_lock_denied()
3144 p = xdr_encode_opaque_fixed(p, &ld->ld_clientid, 8); in nfsd4_encode_lock_denied()
3145 p = xdr_encode_opaque(p, conf->data, conf->len); in nfsd4_encode_lock_denied()
3148 p = xdr_encode_hyper(p, (u64)0); /* clientid */ in nfsd4_encode_lock_denied()
3149 *p++ = cpu_to_be32(0); /* length of owner name */ in nfsd4_encode_lock_denied()
3193 __be32 *p; in nfsd4_encode_link() local
3196 p = xdr_reserve_space(xdr, 20); in nfsd4_encode_link()
3197 if (!p) in nfsd4_encode_link()
3199 p = encode_cinfo(p, &link->li_cinfo); in nfsd4_encode_link()
3209 __be32 *p; in nfsd4_encode_open() local
3217 p = xdr_reserve_space(xdr, 40); in nfsd4_encode_open()
3218 if (!p) in nfsd4_encode_open()
3220 p = encode_cinfo(p, &open->op_cinfo); in nfsd4_encode_open()
3221 *p++ = cpu_to_be32(open->op_rflags); in nfsd4_encode_open()
3222 *p++ = cpu_to_be32(2); in nfsd4_encode_open()
3223 *p++ = cpu_to_be32(open->op_bmval[0]); in nfsd4_encode_open()
3224 *p++ = cpu_to_be32(open->op_bmval[1]); in nfsd4_encode_open()
3225 *p++ = cpu_to_be32(open->op_delegate_type); in nfsd4_encode_open()
3234 p = xdr_reserve_space(xdr, 20); in nfsd4_encode_open()
3235 if (!p) in nfsd4_encode_open()
3237 *p++ = cpu_to_be32(open->op_recall); in nfsd4_encode_open()
3242 *p++ = cpu_to_be32(NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE); in nfsd4_encode_open()
3243 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3244 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3245 *p++ = cpu_to_be32(0); /* XXX: is NULL principal ok? */ in nfsd4_encode_open()
3251 p = xdr_reserve_space(xdr, 32); in nfsd4_encode_open()
3252 if (!p) in nfsd4_encode_open()
3254 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3259 *p++ = cpu_to_be32(NFS4_LIMIT_SIZE); in nfsd4_encode_open()
3260 *p++ = cpu_to_be32(~(u32)0); in nfsd4_encode_open()
3261 *p++ = cpu_to_be32(~(u32)0); in nfsd4_encode_open()
3266 *p++ = cpu_to_be32(NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE); in nfsd4_encode_open()
3267 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3268 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3269 *p++ = cpu_to_be32(0); /* XXX: is NULL principal ok? */ in nfsd4_encode_open()
3275 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_open()
3276 if (!p) in nfsd4_encode_open()
3278 *p++ = cpu_to_be32(open->op_why_no_deleg); in nfsd4_encode_open()
3280 *p++ = cpu_to_be32(0); in nfsd4_encode_open()
3283 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_open()
3284 if (!p) in nfsd4_encode_open()
3286 *p++ = cpu_to_be32(open->op_why_no_deleg); in nfsd4_encode_open()
3329 __be32 *p = xdr->p - 2; in nfsd4_encode_splice_read() local
3332 if (xdr->end - xdr->p < 1) in nfsd4_encode_splice_read()
3350 *(p++) = htonl(eof); in nfsd4_encode_splice_read()
3351 *(p++) = htonl(maxcount); in nfsd4_encode_splice_read()
3359 buf->tail[0].iov_base = xdr->p; in nfsd4_encode_splice_read()
3365 *(xdr->p++) = 0; in nfsd4_encode_splice_read()
3372 space_left = min_t(int, (void *)xdr->end - (void *)xdr->p, in nfsd4_encode_splice_read()
3392 __be32 *p; in nfsd4_encode_readv() local
3399 thislen = min_t(long, len, ((void *)xdr->end - (void *)xdr->p)); in nfsd4_encode_readv()
3400 p = xdr_reserve_space(xdr, (thislen+3)&~3); in nfsd4_encode_readv()
3401 WARN_ON_ONCE(!p); in nfsd4_encode_readv()
3402 resp->rqstp->rq_vec[v].iov_base = p; in nfsd4_encode_readv()
3409 p = xdr_reserve_space(xdr, (thislen+3)&~3); in nfsd4_encode_readv()
3410 WARN_ON_ONCE(!p); in nfsd4_encode_readv()
3411 resp->rqstp->rq_vec[v].iov_base = p; in nfsd4_encode_readv()
3449 __be32 *p; in nfsd4_encode_read() local
3455 p = xdr_reserve_space(xdr, 8); /* eof flag and byte count */ in nfsd4_encode_read()
3456 if (!p) { in nfsd4_encode_read()
3502 __be32 *p; in nfsd4_encode_readlink() local
3507 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_readlink()
3508 if (!p) in nfsd4_encode_readlink()
3512 p = xdr_reserve_space(xdr, maxcount); in nfsd4_encode_readlink()
3513 if (!p) in nfsd4_encode_readlink()
3522 (char *)p, &maxcount); in nfsd4_encode_readlink()
3548 __be32 *p; in nfsd4_encode_readdir() local
3553 p = xdr_reserve_space(xdr, NFS4_VERIFIER_SIZE); in nfsd4_encode_readdir()
3554 if (!p) in nfsd4_encode_readdir()
3558 *p++ = cpu_to_be32(0); in nfsd4_encode_readdir()
3559 *p++ = cpu_to_be32(0); in nfsd4_encode_readdir()
3560 resp->xdr.buf->head[0].iov_len = ((char *)resp->xdr.p) in nfsd4_encode_readdir()
3618 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_readdir()
3619 if (!p) { in nfsd4_encode_readdir()
3623 *p++ = 0; /* no more entries */ in nfsd4_encode_readdir()
3624 *p++ = htonl(readdir->common.err == nfserr_eof); in nfsd4_encode_readdir()
3636 __be32 *p; in nfsd4_encode_remove() local
3639 p = xdr_reserve_space(xdr, 20); in nfsd4_encode_remove()
3640 if (!p) in nfsd4_encode_remove()
3642 p = encode_cinfo(p, &remove->rm_cinfo); in nfsd4_encode_remove()
3651 __be32 *p; in nfsd4_encode_rename() local
3654 p = xdr_reserve_space(xdr, 40); in nfsd4_encode_rename()
3655 if (!p) in nfsd4_encode_rename()
3657 p = encode_cinfo(p, &rename->rn_sinfo); in nfsd4_encode_rename()
3658 p = encode_cinfo(p, &rename->rn_tinfo); in nfsd4_encode_rename()
3670 __be32 *p, *flavorsp; in nfsd4_do_encode_secinfo() local
3697 p = xdr_reserve_space(xdr, 4); in nfsd4_do_encode_secinfo()
3698 if (!p) in nfsd4_do_encode_secinfo()
3700 flavorsp = p++; /* to be backfilled later */ in nfsd4_do_encode_secinfo()
3708 p = xdr_reserve_space(xdr, 4 + 4 + in nfsd4_do_encode_secinfo()
3710 if (!p) in nfsd4_do_encode_secinfo()
3712 *p++ = cpu_to_be32(RPC_AUTH_GSS); in nfsd4_do_encode_secinfo()
3713 p = xdr_encode_opaque(p, info.oid.data, info.oid.len); in nfsd4_do_encode_secinfo()
3714 *p++ = cpu_to_be32(info.qop); in nfsd4_do_encode_secinfo()
3715 *p++ = cpu_to_be32(info.service); in nfsd4_do_encode_secinfo()
3718 p = xdr_reserve_space(xdr, 4); in nfsd4_do_encode_secinfo()
3719 if (!p) in nfsd4_do_encode_secinfo()
3721 *p++ = cpu_to_be32(pf); in nfsd4_do_encode_secinfo()
3765 __be32 *p; in nfsd4_encode_setattr() local
3767 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_setattr()
3768 if (!p) in nfsd4_encode_setattr()
3771 *p++ = cpu_to_be32(3); in nfsd4_encode_setattr()
3772 *p++ = cpu_to_be32(0); in nfsd4_encode_setattr()
3773 *p++ = cpu_to_be32(0); in nfsd4_encode_setattr()
3774 *p++ = cpu_to_be32(0); in nfsd4_encode_setattr()
3777 *p++ = cpu_to_be32(3); in nfsd4_encode_setattr()
3778 *p++ = cpu_to_be32(setattr->sa_bmval[0]); in nfsd4_encode_setattr()
3779 *p++ = cpu_to_be32(setattr->sa_bmval[1]); in nfsd4_encode_setattr()
3780 *p++ = cpu_to_be32(setattr->sa_bmval[2]); in nfsd4_encode_setattr()
3789 __be32 *p; in nfsd4_encode_setclientid() local
3792 p = xdr_reserve_space(xdr, 8 + NFS4_VERIFIER_SIZE); in nfsd4_encode_setclientid()
3793 if (!p) in nfsd4_encode_setclientid()
3795 p = xdr_encode_opaque_fixed(p, &scd->se_clientid, 8); in nfsd4_encode_setclientid()
3796 p = xdr_encode_opaque_fixed(p, &scd->se_confirm, in nfsd4_encode_setclientid()
3800 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_setclientid()
3801 if (!p) in nfsd4_encode_setclientid()
3803 *p++ = cpu_to_be32(0); in nfsd4_encode_setclientid()
3804 *p++ = cpu_to_be32(0); in nfsd4_encode_setclientid()
3813 __be32 *p; in nfsd4_encode_write() local
3816 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_write()
3817 if (!p) in nfsd4_encode_write()
3819 *p++ = cpu_to_be32(write->wr_bytes_written); in nfsd4_encode_write()
3820 *p++ = cpu_to_be32(write->wr_how_written); in nfsd4_encode_write()
3821 p = xdr_encode_opaque_fixed(p, write->wr_verifier.data, in nfsd4_encode_write()
3840 __be32 *p; in nfsd4_encode_exchange_id() local
3855 p = xdr_reserve_space(xdr, in nfsd4_encode_exchange_id()
3860 if (!p) in nfsd4_encode_exchange_id()
3863 p = xdr_encode_opaque_fixed(p, &exid->clientid, 8); in nfsd4_encode_exchange_id()
3864 *p++ = cpu_to_be32(exid->seqid); in nfsd4_encode_exchange_id()
3865 *p++ = cpu_to_be32(exid->flags); in nfsd4_encode_exchange_id()
3867 *p++ = cpu_to_be32(exid->spa_how); in nfsd4_encode_exchange_id()
3874 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_exchange_id()
3875 if (!p) in nfsd4_encode_exchange_id()
3879 *p++ = cpu_to_be32(2); in nfsd4_encode_exchange_id()
3880 *p++ = cpu_to_be32(nfs4_minimal_spo_must_enforce[0]); in nfsd4_encode_exchange_id()
3881 *p++ = cpu_to_be32(nfs4_minimal_spo_must_enforce[1]); in nfsd4_encode_exchange_id()
3883 *p++ = cpu_to_be32(0); in nfsd4_encode_exchange_id()
3890 p = xdr_reserve_space(xdr, in nfsd4_encode_exchange_id()
3897 if (!p) in nfsd4_encode_exchange_id()
3901 p = xdr_encode_hyper(p, minor_id); /* Minor id */ in nfsd4_encode_exchange_id()
3903 p = xdr_encode_opaque(p, major_id, major_id_sz); in nfsd4_encode_exchange_id()
3906 p = xdr_encode_opaque(p, server_scope, server_scope_sz); in nfsd4_encode_exchange_id()
3909 *p++ = cpu_to_be32(0); /* zero length nfs_impl_id4 array */ in nfsd4_encode_exchange_id()
3918 __be32 *p; in nfsd4_encode_create_session() local
3923 p = xdr_reserve_space(xdr, 24); in nfsd4_encode_create_session()
3924 if (!p) in nfsd4_encode_create_session()
3926 p = xdr_encode_opaque_fixed(p, sess->sessionid.data, in nfsd4_encode_create_session()
3928 *p++ = cpu_to_be32(sess->seqid); in nfsd4_encode_create_session()
3929 *p++ = cpu_to_be32(sess->flags); in nfsd4_encode_create_session()
3931 p = xdr_reserve_space(xdr, 28); in nfsd4_encode_create_session()
3932 if (!p) in nfsd4_encode_create_session()
3934 *p++ = cpu_to_be32(0); /* headerpadsz */ in nfsd4_encode_create_session()
3935 *p++ = cpu_to_be32(sess->fore_channel.maxreq_sz); in nfsd4_encode_create_session()
3936 *p++ = cpu_to_be32(sess->fore_channel.maxresp_sz); in nfsd4_encode_create_session()
3937 *p++ = cpu_to_be32(sess->fore_channel.maxresp_cached); in nfsd4_encode_create_session()
3938 *p++ = cpu_to_be32(sess->fore_channel.maxops); in nfsd4_encode_create_session()
3939 *p++ = cpu_to_be32(sess->fore_channel.maxreqs); in nfsd4_encode_create_session()
3940 *p++ = cpu_to_be32(sess->fore_channel.nr_rdma_attrs); in nfsd4_encode_create_session()
3943 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_create_session()
3944 if (!p) in nfsd4_encode_create_session()
3946 *p++ = cpu_to_be32(sess->fore_channel.rdma_attrs); in nfsd4_encode_create_session()
3949 p = xdr_reserve_space(xdr, 28); in nfsd4_encode_create_session()
3950 if (!p) in nfsd4_encode_create_session()
3952 *p++ = cpu_to_be32(0); /* headerpadsz */ in nfsd4_encode_create_session()
3953 *p++ = cpu_to_be32(sess->back_channel.maxreq_sz); in nfsd4_encode_create_session()
3954 *p++ = cpu_to_be32(sess->back_channel.maxresp_sz); in nfsd4_encode_create_session()
3955 *p++ = cpu_to_be32(sess->back_channel.maxresp_cached); in nfsd4_encode_create_session()
3956 *p++ = cpu_to_be32(sess->back_channel.maxops); in nfsd4_encode_create_session()
3957 *p++ = cpu_to_be32(sess->back_channel.maxreqs); in nfsd4_encode_create_session()
3958 *p++ = cpu_to_be32(sess->back_channel.nr_rdma_attrs); in nfsd4_encode_create_session()
3961 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_create_session()
3962 if (!p) in nfsd4_encode_create_session()
3964 *p++ = cpu_to_be32(sess->back_channel.rdma_attrs); in nfsd4_encode_create_session()
3974 __be32 *p; in nfsd4_encode_sequence() local
3979 p = xdr_reserve_space(xdr, NFS4_MAX_SESSIONID_LEN + 20); in nfsd4_encode_sequence()
3980 if (!p) in nfsd4_encode_sequence()
3982 p = xdr_encode_opaque_fixed(p, seq->sessionid.data, in nfsd4_encode_sequence()
3984 *p++ = cpu_to_be32(seq->seqid); in nfsd4_encode_sequence()
3985 *p++ = cpu_to_be32(seq->slotid); in nfsd4_encode_sequence()
3987 *p++ = cpu_to_be32(seq->maxslots - 1); /* sr_highest_slotid */ in nfsd4_encode_sequence()
3988 *p++ = cpu_to_be32(seq->maxslots - 1); /* sr_target_highest_slotid */ in nfsd4_encode_sequence()
3989 *p++ = cpu_to_be32(seq->status_flags); in nfsd4_encode_sequence()
4001 __be32 *p; in nfsd4_encode_test_stateid() local
4006 p = xdr_reserve_space(xdr, 4 + (4 * test_stateid->ts_num_ids)); in nfsd4_encode_test_stateid()
4007 if (!p) in nfsd4_encode_test_stateid()
4009 *p++ = htonl(test_stateid->ts_num_ids); in nfsd4_encode_test_stateid()
4012 *p++ = stateid->ts_id_status; in nfsd4_encode_test_stateid()
4027 __be32 *p; in nfsd4_encode_getdeviceinfo() local
4034 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_getdeviceinfo()
4035 if (!p) in nfsd4_encode_getdeviceinfo()
4038 *p++ = cpu_to_be32(gdev->gd_layout_type); in nfsd4_encode_getdeviceinfo()
4057 p = xdr_reserve_space(xdr, 4 + 4); in nfsd4_encode_getdeviceinfo()
4058 if (!p) in nfsd4_encode_getdeviceinfo()
4060 *p++ = cpu_to_be32(1); /* bitmap length */ in nfsd4_encode_getdeviceinfo()
4061 *p++ = cpu_to_be32(gdev->gd_notify_types); in nfsd4_encode_getdeviceinfo()
4063 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_getdeviceinfo()
4064 if (!p) in nfsd4_encode_getdeviceinfo()
4066 *p++ = 0; in nfsd4_encode_getdeviceinfo()
4079 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_getdeviceinfo()
4080 if (!p) { in nfsd4_encode_getdeviceinfo()
4083 *p++ = cpu_to_be32(needed_len); in nfsd4_encode_getdeviceinfo()
4096 __be32 *p; in nfsd4_encode_layoutget() local
4103 p = xdr_reserve_space(xdr, 36 + sizeof(stateid_opaque_t)); in nfsd4_encode_layoutget()
4104 if (!p) in nfsd4_encode_layoutget()
4107 *p++ = cpu_to_be32(1); /* we always set return-on-close */ in nfsd4_encode_layoutget()
4108 *p++ = cpu_to_be32(lgp->lg_sid.si_generation); in nfsd4_encode_layoutget()
4109 p = xdr_encode_opaque_fixed(p, &lgp->lg_sid.si_opaque, in nfsd4_encode_layoutget()
4112 *p++ = cpu_to_be32(1); /* we always return a single layout */ in nfsd4_encode_layoutget()
4113 p = xdr_encode_hyper(p, lgp->lg_seg.offset); in nfsd4_encode_layoutget()
4114 p = xdr_encode_hyper(p, lgp->lg_seg.length); in nfsd4_encode_layoutget()
4115 *p++ = cpu_to_be32(lgp->lg_seg.iomode); in nfsd4_encode_layoutget()
4116 *p++ = cpu_to_be32(lgp->lg_layout_type); in nfsd4_encode_layoutget()
4129 __be32 *p; in nfsd4_encode_layoutcommit() local
4134 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_layoutcommit()
4135 if (!p) in nfsd4_encode_layoutcommit()
4137 *p++ = cpu_to_be32(lcp->lc_size_chg); in nfsd4_encode_layoutcommit()
4139 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_layoutcommit()
4140 if (!p) in nfsd4_encode_layoutcommit()
4142 p = xdr_encode_hyper(p, lcp->lc_newsize); in nfsd4_encode_layoutcommit()
4153 __be32 *p; in nfsd4_encode_layoutreturn() local
4158 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_layoutreturn()
4159 if (!p) in nfsd4_encode_layoutreturn()
4161 *p++ = cpu_to_be32(lrp->lrs_present); in nfsd4_encode_layoutreturn()
4172 __be32 *p; in nfsd4_encode_seek() local
4177 p = xdr_reserve_space(&resp->xdr, 4 + 8); in nfsd4_encode_seek()
4178 *p++ = cpu_to_be32(seek->seek_eof); in nfsd4_encode_seek()
4179 p = xdr_encode_hyper(p, seek->seek_pos); in nfsd4_encode_seek()
4185 nfsd4_encode_noop(struct nfsd4_compoundres *resp, __be32 nfserr, void *p) in nfsd4_encode_noop() argument
4317 __be32 *p; in nfsd4_encode_operation() local
4319 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_operation()
4320 if (!p) { in nfsd4_encode_operation()
4324 *p++ = cpu_to_be32(op->opnum); in nfsd4_encode_operation()
4385 __be32 *p; in nfsd4_encode_replay() local
4390 p = xdr_reserve_space(xdr, 8 + rp->rp_buflen); in nfsd4_encode_replay()
4391 if (!p) { in nfsd4_encode_replay()
4395 *p++ = cpu_to_be32(op->opnum); in nfsd4_encode_replay()
4396 *p++ = rp->rp_status; /* already xdr'ed */ in nfsd4_encode_replay()
4398 p = xdr_encode_opaque_fixed(p, rp->rp_buf, rp->rp_buflen); in nfsd4_encode_replay()
4402 nfs4svc_encode_voidres(struct svc_rqst *rqstp, __be32 *p, void *dummy) in nfs4svc_encode_voidres() argument
4404 return xdr_ressize_check(rqstp, p); in nfs4svc_encode_voidres()
4407 int nfsd4_release_compoundargs(void *rq, __be32 *p, void *resp) in nfsd4_release_compoundargs() argument
4427 nfs4svc_decode_compoundargs(struct svc_rqst *rqstp, __be32 *p, struct nfsd4_compoundargs *args) in nfs4svc_decode_compoundargs() argument
4435 args->p = p; in nfs4svc_decode_compoundargs()
4448 nfs4svc_encode_compoundres(struct svc_rqst *rqstp, __be32 *p, struct nfsd4_compoundres *resp) in nfs4svc_encode_compoundres() argument
4460 p = resp->tagp; in nfs4svc_encode_compoundres()
4461 *p++ = htonl(resp->taglen); in nfs4svc_encode_compoundres()
4462 memcpy(p, resp->tag, resp->taglen); in nfs4svc_encode_compoundres()
4463 p += XDR_QUADLEN(resp->taglen); in nfs4svc_encode_compoundres()
4464 *p++ = htonl(resp->opcnt); in nfs4svc_encode_compoundres()