Lines Matching refs:xdr

907 static __be32 *reserve_space(struct xdr_stream *xdr, size_t nbytes)  in reserve_space()  argument
909 __be32 *p = xdr_reserve_space(xdr, nbytes); in reserve_space()
914 static void encode_opaque_fixed(struct xdr_stream *xdr, const void *buf, size_t len) in encode_opaque_fixed() argument
918 p = xdr_reserve_space(xdr, len); in encode_opaque_fixed()
922 static void encode_string(struct xdr_stream *xdr, unsigned int len, const char *str) in encode_string() argument
926 p = reserve_space(xdr, 4 + len); in encode_string()
930 static void encode_uint32(struct xdr_stream *xdr, u32 n) in encode_uint32() argument
934 p = reserve_space(xdr, 4); in encode_uint32()
938 static void encode_uint64(struct xdr_stream *xdr, u64 n) in encode_uint64() argument
942 p = reserve_space(xdr, 8); in encode_uint64()
946 static void encode_nfs4_seqid(struct xdr_stream *xdr, in encode_nfs4_seqid() argument
950 encode_uint32(xdr, seqid->sequence->counter); in encode_nfs4_seqid()
952 encode_uint32(xdr, 0); in encode_nfs4_seqid()
955 static void encode_compound_hdr(struct xdr_stream *xdr, in encode_compound_hdr() argument
968 encode_string(xdr, hdr->taglen, hdr->tag); in encode_compound_hdr()
969 p = reserve_space(xdr, 8); in encode_compound_hdr()
975 static void encode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 op, in encode_op_hdr() argument
979 encode_uint32(xdr, op); in encode_op_hdr()
990 static void encode_nfs4_stateid(struct xdr_stream *xdr, const nfs4_stateid *stateid) in encode_nfs4_stateid() argument
992 encode_opaque_fixed(xdr, stateid, NFS4_STATEID_SIZE); in encode_nfs4_stateid()
995 static void encode_nfs4_verifier(struct xdr_stream *xdr, const nfs4_verifier *verf) in encode_nfs4_verifier() argument
997 encode_opaque_fixed(xdr, verf->data, NFS4_VERIFIER_SIZE); in encode_nfs4_verifier()
1000 static void encode_attrs(struct xdr_stream *xdr, const struct iattr *iap, in encode_attrs() argument
1080 p = reserve_space(xdr, 4 + (bmval_len << 2) + 4 + len); in encode_attrs()
1121 static void encode_access(struct xdr_stream *xdr, u32 access, struct compound_hdr *hdr) in encode_access() argument
1123 encode_op_hdr(xdr, OP_ACCESS, decode_access_maxsz, hdr); in encode_access()
1124 encode_uint32(xdr, access); in encode_access()
1127 static void encode_close(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct compound_h… in encode_close() argument
1129 encode_op_hdr(xdr, OP_CLOSE, decode_close_maxsz, hdr); in encode_close()
1130 encode_nfs4_seqid(xdr, arg->seqid); in encode_close()
1131 encode_nfs4_stateid(xdr, &arg->stateid); in encode_close()
1134 static void encode_commit(struct xdr_stream *xdr, const struct nfs_commitargs *args, struct compoun… in encode_commit() argument
1138 encode_op_hdr(xdr, OP_COMMIT, decode_commit_maxsz, hdr); in encode_commit()
1139 p = reserve_space(xdr, 12); in encode_commit()
1144 static void encode_create(struct xdr_stream *xdr, const struct nfs4_create_arg *create, struct comp… in encode_create() argument
1148 encode_op_hdr(xdr, OP_CREATE, decode_create_maxsz, hdr); in encode_create()
1149 encode_uint32(xdr, create->ftype); in encode_create()
1153 p = reserve_space(xdr, 4); in encode_create()
1155 xdr_write_pages(xdr, create->u.symlink.pages, 0, create->u.symlink.len); in encode_create()
1159 p = reserve_space(xdr, 8); in encode_create()
1168 encode_string(xdr, create->name->len, create->name->name); in encode_create()
1169 encode_attrs(xdr, create->attrs, create->label, create->server); in encode_create()
1172 static void encode_getattr_one(struct xdr_stream *xdr, uint32_t bitmap, struct compound_hdr *hdr) in encode_getattr_one() argument
1176 encode_op_hdr(xdr, OP_GETATTR, decode_getattr_maxsz, hdr); in encode_getattr_one()
1177 p = reserve_space(xdr, 8); in encode_getattr_one()
1182 static void encode_getattr_two(struct xdr_stream *xdr, uint32_t bm0, uint32_t bm1, struct compound_… in encode_getattr_two() argument
1186 encode_op_hdr(xdr, OP_GETATTR, decode_getattr_maxsz, hdr); in encode_getattr_two()
1187 p = reserve_space(xdr, 12); in encode_getattr_two()
1194 encode_getattr_three(struct xdr_stream *xdr, in encode_getattr_three() argument
1200 encode_op_hdr(xdr, OP_GETATTR, decode_getattr_maxsz, hdr); in encode_getattr_three()
1202 p = reserve_space(xdr, 16); in encode_getattr_three()
1208 p = reserve_space(xdr, 12); in encode_getattr_three()
1213 p = reserve_space(xdr, 8); in encode_getattr_three()
1219 static void encode_getfattr(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) in encode_getfattr() argument
1221 encode_getattr_three(xdr, bitmask[0] & nfs4_fattr_bitmap[0], in encode_getfattr()
1227 static void encode_getfattr_open(struct xdr_stream *xdr, const u32 *bitmask, in encode_getfattr_open() argument
1231 encode_getattr_three(xdr, in encode_getfattr_open()
1238 static void encode_fsinfo(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) in encode_fsinfo() argument
1240 encode_getattr_three(xdr, in encode_fsinfo()
1247 static void encode_fs_locations(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hd… in encode_fs_locations() argument
1249 encode_getattr_two(xdr, bitmask[0] & nfs4_fs_locations_bitmap[0], in encode_fs_locations()
1253 static void encode_getfh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_getfh() argument
1255 encode_op_hdr(xdr, OP_GETFH, decode_getfh_maxsz, hdr); in encode_getfh()
1258 static void encode_link(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) in encode_link() argument
1260 encode_op_hdr(xdr, OP_LINK, decode_link_maxsz, hdr); in encode_link()
1261 encode_string(xdr, name->len, name->name); in encode_link()
1278 static void encode_lockowner(struct xdr_stream *xdr, const struct nfs_lowner *lowner) in encode_lockowner() argument
1282 p = reserve_space(xdr, 32); in encode_lockowner()
1294 static void encode_lock(struct xdr_stream *xdr, const struct nfs_lock_args *args, struct compound_h… in encode_lock() argument
1298 encode_op_hdr(xdr, OP_LOCK, decode_lock_maxsz, hdr); in encode_lock()
1299 p = reserve_space(xdr, 28); in encode_lock()
1306 encode_nfs4_seqid(xdr, args->open_seqid); in encode_lock()
1307 encode_nfs4_stateid(xdr, &args->open_stateid); in encode_lock()
1308 encode_nfs4_seqid(xdr, args->lock_seqid); in encode_lock()
1309 encode_lockowner(xdr, &args->lock_owner); in encode_lock()
1312 encode_nfs4_stateid(xdr, &args->lock_stateid); in encode_lock()
1313 encode_nfs4_seqid(xdr, args->lock_seqid); in encode_lock()
1317 static void encode_lockt(struct xdr_stream *xdr, const struct nfs_lockt_args *args, struct compound… in encode_lockt() argument
1321 encode_op_hdr(xdr, OP_LOCKT, decode_lockt_maxsz, hdr); in encode_lockt()
1322 p = reserve_space(xdr, 20); in encode_lockt()
1326 encode_lockowner(xdr, &args->lock_owner); in encode_lockt()
1329 static void encode_locku(struct xdr_stream *xdr, const struct nfs_locku_args *args, struct compound… in encode_locku() argument
1333 encode_op_hdr(xdr, OP_LOCKU, decode_locku_maxsz, hdr); in encode_locku()
1334 encode_uint32(xdr, nfs4_lock_type(args->fl, 0)); in encode_locku()
1335 encode_nfs4_seqid(xdr, args->seqid); in encode_locku()
1336 encode_nfs4_stateid(xdr, &args->stateid); in encode_locku()
1337 p = reserve_space(xdr, 16); in encode_locku()
1342 static void encode_release_lockowner(struct xdr_stream *xdr, const struct nfs_lowner *lowner, struc… in encode_release_lockowner() argument
1344 encode_op_hdr(xdr, OP_RELEASE_LOCKOWNER, decode_release_lockowner_maxsz, hdr); in encode_release_lockowner()
1345 encode_lockowner(xdr, lowner); in encode_release_lockowner()
1348 static void encode_lookup(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) in encode_lookup() argument
1350 encode_op_hdr(xdr, OP_LOOKUP, decode_lookup_maxsz, hdr); in encode_lookup()
1351 encode_string(xdr, name->len, name->name); in encode_lookup()
1354 static void encode_share_access(struct xdr_stream *xdr, u32 share_access) in encode_share_access() argument
1358 p = reserve_space(xdr, 8); in encode_share_access()
1363 static inline void encode_openhdr(struct xdr_stream *xdr, const struct nfs_openargs *arg) in encode_openhdr() argument
1370 encode_nfs4_seqid(xdr, arg->seqid); in encode_openhdr()
1371 encode_share_access(xdr, arg->share_access); in encode_openhdr()
1372 p = reserve_space(xdr, 36); in encode_openhdr()
1381 static inline void encode_createmode(struct xdr_stream *xdr, const struct nfs_openargs *arg) in encode_createmode() argument
1386 p = reserve_space(xdr, 4); in encode_createmode()
1390 encode_attrs(xdr, arg->u.attrs, arg->label, arg->server); in encode_createmode()
1394 encode_attrs(xdr, arg->u.attrs, arg->label, arg->server); in encode_createmode()
1398 encode_nfs4_verifier(xdr, &arg->u.verifier); in encode_createmode()
1402 encode_nfs4_verifier(xdr, &arg->u.verifier); in encode_createmode()
1404 encode_attrs(xdr, &dummy, arg->label, arg->server); in encode_createmode()
1408 static void encode_opentype(struct xdr_stream *xdr, const struct nfs_openargs *arg) in encode_opentype() argument
1412 p = reserve_space(xdr, 4); in encode_opentype()
1419 encode_createmode(xdr, arg); in encode_opentype()
1423 static inline void encode_delegation_type(struct xdr_stream *xdr, fmode_t delegation_type) in encode_delegation_type() argument
1427 p = reserve_space(xdr, 4); in encode_delegation_type()
1443 static inline void encode_claim_null(struct xdr_stream *xdr, const struct qstr *name) in encode_claim_null() argument
1447 p = reserve_space(xdr, 4); in encode_claim_null()
1449 encode_string(xdr, name->len, name->name); in encode_claim_null()
1452 static inline void encode_claim_previous(struct xdr_stream *xdr, fmode_t type) in encode_claim_previous() argument
1456 p = reserve_space(xdr, 4); in encode_claim_previous()
1458 encode_delegation_type(xdr, type); in encode_claim_previous()
1461 static inline void encode_claim_delegate_cur(struct xdr_stream *xdr, const struct qstr *name, const… in encode_claim_delegate_cur() argument
1465 p = reserve_space(xdr, 4); in encode_claim_delegate_cur()
1467 encode_nfs4_stateid(xdr, stateid); in encode_claim_delegate_cur()
1468 encode_string(xdr, name->len, name->name); in encode_claim_delegate_cur()
1471 static inline void encode_claim_fh(struct xdr_stream *xdr) in encode_claim_fh() argument
1475 p = reserve_space(xdr, 4); in encode_claim_fh()
1479 static inline void encode_claim_delegate_cur_fh(struct xdr_stream *xdr, const nfs4_stateid *stateid) in encode_claim_delegate_cur_fh() argument
1483 p = reserve_space(xdr, 4); in encode_claim_delegate_cur_fh()
1485 encode_nfs4_stateid(xdr, stateid); in encode_claim_delegate_cur_fh()
1488 static void encode_open(struct xdr_stream *xdr, const struct nfs_openargs *arg, struct compound_hdr… in encode_open() argument
1490 encode_op_hdr(xdr, OP_OPEN, decode_open_maxsz, hdr); in encode_open()
1491 encode_openhdr(xdr, arg); in encode_open()
1492 encode_opentype(xdr, arg); in encode_open()
1495 encode_claim_null(xdr, arg->name); in encode_open()
1498 encode_claim_previous(xdr, arg->u.delegation_type); in encode_open()
1501 encode_claim_delegate_cur(xdr, arg->name, &arg->u.delegation); in encode_open()
1504 encode_claim_fh(xdr); in encode_open()
1507 encode_claim_delegate_cur_fh(xdr, &arg->u.delegation); in encode_open()
1514 static void encode_open_confirm(struct xdr_stream *xdr, const struct nfs_open_confirmargs *arg, str… in encode_open_confirm() argument
1516 encode_op_hdr(xdr, OP_OPEN_CONFIRM, decode_open_confirm_maxsz, hdr); in encode_open_confirm()
1517 encode_nfs4_stateid(xdr, arg->stateid); in encode_open_confirm()
1518 encode_nfs4_seqid(xdr, arg->seqid); in encode_open_confirm()
1521 static void encode_open_downgrade(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct c… in encode_open_downgrade() argument
1523 encode_op_hdr(xdr, OP_OPEN_DOWNGRADE, decode_open_downgrade_maxsz, hdr); in encode_open_downgrade()
1524 encode_nfs4_stateid(xdr, &arg->stateid); in encode_open_downgrade()
1525 encode_nfs4_seqid(xdr, arg->seqid); in encode_open_downgrade()
1526 encode_share_access(xdr, arg->share_access); in encode_open_downgrade()
1530 encode_putfh(struct xdr_stream *xdr, const struct nfs_fh *fh, struct compound_hdr *hdr) in encode_putfh() argument
1532 encode_op_hdr(xdr, OP_PUTFH, decode_putfh_maxsz, hdr); in encode_putfh()
1533 encode_string(xdr, fh->size, fh->data); in encode_putfh()
1536 static void encode_putrootfh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_putrootfh() argument
1538 encode_op_hdr(xdr, OP_PUTROOTFH, decode_putrootfh_maxsz, hdr); in encode_putrootfh()
1541 static void encode_read(struct xdr_stream *xdr, const struct nfs_pgio_args *args, in encode_read() argument
1546 encode_op_hdr(xdr, OP_READ, decode_read_maxsz, hdr); in encode_read()
1547 encode_nfs4_stateid(xdr, &args->stateid); in encode_read()
1549 p = reserve_space(xdr, 12); in encode_read()
1554 static void encode_readdir(struct xdr_stream *xdr, const struct nfs4_readdir_arg *readdir, struct r… in encode_readdir() argument
1584 encode_op_hdr(xdr, OP_READDIR, decode_readdir_maxsz, hdr); in encode_readdir()
1585 encode_uint64(xdr, readdir->cookie); in encode_readdir()
1586 encode_nfs4_verifier(xdr, &readdir->verifier); in encode_readdir()
1587 p = reserve_space(xdr, 12 + (attrlen << 2)); in encode_readdir()
1604 static void encode_readlink(struct xdr_stream *xdr, const struct nfs4_readlink *readlink, struct rp… in encode_readlink() argument
1606 encode_op_hdr(xdr, OP_READLINK, decode_readlink_maxsz, hdr); in encode_readlink()
1609 static void encode_remove(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) in encode_remove() argument
1611 encode_op_hdr(xdr, OP_REMOVE, decode_remove_maxsz, hdr); in encode_remove()
1612 encode_string(xdr, name->len, name->name); in encode_remove()
1615 static void encode_rename(struct xdr_stream *xdr, const struct qstr *oldname, const struct qstr *ne… in encode_rename() argument
1617 encode_op_hdr(xdr, OP_RENAME, decode_rename_maxsz, hdr); in encode_rename()
1618 encode_string(xdr, oldname->len, oldname->name); in encode_rename()
1619 encode_string(xdr, newname->len, newname->name); in encode_rename()
1622 static void encode_renew(struct xdr_stream *xdr, clientid4 clid, in encode_renew() argument
1625 encode_op_hdr(xdr, OP_RENEW, decode_renew_maxsz, hdr); in encode_renew()
1626 encode_uint64(xdr, clid); in encode_renew()
1630 encode_restorefh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_restorefh() argument
1632 encode_op_hdr(xdr, OP_RESTOREFH, decode_restorefh_maxsz, hdr); in encode_restorefh()
1636 encode_setacl(struct xdr_stream *xdr, struct nfs_setaclargs *arg, struct compound_hdr *hdr) in encode_setacl() argument
1640 encode_op_hdr(xdr, OP_SETATTR, decode_setacl_maxsz, hdr); in encode_setacl()
1641 encode_nfs4_stateid(xdr, &zero_stateid); in encode_setacl()
1642 p = reserve_space(xdr, 2*4); in encode_setacl()
1645 p = reserve_space(xdr, 4); in encode_setacl()
1647 xdr_write_pages(xdr, arg->acl_pages, arg->acl_pgbase, arg->acl_len); in encode_setacl()
1651 encode_savefh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_savefh() argument
1653 encode_op_hdr(xdr, OP_SAVEFH, decode_savefh_maxsz, hdr); in encode_savefh()
1656 static void encode_setattr(struct xdr_stream *xdr, const struct nfs_setattrargs *arg, const struct … in encode_setattr() argument
1658 encode_op_hdr(xdr, OP_SETATTR, decode_setattr_maxsz, hdr); in encode_setattr()
1659 encode_nfs4_stateid(xdr, &arg->stateid); in encode_setattr()
1660 encode_attrs(xdr, arg->iap, arg->label, server); in encode_setattr()
1663 static void encode_setclientid(struct xdr_stream *xdr, const struct nfs4_setclientid *setclientid, … in encode_setclientid() argument
1667 encode_op_hdr(xdr, OP_SETCLIENTID, decode_setclientid_maxsz, hdr); in encode_setclientid()
1668 encode_nfs4_verifier(xdr, setclientid->sc_verifier); in encode_setclientid()
1670 encode_string(xdr, setclientid->sc_name_len, setclientid->sc_name); in encode_setclientid()
1671 p = reserve_space(xdr, 4); in encode_setclientid()
1673 encode_string(xdr, setclientid->sc_netid_len, setclientid->sc_netid); in encode_setclientid()
1674 encode_string(xdr, setclientid->sc_uaddr_len, setclientid->sc_uaddr); in encode_setclientid()
1675 p = reserve_space(xdr, 4); in encode_setclientid()
1679 static void encode_setclientid_confirm(struct xdr_stream *xdr, const struct nfs4_setclientid_res *a… in encode_setclientid_confirm() argument
1681 encode_op_hdr(xdr, OP_SETCLIENTID_CONFIRM, in encode_setclientid_confirm()
1683 encode_uint64(xdr, arg->clientid); in encode_setclientid_confirm()
1684 encode_nfs4_verifier(xdr, &arg->confirm); in encode_setclientid_confirm()
1687 static void encode_write(struct xdr_stream *xdr, const struct nfs_pgio_args *args, in encode_write() argument
1692 encode_op_hdr(xdr, OP_WRITE, decode_write_maxsz, hdr); in encode_write()
1693 encode_nfs4_stateid(xdr, &args->stateid); in encode_write()
1695 p = reserve_space(xdr, 16); in encode_write()
1700 xdr_write_pages(xdr, args->pages, args->pgbase, args->count); in encode_write()
1703 static void encode_delegreturn(struct xdr_stream *xdr, const nfs4_stateid *stateid, struct compound… in encode_delegreturn() argument
1705 encode_op_hdr(xdr, OP_DELEGRETURN, decode_delegreturn_maxsz, hdr); in encode_delegreturn()
1706 encode_nfs4_stateid(xdr, stateid); in encode_delegreturn()
1709 static void encode_secinfo(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hd… in encode_secinfo() argument
1711 encode_op_hdr(xdr, OP_SECINFO, decode_secinfo_maxsz, hdr); in encode_secinfo()
1712 encode_string(xdr, name->len, name->name); in encode_secinfo()
1717 static void encode_bind_conn_to_session(struct xdr_stream *xdr, in encode_bind_conn_to_session() argument
1723 encode_op_hdr(xdr, OP_BIND_CONN_TO_SESSION, in encode_bind_conn_to_session()
1725 encode_opaque_fixed(xdr, args->sessionid.data, NFS4_MAX_SESSIONID_LEN); in encode_bind_conn_to_session()
1726 p = xdr_reserve_space(xdr, 8); in encode_bind_conn_to_session()
1731 static void encode_op_map(struct xdr_stream *xdr, struct nfs4_op_map *op_map) in encode_op_map() argument
1734 encode_uint32(xdr, NFS4_OP_MAP_NUM_WORDS); in encode_op_map()
1736 encode_uint32(xdr, op_map->u.words[i]); in encode_op_map()
1739 static void encode_exchange_id(struct xdr_stream *xdr, in encode_exchange_id() argument
1747 encode_op_hdr(xdr, OP_EXCHANGE_ID, decode_exchange_id_maxsz, hdr); in encode_exchange_id()
1748 encode_nfs4_verifier(xdr, args->verifier); in encode_exchange_id()
1750 encode_string(xdr, args->id_len, args->id); in encode_exchange_id()
1752 encode_uint32(xdr, args->flags); in encode_exchange_id()
1753 encode_uint32(xdr, args->state_protect.how); in encode_exchange_id()
1759 encode_op_map(xdr, &args->state_protect.enforce); in encode_exchange_id()
1760 encode_op_map(xdr, &args->state_protect.allow); in encode_exchange_id()
1776 encode_uint32(xdr, 1); /* implementation id array length=1 */ in encode_exchange_id()
1778 encode_string(xdr, in encode_exchange_id()
1781 encode_string(xdr, len, impl_name); in encode_exchange_id()
1783 p = reserve_space(xdr, 12); in encode_exchange_id()
1787 encode_uint32(xdr, 0); /* implementation id array length=0 */ in encode_exchange_id()
1790 static void encode_create_session(struct xdr_stream *xdr, in encode_create_session() argument
1807 encode_op_hdr(xdr, OP_CREATE_SESSION, decode_create_session_maxsz, hdr); in encode_create_session()
1808 p = reserve_space(xdr, 16 + 2*28 + 20 + clnt->cl_nodelen + 12); in encode_create_session()
1843 static void encode_destroy_session(struct xdr_stream *xdr, in encode_destroy_session() argument
1847 encode_op_hdr(xdr, OP_DESTROY_SESSION, decode_destroy_session_maxsz, hdr); in encode_destroy_session()
1848 encode_opaque_fixed(xdr, session->sess_id.data, NFS4_MAX_SESSIONID_LEN); in encode_destroy_session()
1851 static void encode_destroy_clientid(struct xdr_stream *xdr, in encode_destroy_clientid() argument
1855 encode_op_hdr(xdr, OP_DESTROY_CLIENTID, decode_destroy_clientid_maxsz, hdr); in encode_destroy_clientid()
1856 encode_uint64(xdr, clientid); in encode_destroy_clientid()
1859 static void encode_reclaim_complete(struct xdr_stream *xdr, in encode_reclaim_complete() argument
1863 encode_op_hdr(xdr, OP_RECLAIM_COMPLETE, decode_reclaim_complete_maxsz, hdr); in encode_reclaim_complete()
1864 encode_uint32(xdr, args->one_fs); in encode_reclaim_complete()
1868 static void encode_sequence(struct xdr_stream *xdr, in encode_sequence() argument
1883 encode_op_hdr(xdr, OP_SEQUENCE, decode_sequence_maxsz, hdr); in encode_sequence()
1897 p = reserve_space(xdr, NFS4_MAX_SESSIONID_LEN + 16); in encode_sequence()
1908 encode_getdeviceinfo(struct xdr_stream *xdr, in encode_getdeviceinfo() argument
1914 encode_op_hdr(xdr, OP_GETDEVICEINFO, decode_getdeviceinfo_maxsz, hdr); in encode_getdeviceinfo()
1915 p = reserve_space(xdr, NFS4_DEVICEID4_SIZE + 4 + 4); in encode_getdeviceinfo()
1921 p = reserve_space(xdr, 4 + 4); in encode_getdeviceinfo()
1927 encode_layoutget(struct xdr_stream *xdr, in encode_layoutget() argument
1933 encode_op_hdr(xdr, OP_LAYOUTGET, decode_layoutget_maxsz, hdr); in encode_layoutget()
1934 p = reserve_space(xdr, 36); in encode_layoutget()
1941 encode_nfs4_stateid(xdr, &args->stateid); in encode_layoutget()
1942 encode_uint32(xdr, args->maxcount); in encode_layoutget()
1954 encode_layoutcommit(struct xdr_stream *xdr, in encode_layoutcommit() argument
1964 encode_op_hdr(xdr, OP_LAYOUTCOMMIT, decode_layoutcommit_maxsz, hdr); in encode_layoutcommit()
1965 p = reserve_space(xdr, 20); in encode_layoutcommit()
1970 encode_nfs4_stateid(xdr, &args->stateid); in encode_layoutcommit()
1971 p = reserve_space(xdr, 20); in encode_layoutcommit()
1979 NFS_I(inode)->layout, xdr, args); in encode_layoutcommit()
1981 encode_uint32(xdr, args->layoutupdate_len); in encode_layoutcommit()
1983 xdr_write_pages(xdr, args->layoutupdate_pages, 0, in encode_layoutcommit()
1992 encode_layoutreturn(struct xdr_stream *xdr, in encode_layoutreturn() argument
1998 encode_op_hdr(xdr, OP_LAYOUTRETURN, decode_layoutreturn_maxsz, hdr); in encode_layoutreturn()
1999 p = reserve_space(xdr, 16); in encode_layoutreturn()
2004 p = reserve_space(xdr, 16); in encode_layoutreturn()
2008 encode_nfs4_stateid(xdr, &args->stateid); in encode_layoutreturn()
2012 NFS_I(args->inode)->layout, xdr, args); in encode_layoutreturn()
2014 encode_uint32(xdr, 0); in encode_layoutreturn()
2018 encode_secinfo_no_name(struct xdr_stream *xdr, in encode_secinfo_no_name() argument
2022 encode_op_hdr(xdr, OP_SECINFO_NO_NAME, decode_secinfo_no_name_maxsz, hdr); in encode_secinfo_no_name()
2023 encode_uint32(xdr, args->style); in encode_secinfo_no_name()
2027 static void encode_test_stateid(struct xdr_stream *xdr, in encode_test_stateid() argument
2031 encode_op_hdr(xdr, OP_TEST_STATEID, decode_test_stateid_maxsz, hdr); in encode_test_stateid()
2032 encode_uint32(xdr, 1); in encode_test_stateid()
2033 encode_nfs4_stateid(xdr, args->stateid); in encode_test_stateid()
2036 static void encode_free_stateid(struct xdr_stream *xdr, in encode_free_stateid() argument
2040 encode_op_hdr(xdr, OP_FREE_STATEID, decode_free_stateid_maxsz, hdr); in encode_free_stateid()
2041 encode_nfs4_stateid(xdr, &args->stateid); in encode_free_stateid()
2062 static void nfs4_xdr_enc_access(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_access() argument
2069 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_access()
2070 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_access()
2071 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_access()
2072 encode_access(xdr, args->access, &hdr); in nfs4_xdr_enc_access()
2073 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_access()
2080 static void nfs4_xdr_enc_lookup(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_lookup() argument
2087 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lookup()
2088 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lookup()
2089 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_lookup()
2090 encode_lookup(xdr, args->name, &hdr); in nfs4_xdr_enc_lookup()
2091 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_lookup()
2092 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_lookup()
2100 struct xdr_stream *xdr, in nfs4_xdr_enc_lookup_root() argument
2107 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lookup_root()
2108 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lookup_root()
2109 encode_putrootfh(xdr, &hdr); in nfs4_xdr_enc_lookup_root()
2110 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_lookup_root()
2111 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_lookup_root()
2118 static void nfs4_xdr_enc_remove(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_remove() argument
2125 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_remove()
2126 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_remove()
2127 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_remove()
2128 encode_remove(xdr, &args->name, &hdr); in nfs4_xdr_enc_remove()
2135 static void nfs4_xdr_enc_rename(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_rename() argument
2142 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_rename()
2143 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_rename()
2144 encode_putfh(xdr, args->old_dir, &hdr); in nfs4_xdr_enc_rename()
2145 encode_savefh(xdr, &hdr); in nfs4_xdr_enc_rename()
2146 encode_putfh(xdr, args->new_dir, &hdr); in nfs4_xdr_enc_rename()
2147 encode_rename(xdr, args->old_name, args->new_name, &hdr); in nfs4_xdr_enc_rename()
2154 static void nfs4_xdr_enc_link(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_link() argument
2161 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_link()
2162 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_link()
2163 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_link()
2164 encode_savefh(xdr, &hdr); in nfs4_xdr_enc_link()
2165 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_link()
2166 encode_link(xdr, args->name, &hdr); in nfs4_xdr_enc_link()
2167 encode_restorefh(xdr, &hdr); in nfs4_xdr_enc_link()
2168 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_link()
2175 static void nfs4_xdr_enc_create(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_create() argument
2182 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_create()
2183 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_create()
2184 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_create()
2185 encode_create(xdr, args, &hdr); in nfs4_xdr_enc_create()
2186 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_create()
2187 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_create()
2194 static void nfs4_xdr_enc_symlink(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_symlink() argument
2197 nfs4_xdr_enc_create(req, xdr, args); in nfs4_xdr_enc_symlink()
2203 static void nfs4_xdr_enc_getattr(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_getattr() argument
2210 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_getattr()
2211 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_getattr()
2212 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_getattr()
2213 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_getattr()
2220 static void nfs4_xdr_enc_close(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_close() argument
2227 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_close()
2228 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_close()
2229 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_close()
2230 encode_close(xdr, args, &hdr); in nfs4_xdr_enc_close()
2231 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_close()
2238 static void nfs4_xdr_enc_open(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_open() argument
2245 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open()
2246 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_open()
2247 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open()
2248 encode_open(xdr, args, &hdr); in nfs4_xdr_enc_open()
2249 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_open()
2251 encode_access(xdr, args->access, &hdr); in nfs4_xdr_enc_open()
2252 encode_getfattr_open(xdr, args->bitmask, args->open_bitmap, &hdr); in nfs4_xdr_enc_open()
2260 struct xdr_stream *xdr, in nfs4_xdr_enc_open_confirm() argument
2267 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open_confirm()
2268 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open_confirm()
2269 encode_open_confirm(xdr, args, &hdr); in nfs4_xdr_enc_open_confirm()
2277 struct xdr_stream *xdr, in nfs4_xdr_enc_open_noattr() argument
2284 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open_noattr()
2285 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_open_noattr()
2286 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open_noattr()
2287 encode_open(xdr, args, &hdr); in nfs4_xdr_enc_open_noattr()
2289 encode_access(xdr, args->access, &hdr); in nfs4_xdr_enc_open_noattr()
2290 encode_getfattr_open(xdr, args->bitmask, args->open_bitmap, &hdr); in nfs4_xdr_enc_open_noattr()
2298 struct xdr_stream *xdr, in nfs4_xdr_enc_open_downgrade() argument
2305 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open_downgrade()
2306 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_open_downgrade()
2307 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open_downgrade()
2308 encode_open_downgrade(xdr, args, &hdr); in nfs4_xdr_enc_open_downgrade()
2309 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_open_downgrade()
2316 static void nfs4_xdr_enc_lock(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_lock() argument
2323 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lock()
2324 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lock()
2325 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_lock()
2326 encode_lock(xdr, args, &hdr); in nfs4_xdr_enc_lock()
2333 static void nfs4_xdr_enc_lockt(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_lockt() argument
2340 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lockt()
2341 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lockt()
2342 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_lockt()
2343 encode_lockt(xdr, args, &hdr); in nfs4_xdr_enc_lockt()
2350 static void nfs4_xdr_enc_locku(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_locku() argument
2357 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_locku()
2358 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_locku()
2359 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_locku()
2360 encode_locku(xdr, args, &hdr); in nfs4_xdr_enc_locku()
2365 struct xdr_stream *xdr, in nfs4_xdr_enc_release_lockowner() argument
2372 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_release_lockowner()
2373 encode_release_lockowner(xdr, &args->lock_owner, &hdr); in nfs4_xdr_enc_release_lockowner()
2380 static void nfs4_xdr_enc_readlink(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_readlink() argument
2387 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_readlink()
2388 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_readlink()
2389 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_readlink()
2390 encode_readlink(xdr, args, req, &hdr); in nfs4_xdr_enc_readlink()
2400 static void nfs4_xdr_enc_readdir(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_readdir() argument
2407 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_readdir()
2408 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_readdir()
2409 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_readdir()
2410 encode_readdir(xdr, args, req, &hdr); in nfs4_xdr_enc_readdir()
2423 static void nfs4_xdr_enc_read(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_read() argument
2430 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_read()
2431 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_read()
2432 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_read()
2433 encode_read(xdr, args, &hdr); in nfs4_xdr_enc_read()
2444 static void nfs4_xdr_enc_setattr(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_setattr() argument
2451 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setattr()
2452 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_setattr()
2453 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_setattr()
2454 encode_setattr(xdr, args, args->server, &hdr); in nfs4_xdr_enc_setattr()
2455 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_setattr()
2462 static void nfs4_xdr_enc_getacl(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_getacl() argument
2470 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_getacl()
2471 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_getacl()
2472 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_getacl()
2474 encode_getattr_two(xdr, FATTR4_WORD0_ACL, 0, &hdr); in nfs4_xdr_enc_getacl()
2485 static void nfs4_xdr_enc_write(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_write() argument
2492 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_write()
2493 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_write()
2494 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_write()
2495 encode_write(xdr, args, &hdr); in nfs4_xdr_enc_write()
2498 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_write()
2505 static void nfs4_xdr_enc_commit(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_commit() argument
2512 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_commit()
2513 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_commit()
2514 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_commit()
2515 encode_commit(xdr, args, &hdr); in nfs4_xdr_enc_commit()
2522 static void nfs4_xdr_enc_fsinfo(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_fsinfo() argument
2529 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_fsinfo()
2530 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_fsinfo()
2531 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_fsinfo()
2532 encode_fsinfo(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_fsinfo()
2539 static void nfs4_xdr_enc_pathconf(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_pathconf() argument
2546 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_pathconf()
2547 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_pathconf()
2548 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_pathconf()
2549 encode_getattr_one(xdr, args->bitmask[0] & nfs4_pathconf_bitmap[0], in nfs4_xdr_enc_pathconf()
2557 static void nfs4_xdr_enc_statfs(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_statfs() argument
2564 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_statfs()
2565 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_statfs()
2566 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_statfs()
2567 encode_getattr_two(xdr, args->bitmask[0] & nfs4_statfs_bitmap[0], in nfs4_xdr_enc_statfs()
2576 struct xdr_stream *xdr, in nfs4_xdr_enc_server_caps() argument
2583 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_server_caps()
2584 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_server_caps()
2585 encode_putfh(xdr, args->fhandle, &hdr); in nfs4_xdr_enc_server_caps()
2586 encode_getattr_one(xdr, FATTR4_WORD0_SUPPORTED_ATTRS| in nfs4_xdr_enc_server_caps()
2597 static void nfs4_xdr_enc_renew(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_renew() argument
2604 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_renew()
2605 encode_renew(xdr, clp->cl_clientid, &hdr); in nfs4_xdr_enc_renew()
2613 struct xdr_stream *xdr, in nfs4_xdr_enc_setclientid() argument
2620 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setclientid()
2621 encode_setclientid(xdr, sc, &hdr); in nfs4_xdr_enc_setclientid()
2629 struct xdr_stream *xdr, in nfs4_xdr_enc_setclientid_confirm() argument
2636 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setclientid_confirm()
2637 encode_setclientid_confirm(xdr, arg, &hdr); in nfs4_xdr_enc_setclientid_confirm()
2645 struct xdr_stream *xdr, in nfs4_xdr_enc_delegreturn() argument
2652 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_delegreturn()
2653 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_delegreturn()
2654 encode_putfh(xdr, args->fhandle, &hdr); in nfs4_xdr_enc_delegreturn()
2655 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_delegreturn()
2656 encode_delegreturn(xdr, args->stateid, &hdr); in nfs4_xdr_enc_delegreturn()
2664 struct xdr_stream *xdr, in nfs4_xdr_enc_fs_locations() argument
2672 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_fs_locations()
2673 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_fs_locations()
2675 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_fs_locations()
2677 encode_fs_locations(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_fs_locations()
2679 encode_renew(xdr, args->clientid, &hdr); in nfs4_xdr_enc_fs_locations()
2681 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_fs_locations()
2682 encode_lookup(xdr, args->name, &hdr); in nfs4_xdr_enc_fs_locations()
2684 encode_fs_locations(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_fs_locations()
2697 struct xdr_stream *xdr, in nfs4_xdr_enc_secinfo() argument
2704 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_secinfo()
2705 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_secinfo()
2706 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_secinfo()
2707 encode_secinfo(xdr, args->name, &hdr); in nfs4_xdr_enc_secinfo()
2715 struct xdr_stream *xdr, in nfs4_xdr_enc_fsid_present() argument
2722 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_fsid_present()
2723 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_fsid_present()
2724 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_fsid_present()
2725 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_fsid_present()
2727 encode_renew(xdr, args->clientid, &hdr); in nfs4_xdr_enc_fsid_present()
2736 struct xdr_stream *xdr, in nfs4_xdr_enc_bind_conn_to_session() argument
2743 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_bind_conn_to_session()
2744 encode_bind_conn_to_session(xdr, args, &hdr); in nfs4_xdr_enc_bind_conn_to_session()
2752 struct xdr_stream *xdr, in nfs4_xdr_enc_exchange_id() argument
2759 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_exchange_id()
2760 encode_exchange_id(xdr, args, &hdr); in nfs4_xdr_enc_exchange_id()
2768 struct xdr_stream *xdr, in nfs4_xdr_enc_create_session() argument
2775 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_create_session()
2776 encode_create_session(xdr, args, &hdr); in nfs4_xdr_enc_create_session()
2784 struct xdr_stream *xdr, in nfs4_xdr_enc_destroy_session() argument
2791 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_destroy_session()
2792 encode_destroy_session(xdr, session, &hdr); in nfs4_xdr_enc_destroy_session()
2800 struct xdr_stream *xdr, in nfs4_xdr_enc_destroy_clientid() argument
2807 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_destroy_clientid()
2808 encode_destroy_clientid(xdr, clp->cl_clientid, &hdr); in nfs4_xdr_enc_destroy_clientid()
2815 static void nfs4_xdr_enc_sequence(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_sequence() argument
2822 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_sequence()
2823 encode_sequence(xdr, args, &hdr); in nfs4_xdr_enc_sequence()
2831 struct xdr_stream *xdr, in nfs4_xdr_enc_get_lease_time() argument
2839 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_get_lease_time()
2840 encode_sequence(xdr, &args->la_seq_args, &hdr); in nfs4_xdr_enc_get_lease_time()
2841 encode_putrootfh(xdr, &hdr); in nfs4_xdr_enc_get_lease_time()
2842 encode_fsinfo(xdr, lease_bitmap, &hdr); in nfs4_xdr_enc_get_lease_time()
2850 struct xdr_stream *xdr, in nfs4_xdr_enc_reclaim_complete() argument
2857 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_reclaim_complete()
2858 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_reclaim_complete()
2859 encode_reclaim_complete(xdr, args, &hdr); in nfs4_xdr_enc_reclaim_complete()
2867 struct xdr_stream *xdr, in nfs4_xdr_enc_getdeviceinfo() argument
2874 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_getdeviceinfo()
2875 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_getdeviceinfo()
2876 encode_getdeviceinfo(xdr, args, &hdr); in nfs4_xdr_enc_getdeviceinfo()
2891 struct xdr_stream *xdr, in nfs4_xdr_enc_layoutget() argument
2898 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_layoutget()
2899 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_layoutget()
2900 encode_putfh(xdr, NFS_FH(args->inode), &hdr); in nfs4_xdr_enc_layoutget()
2901 encode_layoutget(xdr, args, &hdr); in nfs4_xdr_enc_layoutget()
2913 struct xdr_stream *xdr, in nfs4_xdr_enc_layoutcommit() argument
2922 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_layoutcommit()
2923 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_layoutcommit()
2924 encode_putfh(xdr, NFS_FH(args->inode), &hdr); in nfs4_xdr_enc_layoutcommit()
2925 encode_layoutcommit(xdr, data->args.inode, args, &hdr); in nfs4_xdr_enc_layoutcommit()
2926 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_layoutcommit()
2934 struct xdr_stream *xdr, in nfs4_xdr_enc_layoutreturn() argument
2941 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_layoutreturn()
2942 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_layoutreturn()
2943 encode_putfh(xdr, NFS_FH(args->inode), &hdr); in nfs4_xdr_enc_layoutreturn()
2944 encode_layoutreturn(xdr, args, &hdr); in nfs4_xdr_enc_layoutreturn()
2952 struct xdr_stream *xdr, in nfs4_xdr_enc_secinfo_no_name() argument
2959 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_secinfo_no_name()
2960 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_secinfo_no_name()
2961 encode_putrootfh(xdr, &hdr); in nfs4_xdr_enc_secinfo_no_name()
2962 encode_secinfo_no_name(xdr, args, &hdr); in nfs4_xdr_enc_secinfo_no_name()
2971 struct xdr_stream *xdr, in nfs4_xdr_enc_test_stateid() argument
2978 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_test_stateid()
2979 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_test_stateid()
2980 encode_test_stateid(xdr, args, &hdr); in nfs4_xdr_enc_test_stateid()
2988 struct xdr_stream *xdr, in nfs4_xdr_enc_free_stateid() argument
2995 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_free_stateid()
2996 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_free_stateid()
2997 encode_free_stateid(xdr, args, &hdr); in nfs4_xdr_enc_free_stateid()
3002 static void print_overflow_msg(const char *func, const struct xdr_stream *xdr) in print_overflow_msg() argument
3006 func, xdr->end - xdr->p); in print_overflow_msg()
3009 static int decode_opaque_inline(struct xdr_stream *xdr, unsigned int *len, char **string) in decode_opaque_inline() argument
3013 p = xdr_inline_decode(xdr, 4); in decode_opaque_inline()
3017 p = xdr_inline_decode(xdr, *len); in decode_opaque_inline()
3023 print_overflow_msg(__func__, xdr); in decode_opaque_inline()
3027 static int decode_compound_hdr(struct xdr_stream *xdr, struct compound_hdr *hdr) in decode_compound_hdr() argument
3031 p = xdr_inline_decode(xdr, 8); in decode_compound_hdr()
3037 p = xdr_inline_decode(xdr, hdr->taglen + 4); in decode_compound_hdr()
3047 print_overflow_msg(__func__, xdr); in decode_compound_hdr()
3051 static bool __decode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 expected, in __decode_op_hdr() argument
3058 p = xdr_inline_decode(xdr, 8); in __decode_op_hdr()
3077 print_overflow_msg(__func__, xdr); in __decode_op_hdr()
3082 static int decode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 expected) in decode_op_hdr() argument
3086 __decode_op_hdr(xdr, expected, &retval); in decode_op_hdr()
3091 static int decode_ace(struct xdr_stream *xdr, void *ace, struct nfs_client *clp) in decode_ace() argument
3097 p = xdr_inline_decode(xdr, 12); in decode_ace()
3099 return decode_opaque_inline(xdr, &strlen, &str); in decode_ace()
3100 print_overflow_msg(__func__, xdr); in decode_ace()
3104 static int decode_attr_bitmap(struct xdr_stream *xdr, uint32_t *bitmap) in decode_attr_bitmap() argument
3109 p = xdr_inline_decode(xdr, 4); in decode_attr_bitmap()
3115 p = xdr_inline_decode(xdr, (bmlen << 2)); in decode_attr_bitmap()
3128 print_overflow_msg(__func__, xdr); in decode_attr_bitmap()
3132 static int decode_attr_length(struct xdr_stream *xdr, uint32_t *attrlen, unsigned int *savep) in decode_attr_length() argument
3136 p = xdr_inline_decode(xdr, 4); in decode_attr_length()
3140 *savep = xdr_stream_pos(xdr); in decode_attr_length()
3143 print_overflow_msg(__func__, xdr); in decode_attr_length()
3147 static int decode_attr_supported(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *bitmask) in decode_attr_supported() argument
3151 ret = decode_attr_bitmap(xdr, bitmask); in decode_attr_supported()
3162 static int decode_attr_type(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *type) in decode_attr_type() argument
3171 p = xdr_inline_decode(xdr, 4); in decode_attr_type()
3185 print_overflow_msg(__func__, xdr); in decode_attr_type()
3189 static int decode_attr_fh_expire_type(struct xdr_stream *xdr, in decode_attr_fh_expire_type() argument
3198 p = xdr_inline_decode(xdr, 4); in decode_attr_fh_expire_type()
3207 print_overflow_msg(__func__, xdr); in decode_attr_fh_expire_type()
3211 static int decode_attr_change(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *change) in decode_attr_change() argument
3220 p = xdr_inline_decode(xdr, 8); in decode_attr_change()
3231 print_overflow_msg(__func__, xdr); in decode_attr_change()
3235 static int decode_attr_size(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *size) in decode_attr_size() argument
3244 p = xdr_inline_decode(xdr, 8); in decode_attr_size()
3254 print_overflow_msg(__func__, xdr); in decode_attr_size()
3258 static int decode_attr_link_support(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_link_support() argument
3266 p = xdr_inline_decode(xdr, 4); in decode_attr_link_support()
3275 print_overflow_msg(__func__, xdr); in decode_attr_link_support()
3279 static int decode_attr_symlink_support(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_symlink_support() argument
3287 p = xdr_inline_decode(xdr, 4); in decode_attr_symlink_support()
3296 print_overflow_msg(__func__, xdr); in decode_attr_symlink_support()
3300 static int decode_attr_fsid(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs_fsid *fsid) in decode_attr_fsid() argument
3310 p = xdr_inline_decode(xdr, 16); in decode_attr_fsid()
3323 print_overflow_msg(__func__, xdr); in decode_attr_fsid()
3327 static int decode_attr_lease_time(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_lease_time() argument
3335 p = xdr_inline_decode(xdr, 4); in decode_attr_lease_time()
3344 print_overflow_msg(__func__, xdr); in decode_attr_lease_time()
3348 static int decode_attr_error(struct xdr_stream *xdr, uint32_t *bitmap, int32_t *res) in decode_attr_error() argument
3355 p = xdr_inline_decode(xdr, 4); in decode_attr_error()
3363 print_overflow_msg(__func__, xdr); in decode_attr_error()
3367 static int decode_attr_filehandle(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs_fh *fh) in decode_attr_filehandle() argument
3378 p = xdr_inline_decode(xdr, 4); in decode_attr_filehandle()
3384 p = xdr_inline_decode(xdr, len); in decode_attr_filehandle()
3395 print_overflow_msg(__func__, xdr); in decode_attr_filehandle()
3399 static int decode_attr_aclsupport(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_aclsupport() argument
3407 p = xdr_inline_decode(xdr, 4); in decode_attr_aclsupport()
3416 print_overflow_msg(__func__, xdr); in decode_attr_aclsupport()
3420 static int decode_attr_fileid(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *fileid) in decode_attr_fileid() argument
3429 p = xdr_inline_decode(xdr, 8); in decode_attr_fileid()
3439 print_overflow_msg(__func__, xdr); in decode_attr_fileid()
3443 static int decode_attr_mounted_on_fileid(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *fileid) in decode_attr_mounted_on_fileid() argument
3452 p = xdr_inline_decode(xdr, 8); in decode_attr_mounted_on_fileid()
3462 print_overflow_msg(__func__, xdr); in decode_attr_mounted_on_fileid()
3466 static int decode_attr_files_avail(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_avail() argument
3475 p = xdr_inline_decode(xdr, 8); in decode_attr_files_avail()
3484 print_overflow_msg(__func__, xdr); in decode_attr_files_avail()
3488 static int decode_attr_files_free(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_free() argument
3497 p = xdr_inline_decode(xdr, 8); in decode_attr_files_free()
3506 print_overflow_msg(__func__, xdr); in decode_attr_files_free()
3510 static int decode_attr_files_total(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_total() argument
3519 p = xdr_inline_decode(xdr, 8); in decode_attr_files_total()
3528 print_overflow_msg(__func__, xdr); in decode_attr_files_total()
3532 static int decode_pathname(struct xdr_stream *xdr, struct nfs4_pathname *path) in decode_pathname() argument
3538 p = xdr_inline_decode(xdr, 4); in decode_pathname()
3551 status = decode_opaque_inline(xdr, &component->len, &component->data); in decode_pathname()
3573 print_overflow_msg(__func__, xdr); in decode_pathname()
3577 static int decode_attr_fs_locations(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs4_fs_locati… in decode_attr_fs_locations() argument
3593 status = decode_pathname(xdr, &res->fs_path); in decode_attr_fs_locations()
3596 p = xdr_inline_decode(xdr, 4); in decode_attr_fs_locations()
3609 p = xdr_inline_decode(xdr, 4); in decode_attr_fs_locations()
3628 status = decode_opaque_inline(xdr, &len, &data); in decode_attr_fs_locations()
3635 status = decode_opaque_inline(xdr, &server->len, &server->data); in decode_attr_fs_locations()
3640 status = decode_pathname(xdr, &loc->rootpath); in decode_attr_fs_locations()
3650 print_overflow_msg(__func__, xdr); in decode_attr_fs_locations()
3656 static int decode_attr_maxfilesize(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_maxfilesize() argument
3665 p = xdr_inline_decode(xdr, 8); in decode_attr_maxfilesize()
3674 print_overflow_msg(__func__, xdr); in decode_attr_maxfilesize()
3678 static int decode_attr_maxlink(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *maxlink) in decode_attr_maxlink() argument
3687 p = xdr_inline_decode(xdr, 4); in decode_attr_maxlink()
3696 print_overflow_msg(__func__, xdr); in decode_attr_maxlink()
3700 static int decode_attr_maxname(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *maxname) in decode_attr_maxname() argument
3709 p = xdr_inline_decode(xdr, 4); in decode_attr_maxname()
3718 print_overflow_msg(__func__, xdr); in decode_attr_maxname()
3722 static int decode_attr_maxread(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_maxread() argument
3732 p = xdr_inline_decode(xdr, 8); in decode_attr_maxread()
3744 print_overflow_msg(__func__, xdr); in decode_attr_maxread()
3748 static int decode_attr_maxwrite(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_maxwrite() argument
3758 p = xdr_inline_decode(xdr, 8); in decode_attr_maxwrite()
3770 print_overflow_msg(__func__, xdr); in decode_attr_maxwrite()
3774 static int decode_attr_mode(struct xdr_stream *xdr, uint32_t *bitmap, umode_t *mode) in decode_attr_mode() argument
3784 p = xdr_inline_decode(xdr, 4); in decode_attr_mode()
3795 print_overflow_msg(__func__, xdr); in decode_attr_mode()
3799 static int decode_attr_nlink(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *nlink) in decode_attr_nlink() argument
3808 p = xdr_inline_decode(xdr, 4); in decode_attr_nlink()
3818 print_overflow_msg(__func__, xdr); in decode_attr_nlink()
3822 static int decode_attr_owner(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_owner() argument
3834 p = xdr_inline_decode(xdr, 4); in decode_attr_owner()
3838 p = xdr_inline_decode(xdr, len); in decode_attr_owner()
3861 print_overflow_msg(__func__, xdr); in decode_attr_owner()
3865 static int decode_attr_group(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_group() argument
3877 p = xdr_inline_decode(xdr, 4); in decode_attr_group()
3881 p = xdr_inline_decode(xdr, len); in decode_attr_group()
3904 print_overflow_msg(__func__, xdr); in decode_attr_group()
3908 static int decode_attr_rdev(struct xdr_stream *xdr, uint32_t *bitmap, dev_t *rdev) in decode_attr_rdev() argument
3920 p = xdr_inline_decode(xdr, 8); in decode_attr_rdev()
3934 print_overflow_msg(__func__, xdr); in decode_attr_rdev()
3938 static int decode_attr_space_avail(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_avail() argument
3947 p = xdr_inline_decode(xdr, 8); in decode_attr_space_avail()
3956 print_overflow_msg(__func__, xdr); in decode_attr_space_avail()
3960 static int decode_attr_space_free(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_free() argument
3969 p = xdr_inline_decode(xdr, 8); in decode_attr_space_free()
3978 print_overflow_msg(__func__, xdr); in decode_attr_space_free()
3982 static int decode_attr_space_total(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_total() argument
3991 p = xdr_inline_decode(xdr, 8); in decode_attr_space_total()
4000 print_overflow_msg(__func__, xdr); in decode_attr_space_total()
4004 static int decode_attr_space_used(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *used) in decode_attr_space_used() argument
4013 p = xdr_inline_decode(xdr, 8); in decode_attr_space_used()
4024 print_overflow_msg(__func__, xdr); in decode_attr_space_used()
4028 static int decode_attr_time(struct xdr_stream *xdr, struct timespec *time) in decode_attr_time() argument
4034 p = xdr_inline_decode(xdr, 12); in decode_attr_time()
4043 print_overflow_msg(__func__, xdr); in decode_attr_time()
4047 static int decode_attr_time_access(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec *time) in decode_attr_time_access() argument
4056 status = decode_attr_time(xdr, time); in decode_attr_time_access()
4065 static int decode_attr_time_metadata(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec *tim… in decode_attr_time_metadata() argument
4074 status = decode_attr_time(xdr, time); in decode_attr_time_metadata()
4083 static int decode_attr_time_delta(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_time_delta() argument
4093 status = decode_attr_time(xdr, time); in decode_attr_time_delta()
4101 static int decode_attr_security_label(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_security_label() argument
4113 p = xdr_inline_decode(xdr, 4); in decode_attr_security_label()
4117 p = xdr_inline_decode(xdr, 4); in decode_attr_security_label()
4121 p = xdr_inline_decode(xdr, 4); in decode_attr_security_label()
4125 p = xdr_inline_decode(xdr, len); in decode_attr_security_label()
4147 print_overflow_msg(__func__, xdr); in decode_attr_security_label()
4151 static int decode_attr_time_modify(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec *time) in decode_attr_time_modify() argument
4160 status = decode_attr_time(xdr, time); in decode_attr_time_modify()
4169 static int verify_attr_len(struct xdr_stream *xdr, unsigned int savep, uint32_t attrlen) in verify_attr_len() argument
4172 unsigned int nwords = (xdr_stream_pos(xdr) - savep) >> 2; in verify_attr_len()
4186 static int decode_change_info(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_change_info() argument
4190 p = xdr_inline_decode(xdr, 20); in decode_change_info()
4198 print_overflow_msg(__func__, xdr); in decode_change_info()
4202 static int decode_access(struct xdr_stream *xdr, u32 *supported, u32 *access) in decode_access() argument
4208 status = decode_op_hdr(xdr, OP_ACCESS); in decode_access()
4211 p = xdr_inline_decode(xdr, 8); in decode_access()
4220 print_overflow_msg(__func__, xdr); in decode_access()
4224 static int decode_opaque_fixed(struct xdr_stream *xdr, void *buf, size_t len) in decode_opaque_fixed() argument
4228 p = xdr_inline_decode(xdr, len); in decode_opaque_fixed()
4233 print_overflow_msg(__func__, xdr); in decode_opaque_fixed()
4237 static int decode_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_stateid() argument
4239 return decode_opaque_fixed(xdr, stateid, NFS4_STATEID_SIZE); in decode_stateid()
4242 static int decode_close(struct xdr_stream *xdr, struct nfs_closeres *res) in decode_close() argument
4246 status = decode_op_hdr(xdr, OP_CLOSE); in decode_close()
4250 status = decode_stateid(xdr, &res->stateid); in decode_close()
4254 static int decode_verifier(struct xdr_stream *xdr, void *verifier) in decode_verifier() argument
4256 return decode_opaque_fixed(xdr, verifier, NFS4_VERIFIER_SIZE); in decode_verifier()
4259 static int decode_write_verifier(struct xdr_stream *xdr, struct nfs_write_verifier *verifier) in decode_write_verifier() argument
4261 return decode_opaque_fixed(xdr, verifier->data, NFS4_VERIFIER_SIZE); in decode_write_verifier()
4264 static int decode_commit(struct xdr_stream *xdr, struct nfs_commitres *res) in decode_commit() argument
4268 status = decode_op_hdr(xdr, OP_COMMIT); in decode_commit()
4270 status = decode_write_verifier(xdr, &res->verf->verifier); in decode_commit()
4274 static int decode_create(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_create() argument
4280 status = decode_op_hdr(xdr, OP_CREATE); in decode_create()
4283 if ((status = decode_change_info(xdr, cinfo))) in decode_create()
4285 p = xdr_inline_decode(xdr, 4); in decode_create()
4289 p = xdr_inline_decode(xdr, bmlen << 2); in decode_create()
4293 print_overflow_msg(__func__, xdr); in decode_create()
4297 static int decode_server_caps(struct xdr_stream *xdr, struct nfs4_server_caps_res *res) in decode_server_caps() argument
4303 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_server_caps()
4305 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_server_caps()
4307 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_server_caps()
4309 if ((status = decode_attr_supported(xdr, bitmap, res->attr_bitmask)) != 0) in decode_server_caps()
4311 if ((status = decode_attr_fh_expire_type(xdr, bitmap, in decode_server_caps()
4314 if ((status = decode_attr_link_support(xdr, bitmap, &res->has_links)) != 0) in decode_server_caps()
4316 if ((status = decode_attr_symlink_support(xdr, bitmap, &res->has_symlinks)) != 0) in decode_server_caps()
4318 if ((status = decode_attr_aclsupport(xdr, bitmap, &res->acl_bitmask)) != 0) in decode_server_caps()
4320 status = verify_attr_len(xdr, savep, attrlen); in decode_server_caps()
4326 static int decode_statfs(struct xdr_stream *xdr, struct nfs_fsstat *fsstat) in decode_statfs() argument
4332 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_statfs()
4334 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_statfs()
4336 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_statfs()
4339 if ((status = decode_attr_files_avail(xdr, bitmap, &fsstat->afiles)) != 0) in decode_statfs()
4341 if ((status = decode_attr_files_free(xdr, bitmap, &fsstat->ffiles)) != 0) in decode_statfs()
4343 if ((status = decode_attr_files_total(xdr, bitmap, &fsstat->tfiles)) != 0) in decode_statfs()
4345 if ((status = decode_attr_space_avail(xdr, bitmap, &fsstat->abytes)) != 0) in decode_statfs()
4347 if ((status = decode_attr_space_free(xdr, bitmap, &fsstat->fbytes)) != 0) in decode_statfs()
4349 if ((status = decode_attr_space_total(xdr, bitmap, &fsstat->tbytes)) != 0) in decode_statfs()
4352 status = verify_attr_len(xdr, savep, attrlen); in decode_statfs()
4358 static int decode_pathconf(struct xdr_stream *xdr, struct nfs_pathconf *pathconf) in decode_pathconf() argument
4364 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_pathconf()
4366 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_pathconf()
4368 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_pathconf()
4371 if ((status = decode_attr_maxlink(xdr, bitmap, &pathconf->max_link)) != 0) in decode_pathconf()
4373 if ((status = decode_attr_maxname(xdr, bitmap, &pathconf->max_namelen)) != 0) in decode_pathconf()
4376 status = verify_attr_len(xdr, savep, attrlen); in decode_pathconf()
4382 static int decode_threshold_hint(struct xdr_stream *xdr, in decode_threshold_hint() argument
4391 p = xdr_inline_decode(xdr, 8); in decode_threshold_hint()
4398 print_overflow_msg(__func__, xdr); in decode_threshold_hint()
4402 static int decode_first_threshold_item4(struct xdr_stream *xdr, in decode_first_threshold_item4() argument
4411 p = xdr_inline_decode(xdr, 4); in decode_first_threshold_item4()
4413 print_overflow_msg(__func__, xdr); in decode_first_threshold_item4()
4419 status = decode_attr_bitmap(xdr, bitmap); in decode_first_threshold_item4()
4424 status = decode_attr_length(xdr, &attrlen, &savep); in decode_first_threshold_item4()
4428 status = decode_threshold_hint(xdr, bitmap, &res->rd_sz, THRESHOLD_RD); in decode_first_threshold_item4()
4431 status = decode_threshold_hint(xdr, bitmap, &res->wr_sz, THRESHOLD_WR); in decode_first_threshold_item4()
4434 status = decode_threshold_hint(xdr, bitmap, &res->rd_io_sz, in decode_first_threshold_item4()
4438 status = decode_threshold_hint(xdr, bitmap, &res->wr_io_sz, in decode_first_threshold_item4()
4443 status = verify_attr_len(xdr, savep, attrlen); in decode_first_threshold_item4()
4457 static int decode_attr_mdsthreshold(struct xdr_stream *xdr, in decode_attr_mdsthreshold() argument
4471 p = xdr_inline_decode(xdr, 4); in decode_attr_mdsthreshold()
4482 status = decode_first_threshold_item4(xdr, res); in decode_attr_mdsthreshold()
4487 print_overflow_msg(__func__, xdr); in decode_attr_mdsthreshold()
4491 static int decode_getfattr_attrs(struct xdr_stream *xdr, uint32_t *bitmap, in decode_getfattr_attrs() argument
4501 status = decode_attr_type(xdr, bitmap, &type); in decode_getfattr_attrs()
4510 status = decode_attr_change(xdr, bitmap, &fattr->change_attr); in decode_getfattr_attrs()
4515 status = decode_attr_size(xdr, bitmap, &fattr->size); in decode_getfattr_attrs()
4520 status = decode_attr_fsid(xdr, bitmap, &fattr->fsid); in decode_getfattr_attrs()
4526 status = decode_attr_error(xdr, bitmap, &err); in decode_getfattr_attrs()
4530 status = decode_attr_filehandle(xdr, bitmap, fh); in decode_getfattr_attrs()
4534 status = decode_attr_fileid(xdr, bitmap, &fattr->fileid); in decode_getfattr_attrs()
4539 status = decode_attr_fs_locations(xdr, bitmap, fs_loc); in decode_getfattr_attrs()
4544 status = decode_attr_mode(xdr, bitmap, &fmode); in decode_getfattr_attrs()
4552 status = decode_attr_nlink(xdr, bitmap, &fattr->nlink); in decode_getfattr_attrs()
4557 status = decode_attr_owner(xdr, bitmap, server, &fattr->uid, fattr->owner_name); in decode_getfattr_attrs()
4562 status = decode_attr_group(xdr, bitmap, server, &fattr->gid, fattr->group_name); in decode_getfattr_attrs()
4567 status = decode_attr_rdev(xdr, bitmap, &fattr->rdev); in decode_getfattr_attrs()
4572 status = decode_attr_space_used(xdr, bitmap, &fattr->du.nfs3.used); in decode_getfattr_attrs()
4577 status = decode_attr_time_access(xdr, bitmap, &fattr->atime); in decode_getfattr_attrs()
4582 status = decode_attr_time_metadata(xdr, bitmap, &fattr->ctime); in decode_getfattr_attrs()
4587 status = decode_attr_time_modify(xdr, bitmap, &fattr->mtime); in decode_getfattr_attrs()
4592 status = decode_attr_mounted_on_fileid(xdr, bitmap, &fattr->mounted_on_fileid); in decode_getfattr_attrs()
4597 status = decode_attr_mdsthreshold(xdr, bitmap, fattr->mdsthreshold); in decode_getfattr_attrs()
4602 status = decode_attr_security_label(xdr, bitmap, label); in decode_getfattr_attrs()
4613 static int decode_getfattr_generic(struct xdr_stream *xdr, struct nfs_fattr *fattr, in decode_getfattr_generic() argument
4622 status = decode_op_hdr(xdr, OP_GETATTR); in decode_getfattr_generic()
4626 status = decode_attr_bitmap(xdr, bitmap); in decode_getfattr_generic()
4630 status = decode_attr_length(xdr, &attrlen, &savep); in decode_getfattr_generic()
4634 status = decode_getfattr_attrs(xdr, bitmap, fattr, fh, fs_loc, in decode_getfattr_generic()
4639 status = verify_attr_len(xdr, savep, attrlen); in decode_getfattr_generic()
4645 static int decode_getfattr_label(struct xdr_stream *xdr, struct nfs_fattr *fattr, in decode_getfattr_label() argument
4648 return decode_getfattr_generic(xdr, fattr, NULL, NULL, label, server); in decode_getfattr_label()
4651 static int decode_getfattr(struct xdr_stream *xdr, struct nfs_fattr *fattr, in decode_getfattr() argument
4654 return decode_getfattr_generic(xdr, fattr, NULL, NULL, NULL, server); in decode_getfattr()
4661 static int decode_first_pnfs_layout_type(struct xdr_stream *xdr, in decode_first_pnfs_layout_type() argument
4667 p = xdr_inline_decode(xdr, 4); in decode_first_pnfs_layout_type()
4682 p = xdr_inline_decode(xdr, num * 4); in decode_first_pnfs_layout_type()
4688 print_overflow_msg(__func__, xdr); in decode_first_pnfs_layout_type()
4696 static int decode_attr_pnfstype(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_pnfstype() argument
4705 status = decode_first_pnfs_layout_type(xdr, layouttype); in decode_attr_pnfstype()
4715 static int decode_attr_layout_blksize(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_layout_blksize() argument
4723 p = xdr_inline_decode(xdr, 4); in decode_attr_layout_blksize()
4725 print_overflow_msg(__func__, xdr); in decode_attr_layout_blksize()
4734 static int decode_fsinfo(struct xdr_stream *xdr, struct nfs_fsinfo *fsinfo) in decode_fsinfo() argument
4740 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_fsinfo()
4742 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_fsinfo()
4744 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_fsinfo()
4749 if ((status = decode_attr_lease_time(xdr, bitmap, &fsinfo->lease_time)) != 0) in decode_fsinfo()
4751 if ((status = decode_attr_maxfilesize(xdr, bitmap, &fsinfo->maxfilesize)) != 0) in decode_fsinfo()
4753 if ((status = decode_attr_maxread(xdr, bitmap, &fsinfo->rtmax)) != 0) in decode_fsinfo()
4756 if ((status = decode_attr_maxwrite(xdr, bitmap, &fsinfo->wtmax)) != 0) in decode_fsinfo()
4759 status = decode_attr_time_delta(xdr, bitmap, &fsinfo->time_delta); in decode_fsinfo()
4762 status = decode_attr_pnfstype(xdr, bitmap, &fsinfo->layouttype); in decode_fsinfo()
4765 status = decode_attr_layout_blksize(xdr, bitmap, &fsinfo->blksize); in decode_fsinfo()
4769 status = verify_attr_len(xdr, savep, attrlen); in decode_fsinfo()
4775 static int decode_getfh(struct xdr_stream *xdr, struct nfs_fh *fh) in decode_getfh() argument
4784 status = decode_op_hdr(xdr, OP_GETFH); in decode_getfh()
4788 p = xdr_inline_decode(xdr, 4); in decode_getfh()
4795 p = xdr_inline_decode(xdr, len); in decode_getfh()
4801 print_overflow_msg(__func__, xdr); in decode_getfh()
4805 static int decode_link(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_link() argument
4809 status = decode_op_hdr(xdr, OP_LINK); in decode_link()
4812 return decode_change_info(xdr, cinfo); in decode_link()
4818 static int decode_lock_denied (struct xdr_stream *xdr, struct file_lock *fl) in decode_lock_denied() argument
4824 p = xdr_inline_decode(xdr, 32); /* read 32 bytes */ in decode_lock_denied()
4842 p = xdr_inline_decode(xdr, namelen); /* variable size field */ in decode_lock_denied()
4846 print_overflow_msg(__func__, xdr); in decode_lock_denied()
4850 static int decode_lock(struct xdr_stream *xdr, struct nfs_lock_res *res) in decode_lock() argument
4854 status = decode_op_hdr(xdr, OP_LOCK); in decode_lock()
4858 status = decode_stateid(xdr, &res->stateid); in decode_lock()
4862 status = decode_lock_denied(xdr, NULL); in decode_lock()
4870 static int decode_lockt(struct xdr_stream *xdr, struct nfs_lockt_res *res) in decode_lockt() argument
4873 status = decode_op_hdr(xdr, OP_LOCKT); in decode_lockt()
4875 return decode_lock_denied(xdr, res->denied); in decode_lockt()
4879 static int decode_locku(struct xdr_stream *xdr, struct nfs_locku_res *res) in decode_locku() argument
4883 status = decode_op_hdr(xdr, OP_LOCKU); in decode_locku()
4887 status = decode_stateid(xdr, &res->stateid); in decode_locku()
4891 static int decode_release_lockowner(struct xdr_stream *xdr) in decode_release_lockowner() argument
4893 return decode_op_hdr(xdr, OP_RELEASE_LOCKOWNER); in decode_release_lockowner()
4896 static int decode_lookup(struct xdr_stream *xdr) in decode_lookup() argument
4898 return decode_op_hdr(xdr, OP_LOOKUP); in decode_lookup()
4902 static int decode_space_limit(struct xdr_stream *xdr, u64 *maxsize) in decode_space_limit() argument
4907 p = xdr_inline_decode(xdr, 12); in decode_space_limit()
4922 print_overflow_msg(__func__, xdr); in decode_space_limit()
4926 static int decode_rw_delegation(struct xdr_stream *xdr, in decode_rw_delegation() argument
4933 status = decode_stateid(xdr, &res->delegation); in decode_rw_delegation()
4936 p = xdr_inline_decode(xdr, 4); in decode_rw_delegation()
4947 if (decode_space_limit(xdr, &res->maxsize) < 0) in decode_rw_delegation()
4950 return decode_ace(xdr, NULL, res->server->nfs_client); in decode_rw_delegation()
4952 print_overflow_msg(__func__, xdr); in decode_rw_delegation()
4956 static int decode_no_delegation(struct xdr_stream *xdr, struct nfs_openres *res) in decode_no_delegation() argument
4961 p = xdr_inline_decode(xdr, 4); in decode_no_delegation()
4968 xdr_inline_decode(xdr, 4); in decode_no_delegation()
4973 print_overflow_msg(__func__, xdr); in decode_no_delegation()
4977 static int decode_delegation(struct xdr_stream *xdr, struct nfs_openres *res) in decode_delegation() argument
4982 p = xdr_inline_decode(xdr, 4); in decode_delegation()
4992 return decode_rw_delegation(xdr, delegation_type, res); in decode_delegation()
4994 return decode_no_delegation(xdr, res); in decode_delegation()
4998 print_overflow_msg(__func__, xdr); in decode_delegation()
5002 static int decode_open(struct xdr_stream *xdr, struct nfs_openres *res) in decode_open() argument
5008 if (!__decode_op_hdr(xdr, OP_OPEN, &status)) in decode_open()
5013 status = decode_stateid(xdr, &res->stateid); in decode_open()
5017 decode_change_info(xdr, &res->cinfo); in decode_open()
5019 p = xdr_inline_decode(xdr, 8); in decode_open()
5027 p = xdr_inline_decode(xdr, bmlen << 2); in decode_open()
5036 return decode_delegation(xdr, res); in decode_open()
5041 print_overflow_msg(__func__, xdr); in decode_open()
5045 static int decode_open_confirm(struct xdr_stream *xdr, struct nfs_open_confirmres *res) in decode_open_confirm() argument
5049 status = decode_op_hdr(xdr, OP_OPEN_CONFIRM); in decode_open_confirm()
5053 status = decode_stateid(xdr, &res->stateid); in decode_open_confirm()
5057 static int decode_open_downgrade(struct xdr_stream *xdr, struct nfs_closeres *res) in decode_open_downgrade() argument
5061 status = decode_op_hdr(xdr, OP_OPEN_DOWNGRADE); in decode_open_downgrade()
5065 status = decode_stateid(xdr, &res->stateid); in decode_open_downgrade()
5069 static int decode_putfh(struct xdr_stream *xdr) in decode_putfh() argument
5071 return decode_op_hdr(xdr, OP_PUTFH); in decode_putfh()
5074 static int decode_putrootfh(struct xdr_stream *xdr) in decode_putrootfh() argument
5076 return decode_op_hdr(xdr, OP_PUTROOTFH); in decode_putrootfh()
5079 static int decode_read(struct xdr_stream *xdr, struct rpc_rqst *req, in decode_read() argument
5086 status = decode_op_hdr(xdr, OP_READ); in decode_read()
5089 p = xdr_inline_decode(xdr, 8); in decode_read()
5094 recvd = xdr_read_pages(xdr, count); in decode_read()
5105 print_overflow_msg(__func__, xdr); in decode_read()
5109 static int decode_readdir(struct xdr_stream *xdr, struct rpc_rqst *req, struct nfs4_readdir_res *re… in decode_readdir() argument
5114 status = decode_op_hdr(xdr, OP_READDIR); in decode_readdir()
5116 status = decode_verifier(xdr, readdir->verifier.data); in decode_readdir()
5122 return xdr_read_pages(xdr, xdr->buf->page_len); in decode_readdir()
5125 static int decode_readlink(struct xdr_stream *xdr, struct rpc_rqst *req) in decode_readlink() argument
5132 status = decode_op_hdr(xdr, OP_READLINK); in decode_readlink()
5137 p = xdr_inline_decode(xdr, 4); in decode_readlink()
5145 recvd = xdr_read_pages(xdr, len); in decode_readlink()
5161 print_overflow_msg(__func__, xdr); in decode_readlink()
5165 static int decode_remove(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_remove() argument
5169 status = decode_op_hdr(xdr, OP_REMOVE); in decode_remove()
5172 status = decode_change_info(xdr, cinfo); in decode_remove()
5177 static int decode_rename(struct xdr_stream *xdr, struct nfs4_change_info *old_cinfo, in decode_rename() argument
5182 status = decode_op_hdr(xdr, OP_RENAME); in decode_rename()
5185 if ((status = decode_change_info(xdr, old_cinfo))) in decode_rename()
5187 status = decode_change_info(xdr, new_cinfo); in decode_rename()
5192 static int decode_renew(struct xdr_stream *xdr) in decode_renew() argument
5194 return decode_op_hdr(xdr, OP_RENEW); in decode_renew()
5198 decode_restorefh(struct xdr_stream *xdr) in decode_restorefh() argument
5200 return decode_op_hdr(xdr, OP_RESTOREFH); in decode_restorefh()
5203 static int decode_getacl(struct xdr_stream *xdr, struct rpc_rqst *req, in decode_getacl() argument
5213 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_getacl()
5216 xdr_enter_page(xdr, xdr->buf->page_len); in decode_getacl()
5219 pg_offset = xdr->buf->head[0].iov_len; in decode_getacl()
5221 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_getacl()
5223 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_getacl()
5233 res->acl_data_offset = xdr_stream_pos(xdr) - pg_offset; in decode_getacl()
5237 if (res->acl_len > (xdr->nwords << 2) || in decode_getacl()
5238 res->acl_len + res->acl_data_offset > xdr->buf->page_len) { in decode_getacl()
5241 attrlen, xdr->nwords << 2); in decode_getacl()
5251 decode_savefh(struct xdr_stream *xdr) in decode_savefh() argument
5253 return decode_op_hdr(xdr, OP_SAVEFH); in decode_savefh()
5256 static int decode_setattr(struct xdr_stream *xdr) in decode_setattr() argument
5262 status = decode_op_hdr(xdr, OP_SETATTR); in decode_setattr()
5265 p = xdr_inline_decode(xdr, 4); in decode_setattr()
5269 p = xdr_inline_decode(xdr, bmlen << 2); in decode_setattr()
5273 print_overflow_msg(__func__, xdr); in decode_setattr()
5277 static int decode_setclientid(struct xdr_stream *xdr, struct nfs4_setclientid_res *res) in decode_setclientid() argument
5283 p = xdr_inline_decode(xdr, 8); in decode_setclientid()
5294 p = xdr_inline_decode(xdr, 8 + NFS4_VERIFIER_SIZE); in decode_setclientid()
5303 p = xdr_inline_decode(xdr, 4); in decode_setclientid()
5307 p = xdr_inline_decode(xdr, len); in decode_setclientid()
5312 p = xdr_inline_decode(xdr, 4); in decode_setclientid()
5316 p = xdr_inline_decode(xdr, len); in decode_setclientid()
5325 print_overflow_msg(__func__, xdr); in decode_setclientid()
5329 static int decode_setclientid_confirm(struct xdr_stream *xdr) in decode_setclientid_confirm() argument
5331 return decode_op_hdr(xdr, OP_SETCLIENTID_CONFIRM); in decode_setclientid_confirm()
5334 static int decode_write(struct xdr_stream *xdr, struct nfs_pgio_res *res) in decode_write() argument
5339 status = decode_op_hdr(xdr, OP_WRITE); in decode_write()
5343 p = xdr_inline_decode(xdr, 8); in decode_write()
5348 return decode_write_verifier(xdr, &res->verf->verifier); in decode_write()
5350 print_overflow_msg(__func__, xdr); in decode_write()
5354 static int decode_delegreturn(struct xdr_stream *xdr) in decode_delegreturn() argument
5356 return decode_op_hdr(xdr, OP_DELEGRETURN); in decode_delegreturn()
5359 static int decode_secinfo_gss(struct xdr_stream *xdr, in decode_secinfo_gss() argument
5365 p = xdr_inline_decode(xdr, 4); in decode_secinfo_gss()
5372 p = xdr_inline_decode(xdr, oid_len); in decode_secinfo_gss()
5378 p = xdr_inline_decode(xdr, 8); in decode_secinfo_gss()
5387 print_overflow_msg(__func__, xdr); in decode_secinfo_gss()
5393 static int decode_secinfo_common(struct xdr_stream *xdr, struct nfs4_secinfo_res *res) in decode_secinfo_common() argument
5400 p = xdr_inline_decode(xdr, 4); in decode_secinfo_common()
5412 p = xdr_inline_decode(xdr, 4); in decode_secinfo_common()
5418 status = decode_secinfo_gss(xdr, sec_flavor); in decode_secinfo_common()
5429 print_overflow_msg(__func__, xdr); in decode_secinfo_common()
5433 static int decode_secinfo(struct xdr_stream *xdr, struct nfs4_secinfo_res *res) in decode_secinfo() argument
5435 int status = decode_op_hdr(xdr, OP_SECINFO); in decode_secinfo()
5438 return decode_secinfo_common(xdr, res); in decode_secinfo()
5442 static int decode_secinfo_no_name(struct xdr_stream *xdr, struct nfs4_secinfo_res *res) in decode_secinfo_no_name() argument
5444 int status = decode_op_hdr(xdr, OP_SECINFO_NO_NAME); in decode_secinfo_no_name()
5447 return decode_secinfo_common(xdr, res); in decode_secinfo_no_name()
5450 static int decode_op_map(struct xdr_stream *xdr, struct nfs4_op_map *op_map) in decode_op_map() argument
5456 p = xdr_inline_decode(xdr, 4); in decode_op_map()
5460 p = xdr_inline_decode(xdr, 4 * bitmap_words); in decode_op_map()
5467 static int decode_exchange_id(struct xdr_stream *xdr, in decode_exchange_id() argument
5476 status = decode_op_hdr(xdr, OP_EXCHANGE_ID); in decode_exchange_id()
5480 p = xdr_inline_decode(xdr, 8); in decode_exchange_id()
5484 p = xdr_inline_decode(xdr, 12); in decode_exchange_id()
5495 status = decode_op_map(xdr, &res->state_protect.enforce); in decode_exchange_id()
5498 status = decode_op_map(xdr, &res->state_protect.allow); in decode_exchange_id()
5508 p = xdr_inline_decode(xdr, 8); in decode_exchange_id()
5514 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5523 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5532 p = xdr_inline_decode(xdr, 4); in decode_exchange_id()
5539 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5547 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5555 p = xdr_inline_decode(xdr, 12); in decode_exchange_id()
5565 print_overflow_msg(__func__, xdr); in decode_exchange_id()
5569 static int decode_chan_attrs(struct xdr_stream *xdr, in decode_chan_attrs() argument
5575 p = xdr_inline_decode(xdr, 28); in decode_chan_attrs()
5593 p = xdr_inline_decode(xdr, 4); /* skip rdma_attrs */ in decode_chan_attrs()
5599 print_overflow_msg(__func__, xdr); in decode_chan_attrs()
5603 static int decode_sessionid(struct xdr_stream *xdr, struct nfs4_sessionid *sid) in decode_sessionid() argument
5605 return decode_opaque_fixed(xdr, sid->data, NFS4_MAX_SESSIONID_LEN); in decode_sessionid()
5608 static int decode_bind_conn_to_session(struct xdr_stream *xdr, in decode_bind_conn_to_session() argument
5614 status = decode_op_hdr(xdr, OP_BIND_CONN_TO_SESSION); in decode_bind_conn_to_session()
5616 status = decode_sessionid(xdr, &res->sessionid); in decode_bind_conn_to_session()
5621 p = xdr_inline_decode(xdr, 8); in decode_bind_conn_to_session()
5635 print_overflow_msg(__func__, xdr); in decode_bind_conn_to_session()
5639 static int decode_create_session(struct xdr_stream *xdr, in decode_create_session() argument
5645 status = decode_op_hdr(xdr, OP_CREATE_SESSION); in decode_create_session()
5647 status = decode_sessionid(xdr, &res->sessionid); in decode_create_session()
5652 p = xdr_inline_decode(xdr, 8); in decode_create_session()
5659 status = decode_chan_attrs(xdr, &res->fc_attrs); in decode_create_session()
5661 status = decode_chan_attrs(xdr, &res->bc_attrs); in decode_create_session()
5664 print_overflow_msg(__func__, xdr); in decode_create_session()
5668 static int decode_destroy_session(struct xdr_stream *xdr, void *dummy) in decode_destroy_session() argument
5670 return decode_op_hdr(xdr, OP_DESTROY_SESSION); in decode_destroy_session()
5673 static int decode_destroy_clientid(struct xdr_stream *xdr, void *dummy) in decode_destroy_clientid() argument
5675 return decode_op_hdr(xdr, OP_DESTROY_CLIENTID); in decode_destroy_clientid()
5678 static int decode_reclaim_complete(struct xdr_stream *xdr, void *dummy) in decode_reclaim_complete() argument
5680 return decode_op_hdr(xdr, OP_RECLAIM_COMPLETE); in decode_reclaim_complete()
5684 static int decode_sequence(struct xdr_stream *xdr, in decode_sequence() argument
5700 status = decode_op_hdr(xdr, OP_SEQUENCE); in decode_sequence()
5702 status = decode_sessionid(xdr, &id); in decode_sequence()
5719 p = xdr_inline_decode(xdr, 20); in decode_sequence()
5746 print_overflow_msg(__func__, xdr); in decode_sequence()
5755 static int decode_getdeviceinfo(struct xdr_stream *xdr, in decode_getdeviceinfo() argument
5763 status = decode_op_hdr(xdr, OP_GETDEVICEINFO); in decode_getdeviceinfo()
5766 p = xdr_inline_decode(xdr, 4); in decode_getdeviceinfo()
5776 p = xdr_inline_decode(xdr, 8); in decode_getdeviceinfo()
5791 if (xdr_read_pages(xdr, pdev->mincount) != pdev->mincount) in decode_getdeviceinfo()
5795 p = xdr_inline_decode(xdr, 4); in decode_getdeviceinfo()
5802 p = xdr_inline_decode(xdr, 4 * len); in decode_getdeviceinfo()
5817 print_overflow_msg(__func__, xdr); in decode_getdeviceinfo()
5821 static int decode_layoutget(struct xdr_stream *xdr, struct rpc_rqst *req, in decode_layoutget() argument
5829 status = decode_op_hdr(xdr, OP_LAYOUTGET); in decode_layoutget()
5832 p = xdr_inline_decode(xdr, 4); in decode_layoutget()
5836 decode_stateid(xdr, &res->stateid); in decode_layoutget()
5837 p = xdr_inline_decode(xdr, 4); in decode_layoutget()
5847 p = xdr_inline_decode(xdr, 28); in decode_layoutget()
5864 recvd = xdr_read_pages(xdr, res->layoutp->len); in decode_layoutget()
5884 print_overflow_msg(__func__, xdr); in decode_layoutget()
5888 static int decode_layoutreturn(struct xdr_stream *xdr, in decode_layoutreturn() argument
5894 status = decode_op_hdr(xdr, OP_LAYOUTRETURN); in decode_layoutreturn()
5897 p = xdr_inline_decode(xdr, 4); in decode_layoutreturn()
5902 status = decode_stateid(xdr, &res->stateid); in decode_layoutreturn()
5905 print_overflow_msg(__func__, xdr); in decode_layoutreturn()
5909 static int decode_layoutcommit(struct xdr_stream *xdr, in decode_layoutcommit() argument
5917 status = decode_op_hdr(xdr, OP_LAYOUTCOMMIT); in decode_layoutcommit()
5922 p = xdr_inline_decode(xdr, 4); in decode_layoutcommit()
5929 p = xdr_inline_decode(xdr, 8); in decode_layoutcommit()
5935 print_overflow_msg(__func__, xdr); in decode_layoutcommit()
5939 static int decode_test_stateid(struct xdr_stream *xdr, in decode_test_stateid() argument
5946 status = decode_op_hdr(xdr, OP_TEST_STATEID); in decode_test_stateid()
5950 p = xdr_inline_decode(xdr, 4); in decode_test_stateid()
5957 p = xdr_inline_decode(xdr, 4); in decode_test_stateid()
5964 print_overflow_msg(__func__, xdr); in decode_test_stateid()
5969 static int decode_free_stateid(struct xdr_stream *xdr, in decode_free_stateid() argument
5972 res->status = decode_op_hdr(xdr, OP_FREE_STATEID); in decode_free_stateid()
5985 struct xdr_stream *xdr, in nfs4_xdr_dec_open_downgrade() argument
5991 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open_downgrade()
5994 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_open_downgrade()
5997 status = decode_putfh(xdr); in nfs4_xdr_dec_open_downgrade()
6000 status = decode_open_downgrade(xdr, res); in nfs4_xdr_dec_open_downgrade()
6003 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_open_downgrade()
6011 static int nfs4_xdr_dec_access(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_access() argument
6017 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_access()
6020 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_access()
6023 status = decode_putfh(xdr); in nfs4_xdr_dec_access()
6026 status = decode_access(xdr, &res->supported, &res->access); in nfs4_xdr_dec_access()
6029 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_access()
6037 static int nfs4_xdr_dec_lookup(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_lookup() argument
6043 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lookup()
6046 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lookup()
6049 status = decode_putfh(xdr); in nfs4_xdr_dec_lookup()
6052 status = decode_lookup(xdr); in nfs4_xdr_dec_lookup()
6055 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_lookup()
6058 status = decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_lookup()
6067 struct xdr_stream *xdr, in nfs4_xdr_dec_lookup_root() argument
6073 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lookup_root()
6076 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lookup_root()
6079 status = decode_putrootfh(xdr); in nfs4_xdr_dec_lookup_root()
6082 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_lookup_root()
6084 status = decode_getfattr_label(xdr, res->fattr, in nfs4_xdr_dec_lookup_root()
6093 static int nfs4_xdr_dec_remove(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_remove() argument
6099 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_remove()
6102 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_remove()
6105 status = decode_putfh(xdr); in nfs4_xdr_dec_remove()
6108 status = decode_remove(xdr, &res->cinfo); in nfs4_xdr_dec_remove()
6116 static int nfs4_xdr_dec_rename(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_rename() argument
6122 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_rename()
6125 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_rename()
6128 status = decode_putfh(xdr); in nfs4_xdr_dec_rename()
6131 status = decode_savefh(xdr); in nfs4_xdr_dec_rename()
6134 status = decode_putfh(xdr); in nfs4_xdr_dec_rename()
6137 status = decode_rename(xdr, &res->old_cinfo, &res->new_cinfo); in nfs4_xdr_dec_rename()
6145 static int nfs4_xdr_dec_link(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_link() argument
6151 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_link()
6154 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_link()
6157 status = decode_putfh(xdr); in nfs4_xdr_dec_link()
6160 status = decode_savefh(xdr); in nfs4_xdr_dec_link()
6163 status = decode_putfh(xdr); in nfs4_xdr_dec_link()
6166 status = decode_link(xdr, &res->cinfo); in nfs4_xdr_dec_link()
6173 status = decode_restorefh(xdr); in nfs4_xdr_dec_link()
6176 decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_link()
6184 static int nfs4_xdr_dec_create(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_create() argument
6190 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_create()
6193 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_create()
6196 status = decode_putfh(xdr); in nfs4_xdr_dec_create()
6199 status = decode_create(xdr, &res->dir_cinfo); in nfs4_xdr_dec_create()
6202 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_create()
6205 decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_create()
6213 static int nfs4_xdr_dec_symlink(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_symlink() argument
6216 return nfs4_xdr_dec_create(rqstp, xdr, res); in nfs4_xdr_dec_symlink()
6222 static int nfs4_xdr_dec_getattr(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_getattr() argument
6228 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_getattr()
6231 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_getattr()
6234 status = decode_putfh(xdr); in nfs4_xdr_dec_getattr()
6237 status = decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_getattr()
6245 static void nfs4_xdr_enc_setacl(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_setacl() argument
6252 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setacl()
6253 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_setacl()
6254 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_setacl()
6255 encode_setacl(xdr, args, &hdr); in nfs4_xdr_enc_setacl()
6263 nfs4_xdr_dec_setacl(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_setacl() argument
6269 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setacl()
6272 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_setacl()
6275 status = decode_putfh(xdr); in nfs4_xdr_dec_setacl()
6278 status = decode_setattr(xdr); in nfs4_xdr_dec_setacl()
6287 nfs4_xdr_dec_getacl(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_getacl() argument
6295 xdr_set_scratch_buffer(xdr, p, PAGE_SIZE); in nfs4_xdr_dec_getacl()
6297 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_getacl()
6300 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_getacl()
6303 status = decode_putfh(xdr); in nfs4_xdr_dec_getacl()
6306 status = decode_getacl(xdr, rqstp, res); in nfs4_xdr_dec_getacl()
6315 static int nfs4_xdr_dec_close(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_close() argument
6321 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_close()
6324 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_close()
6327 status = decode_putfh(xdr); in nfs4_xdr_dec_close()
6330 status = decode_close(xdr, res); in nfs4_xdr_dec_close()
6339 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_close()
6347 static int nfs4_xdr_dec_open(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_open() argument
6353 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open()
6356 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_open()
6359 status = decode_putfh(xdr); in nfs4_xdr_dec_open()
6362 status = decode_open(xdr, res); in nfs4_xdr_dec_open()
6365 status = decode_getfh(xdr, &res->fh); in nfs4_xdr_dec_open()
6369 decode_access(xdr, &res->access_supported, &res->access_result); in nfs4_xdr_dec_open()
6370 decode_getfattr_label(xdr, res->f_attr, res->f_label, res->server); in nfs4_xdr_dec_open()
6379 struct xdr_stream *xdr, in nfs4_xdr_dec_open_confirm() argument
6385 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open_confirm()
6388 status = decode_putfh(xdr); in nfs4_xdr_dec_open_confirm()
6391 status = decode_open_confirm(xdr, res); in nfs4_xdr_dec_open_confirm()
6400 struct xdr_stream *xdr, in nfs4_xdr_dec_open_noattr() argument
6406 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open_noattr()
6409 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_open_noattr()
6412 status = decode_putfh(xdr); in nfs4_xdr_dec_open_noattr()
6415 status = decode_open(xdr, res); in nfs4_xdr_dec_open_noattr()
6419 decode_access(xdr, &res->access_supported, &res->access_result); in nfs4_xdr_dec_open_noattr()
6420 decode_getfattr(xdr, res->f_attr, res->server); in nfs4_xdr_dec_open_noattr()
6429 struct xdr_stream *xdr, in nfs4_xdr_dec_setattr() argument
6435 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setattr()
6438 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_setattr()
6441 status = decode_putfh(xdr); in nfs4_xdr_dec_setattr()
6444 status = decode_setattr(xdr); in nfs4_xdr_dec_setattr()
6447 decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_setattr()
6455 static int nfs4_xdr_dec_lock(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_lock() argument
6461 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lock()
6464 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lock()
6467 status = decode_putfh(xdr); in nfs4_xdr_dec_lock()
6470 status = decode_lock(xdr, res); in nfs4_xdr_dec_lock()
6478 static int nfs4_xdr_dec_lockt(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_lockt() argument
6484 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lockt()
6487 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lockt()
6490 status = decode_putfh(xdr); in nfs4_xdr_dec_lockt()
6493 status = decode_lockt(xdr, res); in nfs4_xdr_dec_lockt()
6501 static int nfs4_xdr_dec_locku(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_locku() argument
6507 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_locku()
6510 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_locku()
6513 status = decode_putfh(xdr); in nfs4_xdr_dec_locku()
6516 status = decode_locku(xdr, res); in nfs4_xdr_dec_locku()
6522 struct xdr_stream *xdr, void *dummy) in nfs4_xdr_dec_release_lockowner() argument
6527 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_release_lockowner()
6529 status = decode_release_lockowner(xdr); in nfs4_xdr_dec_release_lockowner()
6537 struct xdr_stream *xdr, in nfs4_xdr_dec_readlink() argument
6543 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_readlink()
6546 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_readlink()
6549 status = decode_putfh(xdr); in nfs4_xdr_dec_readlink()
6552 status = decode_readlink(xdr, rqstp); in nfs4_xdr_dec_readlink()
6560 static int nfs4_xdr_dec_readdir(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_readdir() argument
6566 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_readdir()
6569 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_readdir()
6572 status = decode_putfh(xdr); in nfs4_xdr_dec_readdir()
6575 status = decode_readdir(xdr, rqstp, res); in nfs4_xdr_dec_readdir()
6583 static int nfs4_xdr_dec_read(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_read() argument
6589 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_read()
6593 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_read()
6596 status = decode_putfh(xdr); in nfs4_xdr_dec_read()
6599 status = decode_read(xdr, rqstp, res); in nfs4_xdr_dec_read()
6609 static int nfs4_xdr_dec_write(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_write() argument
6615 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_write()
6619 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_write()
6622 status = decode_putfh(xdr); in nfs4_xdr_dec_write()
6625 status = decode_write(xdr, res); in nfs4_xdr_dec_write()
6629 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_write()
6639 static int nfs4_xdr_dec_commit(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_commit() argument
6645 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_commit()
6649 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_commit()
6652 status = decode_putfh(xdr); in nfs4_xdr_dec_commit()
6655 status = decode_commit(xdr, res); in nfs4_xdr_dec_commit()
6663 static int nfs4_xdr_dec_fsinfo(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_dec_fsinfo() argument
6669 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_fsinfo()
6671 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_fsinfo()
6673 status = decode_putfh(xdr); in nfs4_xdr_dec_fsinfo()
6675 status = decode_fsinfo(xdr, res->fsinfo); in nfs4_xdr_dec_fsinfo()
6682 static int nfs4_xdr_dec_pathconf(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_dec_pathconf() argument
6688 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_pathconf()
6690 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_pathconf()
6692 status = decode_putfh(xdr); in nfs4_xdr_dec_pathconf()
6694 status = decode_pathconf(xdr, res->pathconf); in nfs4_xdr_dec_pathconf()
6701 static int nfs4_xdr_dec_statfs(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_dec_statfs() argument
6707 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_statfs()
6709 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_statfs()
6711 status = decode_putfh(xdr); in nfs4_xdr_dec_statfs()
6713 status = decode_statfs(xdr, res->fsstat); in nfs4_xdr_dec_statfs()
6721 struct xdr_stream *xdr, in nfs4_xdr_dec_server_caps() argument
6727 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_server_caps()
6730 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_server_caps()
6733 status = decode_putfh(xdr); in nfs4_xdr_dec_server_caps()
6736 status = decode_server_caps(xdr, res); in nfs4_xdr_dec_server_caps()
6744 static int nfs4_xdr_dec_renew(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_renew() argument
6750 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_renew()
6752 status = decode_renew(xdr); in nfs4_xdr_dec_renew()
6760 struct xdr_stream *xdr, in nfs4_xdr_dec_setclientid() argument
6766 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setclientid()
6768 status = decode_setclientid(xdr, res); in nfs4_xdr_dec_setclientid()
6776 struct xdr_stream *xdr) in nfs4_xdr_dec_setclientid_confirm() argument
6781 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setclientid_confirm()
6783 status = decode_setclientid_confirm(xdr); in nfs4_xdr_dec_setclientid_confirm()
6791 struct xdr_stream *xdr, in nfs4_xdr_dec_delegreturn() argument
6797 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_delegreturn()
6800 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_delegreturn()
6803 status = decode_putfh(xdr); in nfs4_xdr_dec_delegreturn()
6806 status = decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_delegreturn()
6809 status = decode_delegreturn(xdr); in nfs4_xdr_dec_delegreturn()
6818 struct xdr_stream *xdr, in nfs4_xdr_dec_fs_locations() argument
6824 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_fs_locations()
6827 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_fs_locations()
6830 status = decode_putfh(xdr); in nfs4_xdr_dec_fs_locations()
6834 xdr_enter_page(xdr, PAGE_SIZE); in nfs4_xdr_dec_fs_locations()
6835 status = decode_getfattr_generic(xdr, in nfs4_xdr_dec_fs_locations()
6842 status = decode_renew(xdr); in nfs4_xdr_dec_fs_locations()
6844 status = decode_lookup(xdr); in nfs4_xdr_dec_fs_locations()
6847 xdr_enter_page(xdr, PAGE_SIZE); in nfs4_xdr_dec_fs_locations()
6848 status = decode_getfattr_generic(xdr, in nfs4_xdr_dec_fs_locations()
6861 struct xdr_stream *xdr, in nfs4_xdr_dec_secinfo() argument
6867 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_secinfo()
6870 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_secinfo()
6873 status = decode_putfh(xdr); in nfs4_xdr_dec_secinfo()
6876 status = decode_secinfo(xdr, res); in nfs4_xdr_dec_secinfo()
6885 struct xdr_stream *xdr, in nfs4_xdr_dec_fsid_present() argument
6891 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_fsid_present()
6894 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_fsid_present()
6897 status = decode_putfh(xdr); in nfs4_xdr_dec_fsid_present()
6900 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_fsid_present()
6904 status = decode_renew(xdr); in nfs4_xdr_dec_fsid_present()
6914 struct xdr_stream *xdr, in nfs4_xdr_dec_bind_conn_to_session() argument
6920 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_bind_conn_to_session()
6922 status = decode_bind_conn_to_session(xdr, res); in nfs4_xdr_dec_bind_conn_to_session()
6930 struct xdr_stream *xdr, in nfs4_xdr_dec_exchange_id() argument
6936 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_exchange_id()
6938 status = decode_exchange_id(xdr, res); in nfs4_xdr_dec_exchange_id()
6946 struct xdr_stream *xdr, in nfs4_xdr_dec_create_session() argument
6952 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_create_session()
6954 status = decode_create_session(xdr, res); in nfs4_xdr_dec_create_session()
6962 struct xdr_stream *xdr, in nfs4_xdr_dec_destroy_session() argument
6968 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_destroy_session()
6970 status = decode_destroy_session(xdr, res); in nfs4_xdr_dec_destroy_session()
6978 struct xdr_stream *xdr, in nfs4_xdr_dec_destroy_clientid() argument
6984 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_destroy_clientid()
6986 status = decode_destroy_clientid(xdr, res); in nfs4_xdr_dec_destroy_clientid()
6994 struct xdr_stream *xdr, in nfs4_xdr_dec_sequence() argument
7000 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_sequence()
7002 status = decode_sequence(xdr, res, rqstp); in nfs4_xdr_dec_sequence()
7010 struct xdr_stream *xdr, in nfs4_xdr_dec_get_lease_time() argument
7016 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_get_lease_time()
7018 status = decode_sequence(xdr, &res->lr_seq_res, rqstp); in nfs4_xdr_dec_get_lease_time()
7020 status = decode_putrootfh(xdr); in nfs4_xdr_dec_get_lease_time()
7022 status = decode_fsinfo(xdr, res->lr_fsinfo); in nfs4_xdr_dec_get_lease_time()
7030 struct xdr_stream *xdr, in nfs4_xdr_dec_reclaim_complete() argument
7036 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_reclaim_complete()
7038 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_reclaim_complete()
7040 status = decode_reclaim_complete(xdr, NULL); in nfs4_xdr_dec_reclaim_complete()
7048 struct xdr_stream *xdr, in nfs4_xdr_dec_getdeviceinfo() argument
7054 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_getdeviceinfo()
7057 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_getdeviceinfo()
7060 status = decode_getdeviceinfo(xdr, res); in nfs4_xdr_dec_getdeviceinfo()
7069 struct xdr_stream *xdr, in nfs4_xdr_dec_layoutget() argument
7075 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_layoutget()
7078 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_layoutget()
7081 status = decode_putfh(xdr); in nfs4_xdr_dec_layoutget()
7084 status = decode_layoutget(xdr, rqstp, res); in nfs4_xdr_dec_layoutget()
7093 struct xdr_stream *xdr, in nfs4_xdr_dec_layoutreturn() argument
7099 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_layoutreturn()
7102 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_layoutreturn()
7105 status = decode_putfh(xdr); in nfs4_xdr_dec_layoutreturn()
7108 status = decode_layoutreturn(xdr, res); in nfs4_xdr_dec_layoutreturn()
7117 struct xdr_stream *xdr, in nfs4_xdr_dec_layoutcommit() argument
7123 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_layoutcommit()
7126 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_layoutcommit()
7129 status = decode_putfh(xdr); in nfs4_xdr_dec_layoutcommit()
7132 status = decode_layoutcommit(xdr, rqstp, res); in nfs4_xdr_dec_layoutcommit()
7135 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_layoutcommit()
7144 struct xdr_stream *xdr, in nfs4_xdr_dec_secinfo_no_name() argument
7150 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_secinfo_no_name()
7153 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_secinfo_no_name()
7156 status = decode_putrootfh(xdr); in nfs4_xdr_dec_secinfo_no_name()
7159 status = decode_secinfo_no_name(xdr, res); in nfs4_xdr_dec_secinfo_no_name()
7168 struct xdr_stream *xdr, in nfs4_xdr_dec_test_stateid() argument
7174 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_test_stateid()
7177 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_test_stateid()
7180 status = decode_test_stateid(xdr, res); in nfs4_xdr_dec_test_stateid()
7189 struct xdr_stream *xdr, in nfs4_xdr_dec_free_stateid() argument
7195 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_free_stateid()
7198 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_free_stateid()
7201 status = decode_free_stateid(xdr, res); in nfs4_xdr_dec_free_stateid()
7221 int nfs4_decode_dirent(struct xdr_stream *xdr, struct nfs_entry *entry, in nfs4_decode_dirent() argument
7227 __be32 *p = xdr_inline_decode(xdr, 4); in nfs4_decode_dirent()
7231 p = xdr_inline_decode(xdr, 4); in nfs4_decode_dirent()
7240 p = xdr_inline_decode(xdr, 12); in nfs4_decode_dirent()
7247 p = xdr_inline_decode(xdr, entry->len); in nfs4_decode_dirent()
7260 if (decode_attr_bitmap(xdr, bitmap) < 0) in nfs4_decode_dirent()
7263 if (decode_attr_length(xdr, &len, &savep) < 0) in nfs4_decode_dirent()
7266 if (decode_getfattr_attrs(xdr, bitmap, entry->fattr, entry->fh, in nfs4_decode_dirent()
7281 print_overflow_msg(__func__, xdr); in nfs4_decode_dirent()