Lines Matching defs:xdr
270 static void encode_fallocate(struct xdr_stream *xdr,
273 encode_nfs4_stateid(xdr, &args->falloc_stateid);
274 encode_uint64(xdr, args->falloc_offset);
275 encode_uint64(xdr, args->falloc_length);
278 static void encode_allocate(struct xdr_stream *xdr,
282 encode_op_hdr(xdr, OP_ALLOCATE, decode_allocate_maxsz, hdr);
283 encode_fallocate(xdr, args);
286 static void encode_nl4_server(struct xdr_stream *xdr,
289 encode_uint32(xdr, ns->nl4_type);
293 encode_string(xdr, ns->u.nl4_str_sz, ns->u.nl4_str);
296 encode_string(xdr, ns->u.nl4_addr.netid_len,
298 encode_string(xdr, ns->u.nl4_addr.addr_len,
306 static void encode_copy(struct xdr_stream *xdr,
310 encode_op_hdr(xdr, OP_COPY, decode_copy_maxsz, hdr);
311 encode_nfs4_stateid(xdr, &args->src_stateid);
312 encode_nfs4_stateid(xdr, &args->dst_stateid);
314 encode_uint64(xdr, args->src_pos);
315 encode_uint64(xdr, args->dst_pos);
316 encode_uint64(xdr, args->count);
318 encode_uint32(xdr, 1); /* consecutive = true */
319 encode_uint32(xdr, args->sync);
321 encode_uint32(xdr, 0); /* no src server list */
324 encode_uint32(xdr, 1); /* supporting 1 server */
325 encode_nl4_server(xdr, args->cp_src);
328 static void encode_copy_commit(struct xdr_stream *xdr,
334 encode_op_hdr(xdr, OP_COMMIT, decode_commit_maxsz, hdr);
335 p = reserve_space(xdr, 12);
340 static void encode_offload_cancel(struct xdr_stream *xdr,
344 encode_op_hdr(xdr, OP_OFFLOAD_CANCEL, decode_offload_cancel_maxsz, hdr);
345 encode_nfs4_stateid(xdr, &args->osa_stateid);
348 static void encode_copy_notify(struct xdr_stream *xdr,
352 encode_op_hdr(xdr, OP_COPY_NOTIFY, decode_copy_notify_maxsz, hdr);
353 encode_nfs4_stateid(xdr, &args->cna_src_stateid);
354 encode_nl4_server(xdr, &args->cna_dst);
357 static void encode_deallocate(struct xdr_stream *xdr,
361 encode_op_hdr(xdr, OP_DEALLOCATE, decode_deallocate_maxsz, hdr);
362 encode_fallocate(xdr, args);
365 static void encode_read_plus(struct xdr_stream *xdr,
369 encode_op_hdr(xdr, OP_READ_PLUS, decode_read_plus_maxsz, hdr);
370 encode_nfs4_stateid(xdr, &args->stateid);
371 encode_uint64(xdr, args->offset);
372 encode_uint32(xdr, args->count);
375 static void encode_seek(struct xdr_stream *xdr,
379 encode_op_hdr(xdr, OP_SEEK, decode_seek_maxsz, hdr);
380 encode_nfs4_stateid(xdr, &args->sa_stateid);
381 encode_uint64(xdr, args->sa_offset);
382 encode_uint32(xdr, args->sa_what);
385 static void encode_layoutstats(struct xdr_stream *xdr,
392 encode_op_hdr(xdr, OP_LAYOUTSTATS, decode_layoutstats_maxsz, hdr);
393 p = reserve_space(xdr, 8 + 8);
396 encode_nfs4_stateid(xdr, &args->stateid);
397 p = reserve_space(xdr, 4*8 + NFS4_DEVICEID4_SIZE + 4);
407 devinfo->ld_private.ops->encode(xdr, args,
410 encode_uint32(xdr, 0);
413 static void encode_clone(struct xdr_stream *xdr,
419 encode_op_hdr(xdr, OP_CLONE, decode_clone_maxsz, hdr);
420 encode_nfs4_stateid(xdr, &args->src_stateid);
421 encode_nfs4_stateid(xdr, &args->dst_stateid);
422 p = reserve_space(xdr, 3*8);
428 static void encode_device_error(struct xdr_stream *xdr,
433 p = reserve_space(xdr, NFS4_DEVICEID4_SIZE + 2*4);
440 static void encode_layouterror(struct xdr_stream *xdr,
446 encode_op_hdr(xdr, OP_LAYOUTERROR, decode_layouterror_maxsz, hdr);
447 p = reserve_space(xdr, 8 + 8);
450 encode_nfs4_stateid(xdr, &args->stateid);
451 p = reserve_space(xdr, 4);
453 encode_device_error(xdr, &args->errors[0]);
456 static void encode_setxattr(struct xdr_stream *xdr,
465 encode_op_hdr(xdr, OP_SETXATTR, decode_setxattr_maxsz, hdr);
466 p = reserve_space(xdr, 4);
468 encode_string(xdr, strlen(arg->xattr_name), arg->xattr_name);
469 p = reserve_space(xdr, 4);
472 xdr_write_pages(xdr, arg->xattr_pages, 0, arg->xattr_len);
475 static void encode_getxattr(struct xdr_stream *xdr, const char *name,
478 encode_op_hdr(xdr, OP_GETXATTR, decode_getxattr_maxsz, hdr);
479 encode_string(xdr, strlen(name), name);
482 static void encode_removexattr(struct xdr_stream *xdr, const char *name,
485 encode_op_hdr(xdr, OP_REMOVEXATTR, decode_removexattr_maxsz, hdr);
486 encode_string(xdr, strlen(name), name);
489 static void encode_listxattrs(struct xdr_stream *xdr,
495 encode_op_hdr(xdr, OP_LISTXATTRS, decode_listxattrs_maxsz, hdr);
497 p = reserve_space(xdr, 12);
514 struct xdr_stream *xdr,
522 encode_compound_hdr(xdr, req, &hdr);
523 encode_sequence(xdr, &args->seq_args, &hdr);
524 encode_putfh(xdr, args->falloc_fh, &hdr);
525 encode_allocate(xdr, args, &hdr);
526 encode_getfattr(xdr, args->falloc_bitmask, &hdr);
534 struct xdr_stream *xdr,
542 encode_compound_hdr(xdr, req, &hdr);
543 encode_sequence(xdr, &args->seq_args, &hdr);
544 encode_putfh(xdr, args->src_fh, &hdr);
545 encode_savefh(xdr, &hdr);
546 encode_putfh(xdr, args->dst_fh, &hdr);
547 encode_copy(xdr, args, &hdr);
549 encode_copy_commit(xdr, args, &hdr);
557 struct xdr_stream *xdr,
565 encode_compound_hdr(xdr, req, &hdr);
566 encode_sequence(xdr, &args->osa_seq_args, &hdr);
567 encode_putfh(xdr, args->osa_src_fh, &hdr);
568 encode_offload_cancel(xdr, args, &hdr);
576 struct xdr_stream *xdr,
584 encode_compound_hdr(xdr, req, &hdr);
585 encode_sequence(xdr, &args->cna_seq_args, &hdr);
586 encode_putfh(xdr, args->cna_src_fh, &hdr);
587 encode_copy_notify(xdr, args, &hdr);
595 struct xdr_stream *xdr,
603 encode_compound_hdr(xdr, req, &hdr);
604 encode_sequence(xdr, &args->seq_args, &hdr);
605 encode_putfh(xdr, args->falloc_fh, &hdr);
606 encode_deallocate(xdr, args, &hdr);
607 encode_getfattr(xdr, args->falloc_bitmask, &hdr);
615 struct xdr_stream *xdr,
623 encode_compound_hdr(xdr, req, &hdr);
624 encode_sequence(xdr, &args->seq_args, &hdr);
625 encode_putfh(xdr, args->fh, &hdr);
626 encode_read_plus(xdr, args, &hdr);
637 struct xdr_stream *xdr,
645 encode_compound_hdr(xdr, req, &hdr);
646 encode_sequence(xdr, &args->seq_args, &hdr);
647 encode_putfh(xdr, args->sa_fh, &hdr);
648 encode_seek(xdr, args, &hdr);
656 struct xdr_stream *xdr,
666 encode_compound_hdr(xdr, req, &hdr);
667 encode_sequence(xdr, &args->seq_args, &hdr);
668 encode_putfh(xdr, args->fh, &hdr);
671 encode_layoutstats(xdr, args, &args->devinfo[i], &hdr);
679 struct xdr_stream *xdr,
687 encode_compound_hdr(xdr, req, &hdr);
688 encode_sequence(xdr, &args->seq_args, &hdr);
689 encode_putfh(xdr, args->src_fh, &hdr);
690 encode_savefh(xdr, &hdr);
691 encode_putfh(xdr, args->dst_fh, &hdr);
692 encode_clone(xdr, args, &hdr);
693 encode_getfattr(xdr, args->dst_bitmask, &hdr);
701 struct xdr_stream *xdr,
710 encode_compound_hdr(xdr, req, &hdr);
711 encode_sequence(xdr, &args->seq_args, &hdr);
712 encode_putfh(xdr, NFS_FH(args->inode), &hdr);
714 encode_layouterror(xdr, &args->errors[i], &hdr);
721 static void nfs4_xdr_enc_setxattr(struct rpc_rqst *req, struct xdr_stream *xdr,
729 encode_compound_hdr(xdr, req, &hdr);
730 encode_sequence(xdr, &args->seq_args, &hdr);
731 encode_putfh(xdr, args->fh, &hdr);
732 encode_setxattr(xdr, args, &hdr);
733 encode_getfattr(xdr, args->bitmask, &hdr);
740 static void nfs4_xdr_enc_getxattr(struct rpc_rqst *req, struct xdr_stream *xdr,
749 encode_compound_hdr(xdr, req, &hdr);
750 encode_sequence(xdr, &args->seq_args, &hdr);
751 encode_putfh(xdr, args->fh, &hdr);
753 encode_getxattr(xdr, args->xattr_name, &hdr);
765 struct xdr_stream *xdr, const void *data)
773 encode_compound_hdr(xdr, req, &hdr);
774 encode_sequence(xdr, &args->seq_args, &hdr);
775 encode_putfh(xdr, args->fh, &hdr);
777 encode_listxattrs(xdr, args, &hdr);
788 struct xdr_stream *xdr, const void *data)
795 encode_compound_hdr(xdr, req, &hdr);
796 encode_sequence(xdr, &args->seq_args, &hdr);
797 encode_putfh(xdr, args->fh, &hdr);
798 encode_removexattr(xdr, args->xattr_name, &hdr);
802 static int decode_allocate(struct xdr_stream *xdr, struct nfs42_falloc_res *res)
804 return decode_op_hdr(xdr, OP_ALLOCATE);
807 static int decode_write_response(struct xdr_stream *xdr,
813 p = xdr_inline_decode(xdr, 4);
820 status = decode_opaque_fixed(xdr, &res->stateid,
825 p = xdr_inline_decode(xdr, 8 + 4);
830 return decode_verifier(xdr, &res->verifier.verifier);
833 static int decode_nl4_server(struct xdr_stream *xdr, struct nl4_server *ns)
842 p = xdr_inline_decode(xdr, 4);
849 status = decode_opaque_inline(xdr, &dummy, &dummy_str);
861 status = decode_opaque_inline(xdr, &dummy, &dummy_str);
870 status = decode_opaque_inline(xdr, &dummy, &dummy_str);
885 static int decode_copy_requirements(struct xdr_stream *xdr,
889 p = xdr_inline_decode(xdr, 4 + 4);
898 static int decode_copy(struct xdr_stream *xdr, struct nfs42_copy_res *res)
902 status = decode_op_hdr(xdr, OP_COPY);
904 status = decode_copy_requirements(xdr, res);
911 status = decode_write_response(xdr, &res->write_res);
915 return decode_copy_requirements(xdr, res);
918 static int decode_offload_cancel(struct xdr_stream *xdr,
921 return decode_op_hdr(xdr, OP_OFFLOAD_CANCEL);
924 static int decode_copy_notify(struct xdr_stream *xdr,
930 status = decode_op_hdr(xdr, OP_COPY_NOTIFY);
934 p = xdr_inline_decode(xdr, 12);
940 status = decode_opaque_fixed(xdr, &res->cnr_stateid, NFS4_STATEID_SIZE);
945 p = xdr_inline_decode(xdr, 4);
954 status = decode_nl4_server(xdr, &res->cnr_src);
960 static int decode_deallocate(struct xdr_stream *xdr, struct nfs42_falloc_res *res)
962 return decode_op_hdr(xdr, OP_DEALLOCATE);
985 static int decode_read_plus_segment(struct xdr_stream *xdr,
990 p = xdr_inline_decode(xdr, 4);
995 p = xdr_inline_decode(xdr, seg->type == NFS4_CONTENT_DATA ? 12 : 16);
1005 seg->data.from = xdr_stream_pos(xdr);
1007 if (!xdr_stream_subsegment(xdr, &buf, xdr_align_size(len)))
1016 static int process_read_plus_segment(struct xdr_stream *xdr,
1038 bufpos = xdr->buf->head[0].iov_len + (offset - args->offset);
1040 return xdr_stream_zero(xdr, bufpos, length);
1042 return xdr_stream_move_subsegment(xdr, seg->data.from, bufpos, length);
1045 static int decode_read_plus(struct xdr_stream *xdr, struct nfs_pgio_res *res)
1055 status = decode_op_hdr(xdr, OP_READ_PLUS);
1059 p = xdr_inline_decode(xdr, 4 + 4);
1074 status = decode_read_plus_segment(xdr, &segs[i]);
1079 xdr_set_pagelen(xdr, xdr_align_size(args->count));
1081 res->count += process_read_plus_segment(xdr, args, res, &segs[i-1]);
1089 static int decode_seek(struct xdr_stream *xdr, struct nfs42_seek_res *res)
1094 status = decode_op_hdr(xdr, OP_SEEK);
1098 p = xdr_inline_decode(xdr, 4 + 8);
1107 static int decode_layoutstats(struct xdr_stream *xdr)
1109 return decode_op_hdr(xdr, OP_LAYOUTSTATS);
1112 static int decode_clone(struct xdr_stream *xdr)
1114 return decode_op_hdr(xdr, OP_CLONE);
1117 static int decode_layouterror(struct xdr_stream *xdr)
1119 return decode_op_hdr(xdr, OP_LAYOUTERROR);
1122 static int decode_setxattr(struct xdr_stream *xdr,
1127 status = decode_op_hdr(xdr, OP_SETXATTR);
1130 status = decode_change_info(xdr, cinfo);
1135 static int decode_getxattr(struct xdr_stream *xdr,
1143 status = decode_op_hdr(xdr, OP_GETXATTR);
1147 p = xdr_inline_decode(xdr, 4);
1164 rdlen = xdr_read_pages(xdr, len);
1172 static int decode_removexattr(struct xdr_stream *xdr,
1177 status = decode_op_hdr(xdr, OP_REMOVEXATTR);
1181 status = decode_change_info(xdr, cinfo);
1186 static int decode_listxattrs(struct xdr_stream *xdr,
1195 status = decode_op_hdr(xdr, OP_LISTXATTRS);
1214 p = xdr_inline_decode(xdr, 8);
1220 p = xdr_inline_decode(xdr, 4);
1239 p = xdr_inline_decode(xdr, 4);
1249 p = xdr_inline_decode(xdr, len);
1270 p = xdr_inline_decode(xdr, 4);
1288 struct xdr_stream *xdr,
1295 status = decode_compound_hdr(xdr, &hdr);
1298 status = decode_sequence(xdr, &res->seq_res, rqstp);
1301 status = decode_putfh(xdr);
1304 status = decode_allocate(xdr, res);
1307 decode_getfattr(xdr, res->falloc_fattr, res->falloc_server);
1316 struct xdr_stream *xdr,
1323 status = decode_compound_hdr(xdr, &hdr);
1326 status = decode_sequence(xdr, &res->seq_res, rqstp);
1329 status = decode_putfh(xdr);
1332 status = decode_savefh(xdr);
1335 status = decode_putfh(xdr);
1338 status = decode_copy(xdr, res);
1342 status = decode_commit(xdr, &res->commit_res);
1351 struct xdr_stream *xdr,
1358 status = decode_compound_hdr(xdr, &hdr);
1361 status = decode_sequence(xdr, &res->osr_seq_res, rqstp);
1364 status = decode_putfh(xdr);
1367 status = decode_offload_cancel(xdr, res);
1377 struct xdr_stream *xdr,
1384 status = decode_compound_hdr(xdr, &hdr);
1387 status = decode_sequence(xdr, &res->cnr_seq_res, rqstp);
1390 status = decode_putfh(xdr);
1393 status = decode_copy_notify(xdr, res);
1403 struct xdr_stream *xdr,
1410 status = decode_compound_hdr(xdr, &hdr);
1413 status = decode_sequence(xdr, &res->seq_res, rqstp);
1416 status = decode_putfh(xdr);
1419 status = decode_deallocate(xdr, res);
1422 decode_getfattr(xdr, res->falloc_fattr, res->falloc_server);
1431 struct xdr_stream *xdr,
1438 xdr_set_scratch_buffer(xdr, res->scratch, READ_PLUS_SCRATCH_SIZE);
1440 status = decode_compound_hdr(xdr, &hdr);
1443 status = decode_sequence(xdr, &res->seq_res, rqstp);
1446 status = decode_putfh(xdr);
1449 status = decode_read_plus(xdr, res);
1460 struct xdr_stream *xdr,
1467 status = decode_compound_hdr(xdr, &hdr);
1470 status = decode_sequence(xdr, &res->seq_res, rqstp);
1473 status = decode_putfh(xdr);
1476 status = decode_seek(xdr, res);
1485 struct xdr_stream *xdr,
1492 status = decode_compound_hdr(xdr, &hdr);
1495 status = decode_sequence(xdr, &res->seq_res, rqstp);
1498 status = decode_putfh(xdr);
1503 status = decode_layoutstats(xdr);
1516 struct xdr_stream *xdr,
1523 status = decode_compound_hdr(xdr, &hdr);
1526 status = decode_sequence(xdr, &res->seq_res, rqstp);
1529 status = decode_putfh(xdr);
1532 status = decode_savefh(xdr);
1535 status = decode_putfh(xdr);
1538 status = decode_clone(xdr);
1541 decode_getfattr(xdr, res->dst_fattr, res->server);
1551 struct xdr_stream *xdr,
1558 status = decode_compound_hdr(xdr, &hdr);
1561 status = decode_sequence(xdr, &res->seq_res, rqstp);
1564 status = decode_putfh(xdr);
1567 status = decode_layouterror(xdr);
1576 static int nfs4_xdr_dec_setxattr(struct rpc_rqst *req, struct xdr_stream *xdr,
1583 status = decode_compound_hdr(xdr, &hdr);
1586 status = decode_sequence(xdr, &res->seq_res, req);
1589 status = decode_putfh(xdr);
1592 status = decode_setxattr(xdr, &res->cinfo);
1595 status = decode_getfattr(xdr, res->fattr, res->server);
1604 struct xdr_stream *xdr, void *data)
1610 status = decode_compound_hdr(xdr, &hdr);
1613 status = decode_sequence(xdr, &res->seq_res, rqstp);
1616 status = decode_putfh(xdr);
1619 status = decode_getxattr(xdr, res, rqstp);
1628 struct xdr_stream *xdr, void *data)
1634 xdr_set_scratch_page(xdr, res->scratch);
1636 status = decode_compound_hdr(xdr, &hdr);
1639 status = decode_sequence(xdr, &res->seq_res, rqstp);
1642 status = decode_putfh(xdr);
1645 status = decode_listxattrs(xdr, res);
1654 struct xdr_stream *xdr, void *data)
1660 status = decode_compound_hdr(xdr, &hdr);
1663 status = decode_sequence(xdr, &res->seq_res, req);
1666 status = decode_putfh(xdr);
1670 status = decode_removexattr(xdr, &res->cinfo);