Lines Matching refs:xdr

161 	if (p != argp->xdr->scratch.iov_base)  in svcxdr_savemem()
184 if (xdr_stream_decode_u32(argp->xdr, &len) < 0) in nfsd4_decode_ignored_string()
188 if (!xdr_inline_decode(argp->xdr, len)) in nfsd4_decode_ignored_string()
200 if (xdr_stream_decode_u32(argp->xdr, &len) < 0) in nfsd4_decode_opaque()
204 p = xdr_inline_decode(argp->xdr, len); in nfsd4_decode_opaque()
220 if (xdr_stream_decode_u32(argp->xdr, lenp) < 0) in nfsd4_decode_component4()
222 p = xdr_inline_decode(argp->xdr, *lenp); in nfsd4_decode_component4()
240 p = xdr_inline_decode(argp->xdr, XDR_UNIT * 3); in nfsd4_decode_nfstime4()
255 p = xdr_inline_decode(argp->xdr, NFS4_VERIFIER_SIZE); in nfsd4_decode_verifier4()
284 status = xdr_stream_decode_uint32_array(argp->xdr, bmval, bmlen); in nfsd4_decode_bitmap4()
294 if (xdr_stream_decode_u32(argp->xdr, &ace->type) < 0) in nfsd4_decode_nfsace4()
296 if (xdr_stream_decode_u32(argp->xdr, &ace->flag) < 0) in nfsd4_decode_nfsace4()
298 if (xdr_stream_decode_u32(argp->xdr, &ace->access_mask) < 0) in nfsd4_decode_nfsace4()
301 if (xdr_stream_decode_u32(argp->xdr, &length) < 0) in nfsd4_decode_nfsace4()
303 p = xdr_inline_decode(argp->xdr, length); in nfsd4_decode_nfsace4()
327 if (xdr_stream_decode_u32(argp->xdr, &count) < 0) in nfsd4_decode_acl()
330 if (count > xdr_stream_remaining(argp->xdr) / 20) in nfsd4_decode_acl()
359 if (xdr_stream_decode_u32(argp->xdr, &lfs) < 0) in nfsd4_decode_security_label()
361 if (xdr_stream_decode_u32(argp->xdr, &pi) < 0) in nfsd4_decode_security_label()
364 if (xdr_stream_decode_u32(argp->xdr, &length) < 0) in nfsd4_decode_security_label()
368 p = xdr_inline_decode(argp->xdr, length); in nfsd4_decode_security_label()
401 if (xdr_stream_decode_u32(argp->xdr, &attrlist4_count) < 0) in nfsd4_decode_fattr4()
403 starting_pos = xdr_stream_pos(argp->xdr); in nfsd4_decode_fattr4()
408 if (xdr_stream_decode_u64(argp->xdr, &size) < 0) in nfsd4_decode_fattr4()
422 if (xdr_stream_decode_u32(argp->xdr, &mode) < 0) in nfsd4_decode_fattr4()
431 if (xdr_stream_decode_u32(argp->xdr, &length) < 0) in nfsd4_decode_fattr4()
433 p = xdr_inline_decode(argp->xdr, length); in nfsd4_decode_fattr4()
445 if (xdr_stream_decode_u32(argp->xdr, &length) < 0) in nfsd4_decode_fattr4()
447 p = xdr_inline_decode(argp->xdr, length); in nfsd4_decode_fattr4()
459 if (xdr_stream_decode_u32(argp->xdr, &set_it) < 0) in nfsd4_decode_fattr4()
487 if (xdr_stream_decode_u32(argp->xdr, &set_it) < 0) in nfsd4_decode_fattr4()
515 if (xdr_stream_decode_u32(argp->xdr, &mode) < 0) in nfsd4_decode_fattr4()
518 if (xdr_stream_decode_u32(argp->xdr, &mask) < 0) in nfsd4_decode_fattr4()
525 if (attrlist4_count != xdr_stream_pos(argp->xdr) - starting_pos) in nfsd4_decode_fattr4()
536 p = xdr_inline_decode(argp->xdr, NFS4_STATEID_SIZE); in nfsd4_decode_stateid4()
549 p = xdr_inline_decode(argp->xdr, sizeof(__be64)); in nfsd4_decode_clientid4()
575 p = xdr_inline_decode(argp->xdr, NFS4_DEVICEID4_SIZE); in nfsd4_decode_deviceid4()
586 if (xdr_stream_decode_u32(argp->xdr, &lcp->lc_layout_type) < 0) in nfsd4_decode_layoutupdate4()
593 if (xdr_stream_decode_u32(argp->xdr, &lcp->lc_up_len) < 0) in nfsd4_decode_layoutupdate4()
596 lcp->lc_up_layout = xdr_inline_decode(argp->xdr, lcp->lc_up_len); in nfsd4_decode_layoutupdate4()
610 if (xdr_stream_decode_u32(argp->xdr, &lrp->lr_return_type) < 0) in nfsd4_decode_layoutreturn4()
614 if (xdr_stream_decode_u64(argp->xdr, &lrp->lr_seg.offset) < 0) in nfsd4_decode_layoutreturn4()
616 if (xdr_stream_decode_u64(argp->xdr, &lrp->lr_seg.length) < 0) in nfsd4_decode_layoutreturn4()
621 if (xdr_stream_decode_u32(argp->xdr, &lrp->lrf_body_len) < 0) in nfsd4_decode_layoutreturn4()
624 lrp->lrf_body = xdr_inline_decode(argp->xdr, lrp->lrf_body_len); in nfsd4_decode_layoutreturn4()
649 p = xdr_inline_decode(argp->xdr, NFS4_MAX_SESSIONID_LEN); in nfsd4_decode_sessionid4()
664 if (xdr_stream_decode_u32(argp->xdr, &stamp) < 0) in nfsd4_decode_authsys_parms()
670 if (xdr_stream_decode_u32(argp->xdr, &uid) < 0) in nfsd4_decode_authsys_parms()
672 if (xdr_stream_decode_u32(argp->xdr, &gid) < 0) in nfsd4_decode_authsys_parms()
674 if (xdr_stream_decode_u32(argp->xdr, &gidcount) < 0) in nfsd4_decode_authsys_parms()
678 p = xdr_inline_decode(argp->xdr, gidcount << 2); in nfsd4_decode_authsys_parms()
707 if (xdr_stream_decode_u32(argp->xdr, &service) < 0) in nfsd4_decode_gss_cb_handles4()
731 if (xdr_stream_decode_u32(argp->xdr, &nr_secflavs) < 0) in nfsd4_decode_cb_sec()
740 if (xdr_stream_decode_u32(argp->xdr, &secflavor) < 0) in nfsd4_decode_cb_sec()
776 if (xdr_stream_decode_u32(argp->xdr, &access->ac_req_access) < 0) in nfsd4_decode_access()
785 if (xdr_stream_decode_u32(argp->xdr, &close->cl_seqid) < 0) in nfsd4_decode_close()
795 if (xdr_stream_decode_u64(argp->xdr, &commit->co_offset) < 0) in nfsd4_decode_commit()
797 if (xdr_stream_decode_u32(argp->xdr, &commit->co_count) < 0) in nfsd4_decode_commit()
810 if (xdr_stream_decode_u32(argp->xdr, &create->cr_type) < 0) in nfsd4_decode_create()
814 if (xdr_stream_decode_u32(argp->xdr, &create->cr_datalen) < 0) in nfsd4_decode_create()
816 p = xdr_inline_decode(argp->xdr, create->cr_datalen); in nfsd4_decode_create()
825 if (xdr_stream_decode_u32(argp->xdr, &create->cr_specdata1) < 0) in nfsd4_decode_create()
827 if (xdr_stream_decode_u32(argp->xdr, &create->cr_specdata2) < 0) in nfsd4_decode_create()
880 if (xdr_stream_decode_u32(argp->xdr, &lock->lk_new_open_seqid) < 0) in nfsd4_decode_open_to_lock_owner4()
885 if (xdr_stream_decode_u32(argp->xdr, &lock->lk_new_lock_seqid) < 0) in nfsd4_decode_open_to_lock_owner4()
900 if (xdr_stream_decode_u32(argp->xdr, &lock->lk_old_lock_seqid) < 0) in nfsd4_decode_exist_lock_owner4()
909 if (xdr_stream_decode_bool(argp->xdr, &lock->lk_is_new) < 0) in nfsd4_decode_locker4()
921 if (xdr_stream_decode_u32(argp->xdr, &lock->lk_type) < 0) in nfsd4_decode_lock()
925 if (xdr_stream_decode_bool(argp->xdr, &lock->lk_reclaim) < 0) in nfsd4_decode_lock()
927 if (xdr_stream_decode_u64(argp->xdr, &lock->lk_offset) < 0) in nfsd4_decode_lock()
929 if (xdr_stream_decode_u64(argp->xdr, &lock->lk_length) < 0) in nfsd4_decode_lock()
939 if (xdr_stream_decode_u32(argp->xdr, &lockt->lt_type) < 0) in nfsd4_decode_lockt()
943 if (xdr_stream_decode_u64(argp->xdr, &lockt->lt_offset) < 0) in nfsd4_decode_lockt()
945 if (xdr_stream_decode_u64(argp->xdr, &lockt->lt_length) < 0) in nfsd4_decode_lockt()
957 if (xdr_stream_decode_u32(argp->xdr, &locku->lu_type) < 0) in nfsd4_decode_locku()
961 if (xdr_stream_decode_u32(argp->xdr, &locku->lu_seqid) < 0) in nfsd4_decode_locku()
966 if (xdr_stream_decode_u64(argp->xdr, &locku->lu_offset) < 0) in nfsd4_decode_locku()
968 if (xdr_stream_decode_u64(argp->xdr, &locku->lu_length) < 0) in nfsd4_decode_locku()
986 if (xdr_stream_decode_u32(argp->xdr, &open->op_createmode) < 0) in nfsd4_decode_createhow4()
1028 if (xdr_stream_decode_u32(argp->xdr, &open->op_create) < 0) in nfsd4_decode_openflag4()
1049 if (xdr_stream_decode_u32(argp->xdr, &w) < 0) in nfsd4_decode_share_access()
1098 if (xdr_stream_decode_u32(argp->xdr, x) < 0) in nfsd4_decode_share_deny()
1113 if (xdr_stream_decode_u32(argp->xdr, &open->op_claim_type) < 0) in nfsd4_decode_open_claim4()
1124 if (xdr_stream_decode_u32(argp->xdr, &open->op_delegate_type) < 0) in nfsd4_decode_open_claim4()
1165 if (xdr_stream_decode_u32(argp->xdr, &open->op_seqid) < 0) in nfsd4_decode_open()
1198 if (xdr_stream_decode_u32(argp->xdr, &open_conf->oc_seqid) < 0) in nfsd4_decode_open_confirm()
1217 if (xdr_stream_decode_u32(argp->xdr, &open_down->od_seqid) < 0) in nfsd4_decode_open_downgrade()
1233 if (xdr_stream_decode_u32(argp->xdr, &putfh->pf_fhlen) < 0) in nfsd4_decode_putfh()
1237 p = xdr_inline_decode(argp->xdr, putfh->pf_fhlen); in nfsd4_decode_putfh()
1266 if (xdr_stream_decode_u64(argp->xdr, &read->rd_offset) < 0) in nfsd4_decode_read()
1268 if (xdr_stream_decode_u32(argp->xdr, &read->rd_length) < 0) in nfsd4_decode_read()
1281 if (xdr_stream_decode_u64(argp->xdr, &readdir->rd_cookie) < 0) in nfsd4_decode_readdir()
1286 if (xdr_stream_decode_u32(argp->xdr, &readdir->rd_dircount) < 0) in nfsd4_decode_readdir()
1288 if (xdr_stream_decode_u32(argp->xdr, &readdir->rd_maxcount) < 0) in nfsd4_decode_readdir()
1290 if (xdr_stream_decode_uint32_array(argp->xdr, readdir->rd_bmval, in nfsd4_decode_readdir()
1367 if (xdr_stream_decode_u32(argp->xdr, &setclientid->se_callback_prog) < 0) in nfsd4_decode_setclientid()
1369 if (xdr_stream_decode_u32(argp->xdr, &setclientid->se_callback_netid_len) < 0) in nfsd4_decode_setclientid()
1371 p = xdr_inline_decode(argp->xdr, setclientid->se_callback_netid_len); in nfsd4_decode_setclientid()
1379 if (xdr_stream_decode_u32(argp->xdr, &setclientid->se_callback_addr_len) < 0) in nfsd4_decode_setclientid()
1381 p = xdr_inline_decode(argp->xdr, setclientid->se_callback_addr_len); in nfsd4_decode_setclientid()
1388 if (xdr_stream_decode_u32(argp->xdr, &setclientid->se_callback_ident) < 0) in nfsd4_decode_setclientid()
1427 if (xdr_stream_decode_u32(argp->xdr, &verify->ve_attrlen) < 0) in nfsd4_decode_verify()
1429 p = xdr_inline_decode(argp->xdr, verify->ve_attrlen); in nfsd4_decode_verify()
1448 if (xdr_stream_decode_u64(argp->xdr, &write->wr_offset) < 0) in nfsd4_decode_write()
1450 if (xdr_stream_decode_u32(argp->xdr, &write->wr_stable_how) < 0) in nfsd4_decode_write()
1454 if (xdr_stream_decode_u32(argp->xdr, &write->wr_buflen) < 0) in nfsd4_decode_write()
1456 if (!xdr_stream_subsegment(argp->xdr, &write->wr_payload, write->wr_buflen)) in nfsd4_decode_write()
1491 if (xdr_stream_decode_u32(argp->xdr, &bc->bc_cb_program) < 0) in nfsd4_decode_backchannel_ctl()
1507 if (xdr_stream_decode_u32(argp->xdr, &bcts->dir) < 0) in nfsd4_decode_bind_conn_to_session()
1509 if (xdr_stream_decode_u32(argp->xdr, &use_conn_in_rdma_mode) < 0) in nfsd4_decode_bind_conn_to_session()
1550 if (xdr_stream_decode_u32(argp->xdr, &count) < 0) in nfsd4_decode_ssv_sp_parms()
1559 if (xdr_stream_decode_u32(argp->xdr, &count) < 0) in nfsd4_decode_ssv_sp_parms()
1567 if (xdr_stream_decode_u32(argp->xdr, &window) < 0) in nfsd4_decode_ssv_sp_parms()
1569 if (xdr_stream_decode_u32(argp->xdr, &num_gss_handles) < 0) in nfsd4_decode_ssv_sp_parms()
1581 if (xdr_stream_decode_u32(argp->xdr, &exid->spa_how) < 0) in nfsd4_decode_state_protect4_a()
1610 if (xdr_stream_decode_u32(argp->xdr, &count) < 0) in nfsd4_decode_nfs_impl_id4()
1653 if (xdr_stream_decode_u32(argp->xdr, &exid->flags) < 0) in nfsd4_decode_exchange_id()
1667 p = xdr_inline_decode(argp->xdr, XDR_UNIT * 7); in nfsd4_decode_channel_attrs4()
1683 if (xdr_stream_decode_u32(argp->xdr, &ca->rdma_attrs) < 0) in nfsd4_decode_channel_attrs4()
1704 if (xdr_stream_decode_u32(argp->xdr, &sess->seqid) < 0) in nfsd4_decode_create_session()
1706 if (xdr_stream_decode_u32(argp->xdr, &sess->flags) < 0) in nfsd4_decode_create_session()
1714 if (xdr_stream_decode_u32(argp->xdr, &sess->callback_prog) < 0) in nfsd4_decode_create_session()
1747 if (xdr_stream_decode_u32(argp->xdr, &gdev->gd_layout_type) < 0) in nfsd4_decode_getdeviceinfo()
1749 if (xdr_stream_decode_u32(argp->xdr, &gdev->gd_maxcount) < 0) in nfsd4_decode_getdeviceinfo()
1751 if (xdr_stream_decode_uint32_array(argp->xdr, in nfsd4_decode_getdeviceinfo()
1766 if (xdr_stream_decode_u64(argp->xdr, &lcp->lc_seg.offset) < 0) in nfsd4_decode_layoutcommit()
1768 if (xdr_stream_decode_u64(argp->xdr, &lcp->lc_seg.length) < 0) in nfsd4_decode_layoutcommit()
1770 if (xdr_stream_decode_bool(argp->xdr, &lcp->lc_reclaim) < 0) in nfsd4_decode_layoutcommit()
1775 if (xdr_stream_decode_u32(argp->xdr, &lcp->lc_newoffset) < 0) in nfsd4_decode_layoutcommit()
1778 if (xdr_stream_decode_u64(argp->xdr, &lcp->lc_last_wr) < 0) in nfsd4_decode_layoutcommit()
1782 p = xdr_inline_decode(argp->xdr, XDR_UNIT); in nfsd4_decode_layoutcommit()
1803 if (xdr_stream_decode_u32(argp->xdr, &lgp->lg_signal) < 0) in nfsd4_decode_layoutget()
1805 if (xdr_stream_decode_u32(argp->xdr, &lgp->lg_layout_type) < 0) in nfsd4_decode_layoutget()
1807 if (xdr_stream_decode_u32(argp->xdr, &lgp->lg_seg.iomode) < 0) in nfsd4_decode_layoutget()
1809 if (xdr_stream_decode_u64(argp->xdr, &lgp->lg_seg.offset) < 0) in nfsd4_decode_layoutget()
1811 if (xdr_stream_decode_u64(argp->xdr, &lgp->lg_seg.length) < 0) in nfsd4_decode_layoutget()
1813 if (xdr_stream_decode_u64(argp->xdr, &lgp->lg_minlength) < 0) in nfsd4_decode_layoutget()
1818 if (xdr_stream_decode_u32(argp->xdr, &lgp->lg_maxcount) < 0) in nfsd4_decode_layoutget()
1830 if (xdr_stream_decode_bool(argp->xdr, &lrp->lr_reclaim) < 0) in nfsd4_decode_layoutreturn()
1832 if (xdr_stream_decode_u32(argp->xdr, &lrp->lr_layout_type) < 0) in nfsd4_decode_layoutreturn()
1834 if (xdr_stream_decode_u32(argp->xdr, &lrp->lr_seg.iomode) < 0) in nfsd4_decode_layoutreturn()
1844 if (xdr_stream_decode_u32(argp->xdr, &sin->sin_style) < 0) in nfsd4_decode_secinfo_no_name()
1861 p = xdr_inline_decode(argp->xdr, XDR_UNIT * 4); in nfsd4_decode_sequence()
1883 if (xdr_stream_decode_u32(argp->xdr, &test_stateid->ts_num_ids) < 0) in nfsd4_decode_test_stateid()
1912 if (xdr_stream_decode_bool(argp->xdr, &rc->rca_one_fs) < 0) in nfsd4_decode_reclaim_complete()
1927 if (xdr_stream_decode_u64(argp->xdr, &fallocate->falloc_offset) < 0) in nfsd4_decode_fallocate()
1929 if (xdr_stream_decode_u64(argp->xdr, &fallocate->falloc_length) < 0) in nfsd4_decode_fallocate()
1941 if (xdr_stream_decode_u32(argp->xdr, &ns->nl4_type) < 0) in nfsd4_decode_nl4_server()
1949 if (xdr_stream_decode_u32(argp->xdr, &naddr->netid_len) < 0) in nfsd4_decode_nl4_server()
1954 p = xdr_inline_decode(argp->xdr, naddr->netid_len); in nfsd4_decode_nl4_server()
1959 if (xdr_stream_decode_u32(argp->xdr, &naddr->addr_len) < 0) in nfsd4_decode_nl4_server()
1964 p = xdr_inline_decode(argp->xdr, naddr->addr_len); in nfsd4_decode_nl4_server()
1991 if (xdr_stream_decode_u64(argp->xdr, &copy->cp_src_pos) < 0) in nfsd4_decode_copy()
1993 if (xdr_stream_decode_u64(argp->xdr, &copy->cp_dst_pos) < 0) in nfsd4_decode_copy()
1995 if (xdr_stream_decode_u64(argp->xdr, &copy->cp_count) < 0) in nfsd4_decode_copy()
1998 if (xdr_stream_decode_u32(argp->xdr, &consecutive) < 0) in nfsd4_decode_copy()
2000 if (xdr_stream_decode_bool(argp->xdr, &sync) < 0) in nfsd4_decode_copy()
2004 if (xdr_stream_decode_u32(argp->xdr, &count) < 0) in nfsd4_decode_copy()
2074 if (xdr_stream_decode_u64(argp->xdr, &seek->seek_offset) < 0) in nfsd4_decode_seek()
2076 if (xdr_stream_decode_u32(argp->xdr, &seek->seek_whence) < 0) in nfsd4_decode_seek()
2096 if (xdr_stream_decode_u64(argp->xdr, &clone->cl_src_pos) < 0) in nfsd4_decode_clone()
2098 if (xdr_stream_decode_u64(argp->xdr, &clone->cl_dst_pos) < 0) in nfsd4_decode_clone()
2100 if (xdr_stream_decode_u64(argp->xdr, &clone->cl_count) < 0) in nfsd4_decode_clone()
2119 nfsd4_vbuf_from_vector(struct nfsd4_compoundargs *argp, struct xdr_buf *xdr, in nfsd4_vbuf_from_vector() argument
2122 struct page **pages = xdr->pages; in nfsd4_vbuf_from_vector()
2123 struct kvec *head = xdr->head; in nfsd4_vbuf_from_vector()
2170 if (xdr_stream_decode_u32(argp->xdr, &namelen) < 0) in nfsd4_decode_xattr_name()
2176 p = xdr_inline_decode(argp->xdr, namelen); in nfsd4_decode_xattr_name()
2240 if (xdr_stream_decode_u32(argp->xdr, &flags) < 0) in nfsd4_decode_setxattr()
2254 if (xdr_stream_decode_u32(argp->xdr, &size) < 0) in nfsd4_decode_setxattr()
2263 if (!xdr_stream_subsegment(argp->xdr, &payload, size)) in nfsd4_decode_setxattr()
2281 if (xdr_stream_decode_u64(argp->xdr, &listxattrs->lsxa_cookie) < 0) in nfsd4_decode_listxattrs()
2292 if (xdr_stream_decode_u32(argp->xdr, &maxcount) < 0) in nfsd4_decode_listxattrs()
2442 if (xdr_stream_decode_u32(argp->xdr, &argp->taglen) < 0) in nfsd4_decode_compound()
2449 p = xdr_inline_decode(argp->xdr, argp->taglen); in nfsd4_decode_compound()
2458 if (xdr_stream_decode_u32(argp->xdr, &argp->minorversion) < 0) in nfsd4_decode_compound()
2460 if (xdr_stream_decode_u32(argp->xdr, &argp->client_opcnt) < 0) in nfsd4_decode_compound()
2481 if (xdr_stream_decode_u32(argp->xdr, &op->opnum) < 0) in nfsd4_decode_compound()
2544 static __be32 nfsd4_encode_nfstime4(struct xdr_stream *xdr, in nfsd4_encode_nfstime4() argument
2549 p = xdr_reserve_space(xdr, XDR_UNIT * 3); in nfsd4_encode_nfstime4()
2584 nfsd4_encode_change_info4(struct xdr_stream *xdr, struct nfsd4_change_info *c) in nfsd4_encode_change_info4() argument
2586 if (xdr_stream_encode_bool(xdr, c->atomic) < 0) in nfsd4_encode_change_info4()
2588 if (xdr_stream_encode_u64(xdr, c->before_change) < 0) in nfsd4_encode_change_info4()
2590 if (xdr_stream_encode_u64(xdr, c->after_change) < 0) in nfsd4_encode_change_info4()
2598 static __be32 nfsd4_encode_components_esc(struct xdr_stream *xdr, char sep, in nfsd4_encode_components_esc() argument
2610 pathlen_offset = xdr->buf->len; in nfsd4_encode_components_esc()
2611 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_components_esc()
2637 p = xdr_reserve_space(xdr, strlen + 4); in nfsd4_encode_components_esc()
2651 write_bytes_to_xdr_buf(xdr->buf, pathlen_offset, &pathlen, 4); in nfsd4_encode_components_esc()
2658 static __be32 nfsd4_encode_components(struct xdr_stream *xdr, char sep, in nfsd4_encode_components() argument
2661 return nfsd4_encode_components_esc(xdr, sep, components, 0, 0); in nfsd4_encode_components()
2667 static __be32 nfsd4_encode_fs_location4(struct xdr_stream *xdr, in nfsd4_encode_fs_location4() argument
2672 status = nfsd4_encode_components_esc(xdr, ':', location->hosts, in nfsd4_encode_fs_location4()
2676 status = nfsd4_encode_components(xdr, '/', location->path); in nfsd4_encode_fs_location4()
2685 static __be32 nfsd4_encode_path(struct xdr_stream *xdr, in nfsd4_encode_path() argument
2722 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_path()
2733 p = xdr_reserve_space(xdr, len + 4); in nfsd4_encode_path()
2755 static __be32 nfsd4_encode_fsloc_fsroot(struct xdr_stream *xdr, in nfsd4_encode_fsloc_fsroot() argument
2764 res = nfsd4_encode_path(xdr, &exp_ps->ex_path, path); in nfsd4_encode_fsloc_fsroot()
2772 static __be32 nfsd4_encode_fs_locations(struct xdr_stream *xdr, in nfsd4_encode_fs_locations() argument
2780 status = nfsd4_encode_fsloc_fsroot(xdr, rqstp, &exp->ex_path); in nfsd4_encode_fs_locations()
2783 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fs_locations()
2788 status = nfsd4_encode_fs_location4(xdr, &fslocs->locations[i]); in nfsd4_encode_fs_locations()
2810 nfsd4_encode_aclname(struct xdr_stream *xdr, struct svc_rqst *rqstp, in nfsd4_encode_aclname() argument
2814 return nfs4_acl_write_who(xdr, ace->whotype); in nfsd4_encode_aclname()
2816 return nfsd4_encode_group(xdr, rqstp, ace->who_gid); in nfsd4_encode_aclname()
2818 return nfsd4_encode_user(xdr, rqstp, ace->who_uid); in nfsd4_encode_aclname()
2822 nfsd4_encode_layout_types(struct xdr_stream *xdr, u32 layout_types) in nfsd4_encode_layout_types() argument
2827 p = xdr_reserve_space(xdr, 4 + 4 * i); in nfsd4_encode_layout_types()
2847 nfsd4_encode_security_label(struct xdr_stream *xdr, struct svc_rqst *rqstp, in nfsd4_encode_security_label() argument
2852 p = xdr_reserve_space(xdr, len + 4 + 4 + 4); in nfsd4_encode_security_label()
2867 nfsd4_encode_security_label(struct xdr_stream *xdr, struct svc_rqst *rqstp, in nfsd4_encode_security_label() argument
2909 nfsd4_encode_bitmap(struct xdr_stream *xdr, u32 bmval0, u32 bmval1, u32 bmval2) in nfsd4_encode_bitmap() argument
2914 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_bitmap()
2922 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_bitmap()
2929 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_bitmap()
2946 nfsd4_encode_fattr(struct xdr_stream *xdr, struct svc_fh *fhp, in nfsd4_encode_fattr() argument
2958 int starting_len = xdr->buf->len; in nfsd4_encode_fattr()
3049 status = nfsd4_encode_bitmap(xdr, bmval0, bmval1, bmval2); in nfsd4_encode_fattr()
3053 attrlen_offset = xdr->buf->len; in nfsd4_encode_fattr()
3054 attrlen_p = xdr_reserve_space(xdr, XDR_UNIT); in nfsd4_encode_fattr()
3068 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
3075 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_fattr()
3085 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3096 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3106 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
3112 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
3118 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3124 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3130 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3136 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_fattr()
3160 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3166 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3172 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3181 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3188 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3194 p = xdr_reserve_space(xdr, 4*3); in nfsd4_encode_fattr()
3201 status = nfsd4_encode_aclname(xdr, rqstp, ace); in nfsd4_encode_fattr()
3208 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3215 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3221 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3227 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3233 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3239 p = xdr_reserve_space(xdr, fhp->fh_handle.fh_size + 4); in nfsd4_encode_fattr()
3246 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
3252 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
3258 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
3264 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
3270 status = nfsd4_encode_fs_locations(xdr, rqstp, exp); in nfsd4_encode_fattr()
3275 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3281 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
3287 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3293 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3299 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
3305 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
3311 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3317 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3323 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3329 status = nfsd4_encode_user(xdr, rqstp, stat.uid); in nfsd4_encode_fattr()
3334 status = nfsd4_encode_group(xdr, rqstp, stat.gid); in nfsd4_encode_fattr()
3339 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
3346 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
3353 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
3360 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
3367 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
3374 status = nfsd4_encode_nfstime4(xdr, &stat.atime); in nfsd4_encode_fattr()
3379 status = nfsd4_encode_nfstime4(xdr, &stat.btime); in nfsd4_encode_fattr()
3384 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_fattr()
3390 status = nfsd4_encode_nfstime4(xdr, &stat.ctime); in nfsd4_encode_fattr()
3395 status = nfsd4_encode_nfstime4(xdr, &stat.mtime); in nfsd4_encode_fattr()
3402 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_fattr()
3420 status = nfsd4_encode_layout_types(xdr, exp->ex_layout_types); in nfsd4_encode_fattr()
3426 status = nfsd4_encode_layout_types(xdr, exp->ex_layout_types); in nfsd4_encode_fattr()
3432 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3446 status = nfsd4_encode_bitmap(xdr, supp[0], supp[1], supp[2]); in nfsd4_encode_fattr()
3453 status = nfsd4_encode_security_label(xdr, rqstp, context, in nfsd4_encode_fattr()
3461 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_fattr()
3468 *attrlen_p = cpu_to_be32(xdr->buf->len - attrlen_offset - XDR_UNIT); in nfsd4_encode_fattr()
3482 xdr_truncate_encode(xdr, starting_len); in nfsd4_encode_fattr()
3492 static void svcxdr_init_encode_from_buffer(struct xdr_stream *xdr, in svcxdr_init_encode_from_buffer() argument
3495 xdr->scratch.iov_len = 0; in svcxdr_init_encode_from_buffer()
3500 xdr->buf = buf; in svcxdr_init_encode_from_buffer()
3501 xdr->iov = buf->head; in svcxdr_init_encode_from_buffer()
3502 xdr->p = p; in svcxdr_init_encode_from_buffer()
3503 xdr->end = (void *)p + bytes; in svcxdr_init_encode_from_buffer()
3513 struct xdr_stream xdr; in nfsd4_encode_fattr_to_buf() local
3516 svcxdr_init_encode_from_buffer(&xdr, &dummy, *p, words << 2); in nfsd4_encode_fattr_to_buf()
3517 ret = nfsd4_encode_fattr(&xdr, fhp, exp, dentry, bmval, rqstp, in nfsd4_encode_fattr_to_buf()
3519 *p = xdr.p; in nfsd4_encode_fattr_to_buf()
3533 nfsd4_encode_dirent_fattr(struct xdr_stream *xdr, struct nfsd4_readdir *cd, in nfsd4_encode_dirent_fattr() argument
3577 nfserr = nfsd4_encode_fattr(xdr, NULL, exp, dentry, cd->rd_bmval, in nfsd4_encode_dirent_fattr()
3586 nfsd4_encode_rdattr_error(struct xdr_stream *xdr, __be32 nfserr) in nfsd4_encode_rdattr_error() argument
3590 p = xdr_reserve_space(xdr, 20); in nfsd4_encode_rdattr_error()
3608 struct xdr_stream *xdr = cd->xdr; in nfsd4_encode_dirent() local
3609 int start_offset = xdr->buf->len; in nfsd4_encode_dirent()
3625 write_bytes_to_xdr_buf(xdr->buf, cd->cookie_offset, in nfsd4_encode_dirent()
3629 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_dirent()
3633 cookie_offset = xdr->buf->len; in nfsd4_encode_dirent()
3634 p = xdr_reserve_space(xdr, 3*4 + namlen); in nfsd4_encode_dirent()
3640 nfserr = nfsd4_encode_dirent_fattr(xdr, cd, name, namlen); in nfsd4_encode_dirent()
3648 xdr_truncate_encode(xdr, start_offset); in nfsd4_encode_dirent()
3671 p = nfsd4_encode_rdattr_error(xdr, nfserr); in nfsd4_encode_dirent()
3678 entry_bytes = xdr->buf->len - start_offset; in nfsd4_encode_dirent()
3701 xdr_truncate_encode(xdr, start_offset); in nfsd4_encode_dirent()
3707 nfsd4_encode_verifier4(struct xdr_stream *xdr, const nfs4_verifier *verf) in nfsd4_encode_verifier4() argument
3711 p = xdr_reserve_space(xdr, NFS4_VERIFIER_SIZE); in nfsd4_encode_verifier4()
3719 nfsd4_encode_clientid4(struct xdr_stream *xdr, const clientid_t *clientid) in nfsd4_encode_clientid4() argument
3723 p = xdr_reserve_space(xdr, sizeof(__be64)); in nfsd4_encode_clientid4()
3731 nfsd4_encode_stateid(struct xdr_stream *xdr, stateid_t *sid) in nfsd4_encode_stateid() argument
3735 p = xdr_reserve_space(xdr, sizeof(stateid_t)); in nfsd4_encode_stateid()
3749 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_access() local
3752 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_access()
3764 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_bind_conn_to_session() local
3767 p = xdr_reserve_space(xdr, NFS4_MAX_SESSIONID_LEN + 8); in nfsd4_encode_bind_conn_to_session()
3783 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_close() local
3785 return nfsd4_encode_stateid(xdr, &close->cl_stateid); in nfsd4_encode_close()
3795 return nfsd4_encode_verifier4(resp->xdr, &commit->co_verf); in nfsd4_encode_commit()
3803 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_create() local
3805 nfserr = nfsd4_encode_change_info4(xdr, &create->cr_cinfo); in nfsd4_encode_create()
3808 return nfsd4_encode_bitmap(xdr, create->cr_bmval[0], in nfsd4_encode_create()
3818 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_getattr() local
3820 return nfsd4_encode_fattr(xdr, fhp, fhp->fh_export, fhp->fh_dentry, in nfsd4_encode_getattr()
3829 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_getfh() local
3835 p = xdr_reserve_space(xdr, len + 4); in nfsd4_encode_getfh()
3847 nfsd4_encode_lock_denied(struct xdr_stream *xdr, struct nfsd4_lock_denied *ld) in nfsd4_encode_lock_denied() argument
3853 p = xdr_reserve_space(xdr, 32 + XDR_LEN(conf->len)); in nfsd4_encode_lock_denied()
3886 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_lock() local
3889 nfserr = nfsd4_encode_stateid(xdr, &lock->lk_resp_stateid); in nfsd4_encode_lock()
3891 nfserr = nfsd4_encode_lock_denied(xdr, &lock->lk_denied); in nfsd4_encode_lock()
3901 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_lockt() local
3904 nfsd4_encode_lock_denied(xdr, &lockt->lt_denied); in nfsd4_encode_lockt()
3913 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_locku() local
3915 return nfsd4_encode_stateid(xdr, &locku->lu_stateid); in nfsd4_encode_locku()
3924 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_link() local
3926 return nfsd4_encode_change_info4(xdr, &link->li_cinfo); in nfsd4_encode_link()
3935 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_open() local
3938 nfserr = nfsd4_encode_stateid(xdr, &open->op_stateid); in nfsd4_encode_open()
3941 nfserr = nfsd4_encode_change_info4(xdr, &open->op_cinfo); in nfsd4_encode_open()
3944 if (xdr_stream_encode_u32(xdr, open->op_rflags) < 0) in nfsd4_encode_open()
3947 nfserr = nfsd4_encode_bitmap(xdr, open->op_bmval[0], open->op_bmval[1], in nfsd4_encode_open()
3952 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_open()
3961 nfserr = nfsd4_encode_stateid(xdr, &open->op_delegate_stateid); in nfsd4_encode_open()
3964 p = xdr_reserve_space(xdr, 20); in nfsd4_encode_open()
3978 nfserr = nfsd4_encode_stateid(xdr, &open->op_delegate_stateid); in nfsd4_encode_open()
3982 p = xdr_reserve_space(xdr, XDR_UNIT * 8); in nfsd4_encode_open()
4008 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_open()
4016 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_open()
4034 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_open_confirm() local
4036 return nfsd4_encode_stateid(xdr, &oc->oc_resp_stateid); in nfsd4_encode_open_confirm()
4044 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_open_downgrade() local
4046 return nfsd4_encode_stateid(xdr, &od->od_stateid); in nfsd4_encode_open_downgrade()
4059 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_splice_read() local
4060 struct xdr_buf *buf = xdr->buf; in nfsd4_encode_splice_read()
4069 if (xdr->iov != xdr->buf->head || xdr->end - xdr->p < 1) in nfsd4_encode_splice_read()
4078 svcxdr_encode_opaque_pages(read->rd_rqstp, xdr, buf->pages, in nfsd4_encode_splice_read()
4094 space_left = min_t(int, (void *)xdr->end - (void *)xdr->p, in nfsd4_encode_splice_read()
4097 xdr->end = (__be32 *)((void *)xdr->end + space_left); in nfsd4_encode_splice_read()
4115 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_readv() local
4116 unsigned int base = xdr->buf->page_len & ~PAGE_MASK; in nfsd4_encode_readv()
4117 unsigned int starting_len = xdr->buf->len; in nfsd4_encode_readv()
4121 if (xdr_reserve_space_vec(xdr, maxcount) < 0) in nfsd4_encode_readv()
4132 xdr_truncate_encode(xdr, starting_len + xdr_align_size(maxcount)); in nfsd4_encode_readv()
4134 write_bytes_to_xdr_buf(xdr->buf, starting_len + maxcount, &zero, in nfsd4_encode_readv()
4146 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_read() local
4148 int starting_len = xdr->buf->len; in nfsd4_encode_read()
4155 p = xdr_reserve_space(xdr, 8); /* eof flag and byte count */ in nfsd4_encode_read()
4160 if (resp->xdr->buf->page_len && splice_ok) { in nfsd4_encode_read()
4164 xdr_commit_encode(xdr); in nfsd4_encode_read()
4167 (xdr->buf->buflen - xdr->buf->len)); in nfsd4_encode_read()
4174 xdr_truncate_encode(xdr, starting_len); in nfsd4_encode_read()
4189 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_readlink() local
4190 int length_offset = xdr->buf->len; in nfsd4_encode_readlink()
4193 maxcount_p = xdr_reserve_space(xdr, XDR_UNIT); in nfsd4_encode_readlink()
4198 p = xdr_reserve_space(xdr, maxcount); in nfsd4_encode_readlink()
4220 xdr_truncate_encode(xdr, length_offset + 4 + xdr_align_size(maxcount)); in nfsd4_encode_readlink()
4221 write_bytes_to_xdr_buf(xdr->buf, length_offset + 4 + maxcount, &zero, in nfsd4_encode_readlink()
4226 xdr_truncate_encode(xdr, length_offset); in nfsd4_encode_readlink()
4239 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_readdir() local
4240 int starting_len = xdr->buf->len; in nfsd4_encode_readdir()
4243 nfserr = nfsd4_encode_verifier4(xdr, &readdir->rd_verf); in nfsd4_encode_readdir()
4251 bytes_left = xdr->buf->buflen - xdr->buf->len in nfsd4_encode_readdir()
4274 readdir->xdr = xdr; in nfsd4_encode_readdir()
4285 xdr->buf->len == starting_len + 8) { in nfsd4_encode_readdir()
4299 write_bytes_to_xdr_buf(xdr->buf, readdir->cookie_offset, in nfsd4_encode_readdir()
4303 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_readdir()
4313 xdr_truncate_encode(xdr, starting_len); in nfsd4_encode_readdir()
4322 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_remove() local
4324 return nfsd4_encode_change_info4(xdr, &remove->rm_cinfo); in nfsd4_encode_remove()
4332 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_rename() local
4334 nfserr = nfsd4_encode_change_info4(xdr, &rename->rn_sinfo); in nfsd4_encode_rename()
4337 return nfsd4_encode_change_info4(xdr, &rename->rn_tinfo); in nfsd4_encode_rename()
4341 nfsd4_do_encode_secinfo(struct xdr_stream *xdr, struct svc_export *exp) in nfsd4_do_encode_secinfo() argument
4370 p = xdr_reserve_space(xdr, 4); in nfsd4_do_encode_secinfo()
4381 p = xdr_reserve_space(xdr, 4 + 4 + in nfsd4_do_encode_secinfo()
4391 p = xdr_reserve_space(xdr, 4); in nfsd4_do_encode_secinfo()
4413 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_secinfo() local
4415 return nfsd4_do_encode_secinfo(xdr, secinfo->si_exp); in nfsd4_encode_secinfo()
4423 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_secinfo_no_name() local
4425 return nfsd4_do_encode_secinfo(xdr, secinfo->sin_exp); in nfsd4_encode_secinfo_no_name()
4437 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_setattr() local
4440 p = xdr_reserve_space(xdr, 16); in nfsd4_encode_setattr()
4463 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_setclientid() local
4466 nfserr = nfsd4_encode_clientid4(xdr, &scd->se_clientid); in nfsd4_encode_setclientid()
4469 nfserr = nfsd4_encode_verifier4(xdr, &scd->se_confirm); in nfsd4_encode_setclientid()
4472 if (xdr_stream_encode_u32(xdr, 0) < 0) { in nfsd4_encode_setclientid()
4477 if (xdr_stream_encode_u32(xdr, 0) < 0) { in nfsd4_encode_setclientid()
4492 if (xdr_stream_encode_u32(resp->xdr, write->wr_bytes_written) < 0) in nfsd4_encode_write()
4494 if (xdr_stream_encode_u32(resp->xdr, write->wr_how_written) < 0) in nfsd4_encode_write()
4496 return nfsd4_encode_verifier4(resp->xdr, &write->wr_verifier); in nfsd4_encode_write()
4504 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_exchange_id() local
4518 if (nfsd4_encode_clientid4(xdr, &exid->clientid) != nfs_ok) in nfsd4_encode_exchange_id()
4520 if (xdr_stream_encode_u32(xdr, exid->seqid) < 0) in nfsd4_encode_exchange_id()
4522 if (xdr_stream_encode_u32(xdr, exid->flags) < 0) in nfsd4_encode_exchange_id()
4525 if (xdr_stream_encode_u32(xdr, exid->spa_how) < 0) in nfsd4_encode_exchange_id()
4532 nfserr = nfsd4_encode_bitmap(xdr, in nfsd4_encode_exchange_id()
4539 nfserr = nfsd4_encode_bitmap(xdr, in nfsd4_encode_exchange_id()
4550 p = xdr_reserve_space(xdr, in nfsd4_encode_exchange_id()
4578 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_create_session() local
4581 p = xdr_reserve_space(xdr, 24); in nfsd4_encode_create_session()
4589 p = xdr_reserve_space(xdr, 28); in nfsd4_encode_create_session()
4601 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_create_session()
4607 p = xdr_reserve_space(xdr, 28); in nfsd4_encode_create_session()
4619 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_create_session()
4632 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_sequence() local
4635 p = xdr_reserve_space(xdr, NFS4_MAX_SESSIONID_LEN + 20); in nfsd4_encode_sequence()
4647 resp->cstate.data_offset = xdr->buf->len; /* DRC cache data pointer */ in nfsd4_encode_sequence()
4656 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_test_stateid() local
4660 p = xdr_reserve_space(xdr, 4 + (4 * test_stateid->ts_num_ids)); in nfsd4_encode_test_stateid()
4678 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_getdeviceinfo() local
4680 u32 starting_len = xdr->buf->len, needed_len; in nfsd4_encode_getdeviceinfo()
4683 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_getdeviceinfo()
4690 nfserr = ops->encode_getdeviceinfo(xdr, gdev); in nfsd4_encode_getdeviceinfo()
4697 if (xdr->buf->len + 4 > gdev->gd_maxcount) in nfsd4_encode_getdeviceinfo()
4703 p = xdr_reserve_space(xdr, 4 + 4); in nfsd4_encode_getdeviceinfo()
4709 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_getdeviceinfo()
4718 needed_len = xdr->buf->len + 4 /* notifications */; in nfsd4_encode_getdeviceinfo()
4719 xdr_truncate_encode(xdr, starting_len); in nfsd4_encode_getdeviceinfo()
4720 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_getdeviceinfo()
4732 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_layoutget() local
4736 p = xdr_reserve_space(xdr, 36 + sizeof(stateid_opaque_t)); in nfsd4_encode_layoutget()
4752 return ops->encode_layoutget(xdr, lgp); in nfsd4_encode_layoutget()
4760 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_layoutcommit() local
4763 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_layoutcommit()
4768 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_layoutcommit()
4782 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_layoutreturn() local
4785 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_layoutreturn()
4790 return nfsd4_encode_stateid(xdr, &lrp->lr_sid); in nfsd4_encode_layoutreturn()
4800 p = xdr_reserve_space(resp->xdr, 4); in nfsd42_encode_write_res()
4809 nfserr = nfsd4_encode_stateid(resp->xdr, &write->cb_stateid); in nfsd42_encode_write_res()
4813 p = xdr_reserve_space(resp->xdr, 8 + 4 + NFS4_VERIFIER_SIZE); in nfsd42_encode_write_res()
4827 struct xdr_stream *xdr = resp->xdr; in nfsd42_encode_nl4_server() local
4831 p = xdr_reserve_space(xdr, 4); in nfsd42_encode_nl4_server()
4841 p = xdr_reserve_space(xdr, in nfsd42_encode_nl4_server()
4876 p = xdr_reserve_space(resp->xdr, 4 + 4); in nfsd4_encode_copy()
4887 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_offload_status() local
4890 p = xdr_reserve_space(xdr, 8 + 4); in nfsd4_encode_offload_status()
4904 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_read_plus_data() local
4909 p = xdr_reserve_space(xdr, 4 + 8 + 4); in nfsd4_encode_read_plus_data()
4912 if (resp->xdr->buf->page_len && splice_ok) { in nfsd4_encode_read_plus_data()
4918 (xdr->buf->buflen - xdr->buf->len)); in nfsd4_encode_read_plus_data()
4940 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_read_plus() local
4941 int starting_len = xdr->buf->len; in nfsd4_encode_read_plus()
4949 p = xdr_reserve_space(xdr, 4 + 4); in nfsd4_encode_read_plus()
4952 xdr_commit_encode(xdr); in nfsd4_encode_read_plus()
4960 xdr_truncate_encode(xdr, starting_len); in nfsd4_encode_read_plus()
4977 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_copy_notify() local
4984 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_copy_notify()
4993 nfserr = nfsd4_encode_stateid(xdr, &cn->cpn_cnr_stateid); in nfsd4_encode_copy_notify()
4998 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_copy_notify()
5015 p = xdr_reserve_space(resp->xdr, 4 + 8); in nfsd4_encode_seek()
5033 nfsd4_vbuf_to_stream(struct xdr_stream *xdr, char *buf, u32 buflen) in nfsd4_vbuf_to_stream() argument
5039 ((void *)xdr->end - (void *)xdr->p)); in nfsd4_vbuf_to_stream()
5040 p = xdr_reserve_space(xdr, cplen); in nfsd4_vbuf_to_stream()
5050 p = xdr_reserve_space(xdr, cplen); in nfsd4_vbuf_to_stream()
5078 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_getxattr() local
5081 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_getxattr()
5090 err = nfsd4_vbuf_to_stream(xdr, getxattr->getxa_buf, in nfsd4_encode_getxattr()
5103 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_setxattr() local
5105 return nfsd4_encode_change_info4(xdr, &setxattr->setxa_cinfo); in nfsd4_encode_setxattr()
5138 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_listxattrs() local
5158 cookie_offset = xdr->buf->len; in nfsd4_encode_listxattrs()
5160 p = xdr_reserve_space(xdr, 12); in nfsd4_encode_listxattrs()
5202 p = xdr_reserve_space(xdr, xdrlen); in nfsd4_encode_listxattrs()
5227 p = xdr_reserve_space(xdr, 4); in nfsd4_encode_listxattrs()
5236 write_bytes_to_xdr_buf(xdr->buf, cookie_offset, &cookie, 8); in nfsd4_encode_listxattrs()
5238 write_bytes_to_xdr_buf(xdr->buf, count_offset, &tmp, 4); in nfsd4_encode_listxattrs()
5250 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_removexattr() local
5252 return nfsd4_encode_change_info4(xdr, &removexattr->rmxa_cinfo); in nfsd4_encode_removexattr()
5384 struct xdr_stream *xdr = resp->xdr; in nfsd4_encode_operation() local
5392 p = xdr_reserve_space(xdr, 8); in nfsd4_encode_operation()
5396 post_err_offset = xdr->buf->len; in nfsd4_encode_operation()
5409 xdr_commit_encode(xdr); in nfsd4_encode_operation()
5437 xdr_truncate_encode(xdr, post_err_offset); in nfsd4_encode_operation()
5440 int len = xdr->buf->len - post_err_offset; in nfsd4_encode_operation()
5444 read_bytes_from_xdr_buf(xdr->buf, post_err_offset, in nfsd4_encode_operation()
5457 rqstp->rq_next_page = xdr->page_ptr + 1; in nfsd4_encode_operation()
5467 nfsd4_encode_replay(struct xdr_stream *xdr, struct nfsd4_op *op) in nfsd4_encode_replay() argument
5472 p = xdr_reserve_space(xdr, 8 + rp->rp_buflen); in nfsd4_encode_replay()
5499 nfs4svc_decode_compoundargs(struct svc_rqst *rqstp, struct xdr_stream *xdr) in nfs4svc_decode_compoundargs() argument
5506 args->xdr = xdr; in nfs4svc_decode_compoundargs()
5514 nfs4svc_encode_compoundres(struct svc_rqst *rqstp, struct xdr_stream *xdr) in nfs4svc_encode_compoundres() argument