Lines Matching refs:xdr
910 static __be32 *reserve_space(struct xdr_stream *xdr, size_t nbytes) in reserve_space() argument
912 __be32 *p = xdr_reserve_space(xdr, nbytes); in reserve_space()
917 static void encode_opaque_fixed(struct xdr_stream *xdr, const void *buf, size_t len) in encode_opaque_fixed() argument
921 p = xdr_reserve_space(xdr, len); in encode_opaque_fixed()
925 static void encode_string(struct xdr_stream *xdr, unsigned int len, const char *str) in encode_string() argument
929 p = reserve_space(xdr, 4 + len); in encode_string()
933 static void encode_uint32(struct xdr_stream *xdr, u32 n) in encode_uint32() argument
937 p = reserve_space(xdr, 4); in encode_uint32()
941 static void encode_uint64(struct xdr_stream *xdr, u64 n) in encode_uint64() argument
945 p = reserve_space(xdr, 8); in encode_uint64()
949 static void encode_nfs4_seqid(struct xdr_stream *xdr, in encode_nfs4_seqid() argument
953 encode_uint32(xdr, seqid->sequence->counter); in encode_nfs4_seqid()
955 encode_uint32(xdr, 0); in encode_nfs4_seqid()
958 static void encode_compound_hdr(struct xdr_stream *xdr, in encode_compound_hdr() argument
971 encode_string(xdr, hdr->taglen, hdr->tag); in encode_compound_hdr()
972 p = reserve_space(xdr, 8); in encode_compound_hdr()
978 static void encode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 op, in encode_op_hdr() argument
982 encode_uint32(xdr, op); in encode_op_hdr()
993 static void encode_nfs4_stateid(struct xdr_stream *xdr, const nfs4_stateid *stateid) in encode_nfs4_stateid() argument
995 encode_opaque_fixed(xdr, stateid, NFS4_STATEID_SIZE); in encode_nfs4_stateid()
998 static void encode_nfs4_verifier(struct xdr_stream *xdr, const nfs4_verifier *verf) in encode_nfs4_verifier() argument
1000 encode_opaque_fixed(xdr, verf->data, NFS4_VERIFIER_SIZE); in encode_nfs4_verifier()
1003 static void encode_attrs(struct xdr_stream *xdr, const struct iattr *iap, in encode_attrs() argument
1095 p = reserve_space(xdr, 4 + (bmval_len << 2) + 4 + len); in encode_attrs()
1136 static void encode_access(struct xdr_stream *xdr, u32 access, struct compound_hdr *hdr) in encode_access() argument
1138 encode_op_hdr(xdr, OP_ACCESS, decode_access_maxsz, hdr); in encode_access()
1139 encode_uint32(xdr, access); in encode_access()
1142 static void encode_close(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct compound_h… in encode_close() argument
1144 encode_op_hdr(xdr, OP_CLOSE, decode_close_maxsz, hdr); in encode_close()
1145 encode_nfs4_seqid(xdr, arg->seqid); in encode_close()
1146 encode_nfs4_stateid(xdr, &arg->stateid); in encode_close()
1149 static void encode_commit(struct xdr_stream *xdr, const struct nfs_commitargs *args, struct compoun… in encode_commit() argument
1153 encode_op_hdr(xdr, OP_COMMIT, decode_commit_maxsz, hdr); in encode_commit()
1154 p = reserve_space(xdr, 12); in encode_commit()
1159 static void encode_create(struct xdr_stream *xdr, const struct nfs4_create_arg *create, struct comp… in encode_create() argument
1163 encode_op_hdr(xdr, OP_CREATE, decode_create_maxsz, hdr); in encode_create()
1164 encode_uint32(xdr, create->ftype); in encode_create()
1168 p = reserve_space(xdr, 4); in encode_create()
1170 xdr_write_pages(xdr, create->u.symlink.pages, 0, in encode_create()
1172 xdr->buf->flags |= XDRBUF_WRITE; in encode_create()
1176 p = reserve_space(xdr, 8); in encode_create()
1185 encode_string(xdr, create->name->len, create->name->name); in encode_create()
1186 encode_attrs(xdr, create->attrs, create->label, create->server, false); in encode_create()
1189 static void encode_getattr_one(struct xdr_stream *xdr, uint32_t bitmap, struct compound_hdr *hdr) in encode_getattr_one() argument
1193 encode_op_hdr(xdr, OP_GETATTR, decode_getattr_maxsz, hdr); in encode_getattr_one()
1194 p = reserve_space(xdr, 8); in encode_getattr_one()
1199 static void encode_getattr_two(struct xdr_stream *xdr, uint32_t bm0, uint32_t bm1, struct compound_… in encode_getattr_two() argument
1203 encode_op_hdr(xdr, OP_GETATTR, decode_getattr_maxsz, hdr); in encode_getattr_two()
1204 p = reserve_space(xdr, 12); in encode_getattr_two()
1211 encode_getattr_three(struct xdr_stream *xdr, in encode_getattr_three() argument
1217 encode_op_hdr(xdr, OP_GETATTR, decode_getattr_maxsz, hdr); in encode_getattr_three()
1219 p = reserve_space(xdr, 16); in encode_getattr_three()
1225 p = reserve_space(xdr, 12); in encode_getattr_three()
1230 p = reserve_space(xdr, 8); in encode_getattr_three()
1236 static void encode_getfattr(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) in encode_getfattr() argument
1238 encode_getattr_three(xdr, bitmask[0] & nfs4_fattr_bitmap[0], in encode_getfattr()
1244 static void encode_getfattr_open(struct xdr_stream *xdr, const u32 *bitmask, in encode_getfattr_open() argument
1248 encode_getattr_three(xdr, in encode_getfattr_open()
1255 static void encode_fsinfo(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) in encode_fsinfo() argument
1257 encode_getattr_three(xdr, in encode_fsinfo()
1264 static void encode_fs_locations(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hd… in encode_fs_locations() argument
1266 encode_getattr_two(xdr, bitmask[0] & nfs4_fs_locations_bitmap[0], in encode_fs_locations()
1270 static void encode_getfh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_getfh() argument
1272 encode_op_hdr(xdr, OP_GETFH, decode_getfh_maxsz, hdr); in encode_getfh()
1275 static void encode_link(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) in encode_link() argument
1277 encode_op_hdr(xdr, OP_LINK, decode_link_maxsz, hdr); in encode_link()
1278 encode_string(xdr, name->len, name->name); in encode_link()
1295 static void encode_lockowner(struct xdr_stream *xdr, const struct nfs_lowner *lowner) in encode_lockowner() argument
1299 p = reserve_space(xdr, 32); in encode_lockowner()
1311 static void encode_lock(struct xdr_stream *xdr, const struct nfs_lock_args *args, struct compound_h… in encode_lock() argument
1315 encode_op_hdr(xdr, OP_LOCK, decode_lock_maxsz, hdr); in encode_lock()
1316 p = reserve_space(xdr, 28); in encode_lock()
1323 encode_nfs4_seqid(xdr, args->open_seqid); in encode_lock()
1324 encode_nfs4_stateid(xdr, &args->open_stateid); in encode_lock()
1325 encode_nfs4_seqid(xdr, args->lock_seqid); in encode_lock()
1326 encode_lockowner(xdr, &args->lock_owner); in encode_lock()
1329 encode_nfs4_stateid(xdr, &args->lock_stateid); in encode_lock()
1330 encode_nfs4_seqid(xdr, args->lock_seqid); in encode_lock()
1334 static void encode_lockt(struct xdr_stream *xdr, const struct nfs_lockt_args *args, struct compound… in encode_lockt() argument
1338 encode_op_hdr(xdr, OP_LOCKT, decode_lockt_maxsz, hdr); in encode_lockt()
1339 p = reserve_space(xdr, 20); in encode_lockt()
1343 encode_lockowner(xdr, &args->lock_owner); in encode_lockt()
1346 static void encode_locku(struct xdr_stream *xdr, const struct nfs_locku_args *args, struct compound… in encode_locku() argument
1350 encode_op_hdr(xdr, OP_LOCKU, decode_locku_maxsz, hdr); in encode_locku()
1351 encode_uint32(xdr, nfs4_lock_type(args->fl, 0)); in encode_locku()
1352 encode_nfs4_seqid(xdr, args->seqid); in encode_locku()
1353 encode_nfs4_stateid(xdr, &args->stateid); in encode_locku()
1354 p = reserve_space(xdr, 16); in encode_locku()
1359 static void encode_release_lockowner(struct xdr_stream *xdr, const struct nfs_lowner *lowner, struc… in encode_release_lockowner() argument
1361 encode_op_hdr(xdr, OP_RELEASE_LOCKOWNER, decode_release_lockowner_maxsz, hdr); in encode_release_lockowner()
1362 encode_lockowner(xdr, lowner); in encode_release_lockowner()
1365 static void encode_lookup(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) in encode_lookup() argument
1367 encode_op_hdr(xdr, OP_LOOKUP, decode_lookup_maxsz, hdr); in encode_lookup()
1368 encode_string(xdr, name->len, name->name); in encode_lookup()
1371 static void encode_share_access(struct xdr_stream *xdr, u32 share_access) in encode_share_access() argument
1375 p = reserve_space(xdr, 8); in encode_share_access()
1380 static inline void encode_openhdr(struct xdr_stream *xdr, const struct nfs_openargs *arg) in encode_openhdr() argument
1387 encode_nfs4_seqid(xdr, arg->seqid); in encode_openhdr()
1388 encode_share_access(xdr, arg->share_access); in encode_openhdr()
1389 p = reserve_space(xdr, 36); in encode_openhdr()
1398 static inline void encode_createmode(struct xdr_stream *xdr, const struct nfs_openargs *arg) in encode_createmode() argument
1402 p = reserve_space(xdr, 4); in encode_createmode()
1406 encode_attrs(xdr, arg->u.attrs, arg->label, arg->server, false); in encode_createmode()
1410 encode_attrs(xdr, arg->u.attrs, arg->label, arg->server, false); in encode_createmode()
1414 encode_nfs4_verifier(xdr, &arg->u.verifier); in encode_createmode()
1418 encode_nfs4_verifier(xdr, &arg->u.verifier); in encode_createmode()
1419 encode_attrs(xdr, arg->u.attrs, arg->label, arg->server, true); in encode_createmode()
1423 static void encode_opentype(struct xdr_stream *xdr, const struct nfs_openargs *arg) in encode_opentype() argument
1427 p = reserve_space(xdr, 4); in encode_opentype()
1434 encode_createmode(xdr, arg); in encode_opentype()
1438 static inline void encode_delegation_type(struct xdr_stream *xdr, fmode_t delegation_type) in encode_delegation_type() argument
1442 p = reserve_space(xdr, 4); in encode_delegation_type()
1458 static inline void encode_claim_null(struct xdr_stream *xdr, const struct qstr *name) in encode_claim_null() argument
1462 p = reserve_space(xdr, 4); in encode_claim_null()
1464 encode_string(xdr, name->len, name->name); in encode_claim_null()
1467 static inline void encode_claim_previous(struct xdr_stream *xdr, fmode_t type) in encode_claim_previous() argument
1471 p = reserve_space(xdr, 4); in encode_claim_previous()
1473 encode_delegation_type(xdr, type); in encode_claim_previous()
1476 static inline void encode_claim_delegate_cur(struct xdr_stream *xdr, const struct qstr *name, const… in encode_claim_delegate_cur() argument
1480 p = reserve_space(xdr, 4); in encode_claim_delegate_cur()
1482 encode_nfs4_stateid(xdr, stateid); in encode_claim_delegate_cur()
1483 encode_string(xdr, name->len, name->name); in encode_claim_delegate_cur()
1486 static inline void encode_claim_fh(struct xdr_stream *xdr) in encode_claim_fh() argument
1490 p = reserve_space(xdr, 4); in encode_claim_fh()
1494 static inline void encode_claim_delegate_cur_fh(struct xdr_stream *xdr, const nfs4_stateid *stateid) in encode_claim_delegate_cur_fh() argument
1498 p = reserve_space(xdr, 4); in encode_claim_delegate_cur_fh()
1500 encode_nfs4_stateid(xdr, stateid); in encode_claim_delegate_cur_fh()
1503 static void encode_open(struct xdr_stream *xdr, const struct nfs_openargs *arg, struct compound_hdr… in encode_open() argument
1505 encode_op_hdr(xdr, OP_OPEN, decode_open_maxsz, hdr); in encode_open()
1506 encode_openhdr(xdr, arg); in encode_open()
1507 encode_opentype(xdr, arg); in encode_open()
1510 encode_claim_null(xdr, arg->name); in encode_open()
1513 encode_claim_previous(xdr, arg->u.delegation_type); in encode_open()
1516 encode_claim_delegate_cur(xdr, arg->name, &arg->u.delegation); in encode_open()
1519 encode_claim_fh(xdr); in encode_open()
1522 encode_claim_delegate_cur_fh(xdr, &arg->u.delegation); in encode_open()
1529 static void encode_open_confirm(struct xdr_stream *xdr, const struct nfs_open_confirmargs *arg, str… in encode_open_confirm() argument
1531 encode_op_hdr(xdr, OP_OPEN_CONFIRM, decode_open_confirm_maxsz, hdr); in encode_open_confirm()
1532 encode_nfs4_stateid(xdr, arg->stateid); in encode_open_confirm()
1533 encode_nfs4_seqid(xdr, arg->seqid); in encode_open_confirm()
1536 static void encode_open_downgrade(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct c… in encode_open_downgrade() argument
1538 encode_op_hdr(xdr, OP_OPEN_DOWNGRADE, decode_open_downgrade_maxsz, hdr); in encode_open_downgrade()
1539 encode_nfs4_stateid(xdr, &arg->stateid); in encode_open_downgrade()
1540 encode_nfs4_seqid(xdr, arg->seqid); in encode_open_downgrade()
1541 encode_share_access(xdr, arg->share_access); in encode_open_downgrade()
1545 encode_putfh(struct xdr_stream *xdr, const struct nfs_fh *fh, struct compound_hdr *hdr) in encode_putfh() argument
1547 encode_op_hdr(xdr, OP_PUTFH, decode_putfh_maxsz, hdr); in encode_putfh()
1548 encode_string(xdr, fh->size, fh->data); in encode_putfh()
1551 static void encode_putrootfh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_putrootfh() argument
1553 encode_op_hdr(xdr, OP_PUTROOTFH, decode_putrootfh_maxsz, hdr); in encode_putrootfh()
1556 static void encode_read(struct xdr_stream *xdr, const struct nfs_pgio_args *args, in encode_read() argument
1561 encode_op_hdr(xdr, OP_READ, decode_read_maxsz, hdr); in encode_read()
1562 encode_nfs4_stateid(xdr, &args->stateid); in encode_read()
1564 p = reserve_space(xdr, 12); in encode_read()
1569 static void encode_readdir(struct xdr_stream *xdr, const struct nfs4_readdir_arg *readdir, struct r… in encode_readdir() argument
1599 encode_op_hdr(xdr, OP_READDIR, decode_readdir_maxsz, hdr); in encode_readdir()
1600 encode_uint64(xdr, readdir->cookie); in encode_readdir()
1601 encode_nfs4_verifier(xdr, &readdir->verifier); in encode_readdir()
1602 p = reserve_space(xdr, 12 + (attrlen << 2)); in encode_readdir()
1619 static void encode_readlink(struct xdr_stream *xdr, const struct nfs4_readlink *readlink, struct rp… in encode_readlink() argument
1621 encode_op_hdr(xdr, OP_READLINK, decode_readlink_maxsz, hdr); in encode_readlink()
1624 static void encode_remove(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) in encode_remove() argument
1626 encode_op_hdr(xdr, OP_REMOVE, decode_remove_maxsz, hdr); in encode_remove()
1627 encode_string(xdr, name->len, name->name); in encode_remove()
1630 static void encode_rename(struct xdr_stream *xdr, const struct qstr *oldname, const struct qstr *ne… in encode_rename() argument
1632 encode_op_hdr(xdr, OP_RENAME, decode_rename_maxsz, hdr); in encode_rename()
1633 encode_string(xdr, oldname->len, oldname->name); in encode_rename()
1634 encode_string(xdr, newname->len, newname->name); in encode_rename()
1637 static void encode_renew(struct xdr_stream *xdr, clientid4 clid, in encode_renew() argument
1640 encode_op_hdr(xdr, OP_RENEW, decode_renew_maxsz, hdr); in encode_renew()
1641 encode_uint64(xdr, clid); in encode_renew()
1645 encode_restorefh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_restorefh() argument
1647 encode_op_hdr(xdr, OP_RESTOREFH, decode_restorefh_maxsz, hdr); in encode_restorefh()
1651 encode_setacl(struct xdr_stream *xdr, struct nfs_setaclargs *arg, struct compound_hdr *hdr) in encode_setacl() argument
1655 encode_op_hdr(xdr, OP_SETATTR, decode_setacl_maxsz, hdr); in encode_setacl()
1656 encode_nfs4_stateid(xdr, &zero_stateid); in encode_setacl()
1657 p = reserve_space(xdr, 2*4); in encode_setacl()
1660 p = reserve_space(xdr, 4); in encode_setacl()
1662 xdr_write_pages(xdr, arg->acl_pages, 0, arg->acl_len); in encode_setacl()
1666 encode_savefh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_savefh() argument
1668 encode_op_hdr(xdr, OP_SAVEFH, decode_savefh_maxsz, hdr); in encode_savefh()
1671 static void encode_setattr(struct xdr_stream *xdr, const struct nfs_setattrargs *arg, const struct … in encode_setattr() argument
1673 encode_op_hdr(xdr, OP_SETATTR, decode_setattr_maxsz, hdr); in encode_setattr()
1674 encode_nfs4_stateid(xdr, &arg->stateid); in encode_setattr()
1675 encode_attrs(xdr, arg->iap, arg->label, server, false); in encode_setattr()
1678 static void encode_setclientid(struct xdr_stream *xdr, const struct nfs4_setclientid *setclientid, … in encode_setclientid() argument
1682 encode_op_hdr(xdr, OP_SETCLIENTID, decode_setclientid_maxsz, hdr); in encode_setclientid()
1683 encode_nfs4_verifier(xdr, setclientid->sc_verifier); in encode_setclientid()
1685 encode_string(xdr, strlen(setclientid->sc_clnt->cl_owner_id), in encode_setclientid()
1687 p = reserve_space(xdr, 4); in encode_setclientid()
1689 encode_string(xdr, setclientid->sc_netid_len, setclientid->sc_netid); in encode_setclientid()
1690 encode_string(xdr, setclientid->sc_uaddr_len, setclientid->sc_uaddr); in encode_setclientid()
1691 p = reserve_space(xdr, 4); in encode_setclientid()
1695 static void encode_setclientid_confirm(struct xdr_stream *xdr, const struct nfs4_setclientid_res *a… in encode_setclientid_confirm() argument
1697 encode_op_hdr(xdr, OP_SETCLIENTID_CONFIRM, in encode_setclientid_confirm()
1699 encode_uint64(xdr, arg->clientid); in encode_setclientid_confirm()
1700 encode_nfs4_verifier(xdr, &arg->confirm); in encode_setclientid_confirm()
1703 static void encode_write(struct xdr_stream *xdr, const struct nfs_pgio_args *args, in encode_write() argument
1708 encode_op_hdr(xdr, OP_WRITE, decode_write_maxsz, hdr); in encode_write()
1709 encode_nfs4_stateid(xdr, &args->stateid); in encode_write()
1711 p = reserve_space(xdr, 16); in encode_write()
1716 xdr_write_pages(xdr, args->pages, args->pgbase, args->count); in encode_write()
1719 static void encode_delegreturn(struct xdr_stream *xdr, const nfs4_stateid *stateid, struct compound… in encode_delegreturn() argument
1721 encode_op_hdr(xdr, OP_DELEGRETURN, decode_delegreturn_maxsz, hdr); in encode_delegreturn()
1722 encode_nfs4_stateid(xdr, stateid); in encode_delegreturn()
1725 static void encode_secinfo(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hd… in encode_secinfo() argument
1727 encode_op_hdr(xdr, OP_SECINFO, decode_secinfo_maxsz, hdr); in encode_secinfo()
1728 encode_string(xdr, name->len, name->name); in encode_secinfo()
1733 static void encode_bind_conn_to_session(struct xdr_stream *xdr, in encode_bind_conn_to_session() argument
1739 encode_op_hdr(xdr, OP_BIND_CONN_TO_SESSION, in encode_bind_conn_to_session()
1741 encode_opaque_fixed(xdr, args->sessionid.data, NFS4_MAX_SESSIONID_LEN); in encode_bind_conn_to_session()
1742 p = xdr_reserve_space(xdr, 8); in encode_bind_conn_to_session()
1747 static void encode_op_map(struct xdr_stream *xdr, struct nfs4_op_map *op_map) in encode_op_map() argument
1750 encode_uint32(xdr, NFS4_OP_MAP_NUM_WORDS); in encode_op_map()
1752 encode_uint32(xdr, op_map->u.words[i]); in encode_op_map()
1755 static void encode_exchange_id(struct xdr_stream *xdr, in encode_exchange_id() argument
1763 encode_op_hdr(xdr, OP_EXCHANGE_ID, decode_exchange_id_maxsz, hdr); in encode_exchange_id()
1764 encode_nfs4_verifier(xdr, args->verifier); in encode_exchange_id()
1766 encode_string(xdr, strlen(args->client->cl_owner_id), in encode_exchange_id()
1769 encode_uint32(xdr, args->flags); in encode_exchange_id()
1770 encode_uint32(xdr, args->state_protect.how); in encode_exchange_id()
1776 encode_op_map(xdr, &args->state_protect.enforce); in encode_exchange_id()
1777 encode_op_map(xdr, &args->state_protect.allow); in encode_exchange_id()
1793 encode_uint32(xdr, 1); /* implementation id array length=1 */ in encode_exchange_id()
1795 encode_string(xdr, in encode_exchange_id()
1798 encode_string(xdr, len, impl_name); in encode_exchange_id()
1800 p = reserve_space(xdr, 12); in encode_exchange_id()
1804 encode_uint32(xdr, 0); /* implementation id array length=0 */ in encode_exchange_id()
1807 static void encode_create_session(struct xdr_stream *xdr, in encode_create_session() argument
1824 encode_op_hdr(xdr, OP_CREATE_SESSION, decode_create_session_maxsz, hdr); in encode_create_session()
1825 p = reserve_space(xdr, 16 + 2*28 + 20 + clnt->cl_nodelen + 12); in encode_create_session()
1860 static void encode_destroy_session(struct xdr_stream *xdr, in encode_destroy_session() argument
1864 encode_op_hdr(xdr, OP_DESTROY_SESSION, decode_destroy_session_maxsz, hdr); in encode_destroy_session()
1865 encode_opaque_fixed(xdr, session->sess_id.data, NFS4_MAX_SESSIONID_LEN); in encode_destroy_session()
1868 static void encode_destroy_clientid(struct xdr_stream *xdr, in encode_destroy_clientid() argument
1872 encode_op_hdr(xdr, OP_DESTROY_CLIENTID, decode_destroy_clientid_maxsz, hdr); in encode_destroy_clientid()
1873 encode_uint64(xdr, clientid); in encode_destroy_clientid()
1876 static void encode_reclaim_complete(struct xdr_stream *xdr, in encode_reclaim_complete() argument
1880 encode_op_hdr(xdr, OP_RECLAIM_COMPLETE, decode_reclaim_complete_maxsz, hdr); in encode_reclaim_complete()
1881 encode_uint32(xdr, args->one_fs); in encode_reclaim_complete()
1885 static void encode_sequence(struct xdr_stream *xdr, in encode_sequence() argument
1900 encode_op_hdr(xdr, OP_SEQUENCE, decode_sequence_maxsz, hdr); in encode_sequence()
1914 p = reserve_space(xdr, NFS4_MAX_SESSIONID_LEN + 16); in encode_sequence()
1925 encode_getdeviceinfo(struct xdr_stream *xdr, in encode_getdeviceinfo() argument
1931 encode_op_hdr(xdr, OP_GETDEVICEINFO, decode_getdeviceinfo_maxsz, hdr); in encode_getdeviceinfo()
1932 p = reserve_space(xdr, NFS4_DEVICEID4_SIZE + 4 + 4); in encode_getdeviceinfo()
1938 p = reserve_space(xdr, 4 + 4); in encode_getdeviceinfo()
1944 encode_layoutget(struct xdr_stream *xdr, in encode_layoutget() argument
1950 encode_op_hdr(xdr, OP_LAYOUTGET, decode_layoutget_maxsz, hdr); in encode_layoutget()
1951 p = reserve_space(xdr, 36); in encode_layoutget()
1958 encode_nfs4_stateid(xdr, &args->stateid); in encode_layoutget()
1959 encode_uint32(xdr, args->maxcount); in encode_layoutget()
1971 encode_layoutcommit(struct xdr_stream *xdr, in encode_layoutcommit() argument
1981 encode_op_hdr(xdr, OP_LAYOUTCOMMIT, decode_layoutcommit_maxsz, hdr); in encode_layoutcommit()
1982 p = reserve_space(xdr, 20); in encode_layoutcommit()
1987 encode_nfs4_stateid(xdr, &args->stateid); in encode_layoutcommit()
1988 p = reserve_space(xdr, 20); in encode_layoutcommit()
1996 NFS_I(inode)->layout, xdr, args); in encode_layoutcommit()
1998 encode_uint32(xdr, args->layoutupdate_len); in encode_layoutcommit()
2000 xdr_write_pages(xdr, args->layoutupdate_pages, 0, in encode_layoutcommit()
2009 encode_layoutreturn(struct xdr_stream *xdr, in encode_layoutreturn() argument
2015 encode_op_hdr(xdr, OP_LAYOUTRETURN, decode_layoutreturn_maxsz, hdr); in encode_layoutreturn()
2016 p = reserve_space(xdr, 16); in encode_layoutreturn()
2021 p = reserve_space(xdr, 16); in encode_layoutreturn()
2025 encode_nfs4_stateid(xdr, &args->stateid); in encode_layoutreturn()
2029 NFS_I(args->inode)->layout, xdr, args); in encode_layoutreturn()
2031 encode_uint32(xdr, 0); in encode_layoutreturn()
2035 encode_secinfo_no_name(struct xdr_stream *xdr, in encode_secinfo_no_name() argument
2039 encode_op_hdr(xdr, OP_SECINFO_NO_NAME, decode_secinfo_no_name_maxsz, hdr); in encode_secinfo_no_name()
2040 encode_uint32(xdr, args->style); in encode_secinfo_no_name()
2044 static void encode_test_stateid(struct xdr_stream *xdr, in encode_test_stateid() argument
2048 encode_op_hdr(xdr, OP_TEST_STATEID, decode_test_stateid_maxsz, hdr); in encode_test_stateid()
2049 encode_uint32(xdr, 1); in encode_test_stateid()
2050 encode_nfs4_stateid(xdr, args->stateid); in encode_test_stateid()
2053 static void encode_free_stateid(struct xdr_stream *xdr, in encode_free_stateid() argument
2057 encode_op_hdr(xdr, OP_FREE_STATEID, decode_free_stateid_maxsz, hdr); in encode_free_stateid()
2058 encode_nfs4_stateid(xdr, &args->stateid); in encode_free_stateid()
2079 static void nfs4_xdr_enc_access(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_access() argument
2086 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_access()
2087 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_access()
2088 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_access()
2089 encode_access(xdr, args->access, &hdr); in nfs4_xdr_enc_access()
2090 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_access()
2097 static void nfs4_xdr_enc_lookup(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_lookup() argument
2104 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lookup()
2105 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lookup()
2106 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_lookup()
2107 encode_lookup(xdr, args->name, &hdr); in nfs4_xdr_enc_lookup()
2108 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_lookup()
2109 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_lookup()
2117 struct xdr_stream *xdr, in nfs4_xdr_enc_lookup_root() argument
2124 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lookup_root()
2125 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lookup_root()
2126 encode_putrootfh(xdr, &hdr); in nfs4_xdr_enc_lookup_root()
2127 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_lookup_root()
2128 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_lookup_root()
2135 static void nfs4_xdr_enc_remove(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_remove() argument
2142 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_remove()
2143 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_remove()
2144 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_remove()
2145 encode_remove(xdr, &args->name, &hdr); in nfs4_xdr_enc_remove()
2152 static void nfs4_xdr_enc_rename(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_rename() argument
2159 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_rename()
2160 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_rename()
2161 encode_putfh(xdr, args->old_dir, &hdr); in nfs4_xdr_enc_rename()
2162 encode_savefh(xdr, &hdr); in nfs4_xdr_enc_rename()
2163 encode_putfh(xdr, args->new_dir, &hdr); in nfs4_xdr_enc_rename()
2164 encode_rename(xdr, args->old_name, args->new_name, &hdr); in nfs4_xdr_enc_rename()
2171 static void nfs4_xdr_enc_link(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_link() argument
2178 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_link()
2179 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_link()
2180 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_link()
2181 encode_savefh(xdr, &hdr); in nfs4_xdr_enc_link()
2182 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_link()
2183 encode_link(xdr, args->name, &hdr); in nfs4_xdr_enc_link()
2184 encode_restorefh(xdr, &hdr); in nfs4_xdr_enc_link()
2185 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_link()
2192 static void nfs4_xdr_enc_create(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_create() argument
2199 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_create()
2200 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_create()
2201 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_create()
2202 encode_create(xdr, args, &hdr); in nfs4_xdr_enc_create()
2203 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_create()
2204 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_create()
2211 static void nfs4_xdr_enc_symlink(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_symlink() argument
2214 nfs4_xdr_enc_create(req, xdr, args); in nfs4_xdr_enc_symlink()
2220 static void nfs4_xdr_enc_getattr(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_getattr() argument
2227 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_getattr()
2228 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_getattr()
2229 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_getattr()
2230 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_getattr()
2237 static void nfs4_xdr_enc_close(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_close() argument
2244 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_close()
2245 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_close()
2246 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_close()
2247 encode_close(xdr, args, &hdr); in nfs4_xdr_enc_close()
2248 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_close()
2255 static void nfs4_xdr_enc_open(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_open() argument
2262 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open()
2263 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_open()
2264 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open()
2265 encode_open(xdr, args, &hdr); in nfs4_xdr_enc_open()
2266 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_open()
2268 encode_access(xdr, args->access, &hdr); in nfs4_xdr_enc_open()
2269 encode_getfattr_open(xdr, args->bitmask, args->open_bitmap, &hdr); in nfs4_xdr_enc_open()
2277 struct xdr_stream *xdr, in nfs4_xdr_enc_open_confirm() argument
2284 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open_confirm()
2285 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open_confirm()
2286 encode_open_confirm(xdr, args, &hdr); in nfs4_xdr_enc_open_confirm()
2294 struct xdr_stream *xdr, in nfs4_xdr_enc_open_noattr() argument
2301 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open_noattr()
2302 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_open_noattr()
2303 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open_noattr()
2304 encode_open(xdr, args, &hdr); in nfs4_xdr_enc_open_noattr()
2306 encode_access(xdr, args->access, &hdr); in nfs4_xdr_enc_open_noattr()
2307 encode_getfattr_open(xdr, args->bitmask, args->open_bitmap, &hdr); in nfs4_xdr_enc_open_noattr()
2315 struct xdr_stream *xdr, in nfs4_xdr_enc_open_downgrade() argument
2322 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open_downgrade()
2323 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_open_downgrade()
2324 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open_downgrade()
2325 encode_open_downgrade(xdr, args, &hdr); in nfs4_xdr_enc_open_downgrade()
2326 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_open_downgrade()
2333 static void nfs4_xdr_enc_lock(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_lock() argument
2340 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lock()
2341 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lock()
2342 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_lock()
2343 encode_lock(xdr, args, &hdr); in nfs4_xdr_enc_lock()
2350 static void nfs4_xdr_enc_lockt(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_lockt() argument
2357 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lockt()
2358 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lockt()
2359 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_lockt()
2360 encode_lockt(xdr, args, &hdr); in nfs4_xdr_enc_lockt()
2367 static void nfs4_xdr_enc_locku(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_locku() argument
2374 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_locku()
2375 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_locku()
2376 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_locku()
2377 encode_locku(xdr, args, &hdr); in nfs4_xdr_enc_locku()
2382 struct xdr_stream *xdr, in nfs4_xdr_enc_release_lockowner() argument
2389 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_release_lockowner()
2390 encode_release_lockowner(xdr, &args->lock_owner, &hdr); in nfs4_xdr_enc_release_lockowner()
2397 static void nfs4_xdr_enc_readlink(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_readlink() argument
2404 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_readlink()
2405 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_readlink()
2406 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_readlink()
2407 encode_readlink(xdr, args, req, &hdr); in nfs4_xdr_enc_readlink()
2417 static void nfs4_xdr_enc_readdir(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_readdir() argument
2424 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_readdir()
2425 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_readdir()
2426 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_readdir()
2427 encode_readdir(xdr, args, req, &hdr); in nfs4_xdr_enc_readdir()
2440 static void nfs4_xdr_enc_read(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_read() argument
2447 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_read()
2448 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_read()
2449 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_read()
2450 encode_read(xdr, args, &hdr); in nfs4_xdr_enc_read()
2461 static void nfs4_xdr_enc_setattr(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_setattr() argument
2468 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setattr()
2469 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_setattr()
2470 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_setattr()
2471 encode_setattr(xdr, args, args->server, &hdr); in nfs4_xdr_enc_setattr()
2472 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_setattr()
2479 static void nfs4_xdr_enc_getacl(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_getacl() argument
2487 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_getacl()
2488 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_getacl()
2489 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_getacl()
2491 encode_getattr_two(xdr, FATTR4_WORD0_ACL, 0, &hdr); in nfs4_xdr_enc_getacl()
2502 static void nfs4_xdr_enc_write(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_write() argument
2509 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_write()
2510 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_write()
2511 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_write()
2512 encode_write(xdr, args, &hdr); in nfs4_xdr_enc_write()
2515 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_write()
2522 static void nfs4_xdr_enc_commit(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_commit() argument
2529 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_commit()
2530 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_commit()
2531 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_commit()
2532 encode_commit(xdr, args, &hdr); in nfs4_xdr_enc_commit()
2539 static void nfs4_xdr_enc_fsinfo(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_fsinfo() argument
2546 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_fsinfo()
2547 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_fsinfo()
2548 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_fsinfo()
2549 encode_fsinfo(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_fsinfo()
2556 static void nfs4_xdr_enc_pathconf(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_pathconf() argument
2563 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_pathconf()
2564 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_pathconf()
2565 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_pathconf()
2566 encode_getattr_one(xdr, args->bitmask[0] & nfs4_pathconf_bitmap[0], in nfs4_xdr_enc_pathconf()
2574 static void nfs4_xdr_enc_statfs(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_statfs() argument
2581 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_statfs()
2582 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_statfs()
2583 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_statfs()
2584 encode_getattr_two(xdr, args->bitmask[0] & nfs4_statfs_bitmap[0], in nfs4_xdr_enc_statfs()
2593 struct xdr_stream *xdr, in nfs4_xdr_enc_server_caps() argument
2601 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_server_caps()
2602 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_server_caps()
2603 encode_putfh(xdr, args->fhandle, &hdr); in nfs4_xdr_enc_server_caps()
2604 encode_getattr_three(xdr, bitmask[0], bitmask[1], bitmask[2], &hdr); in nfs4_xdr_enc_server_caps()
2611 static void nfs4_xdr_enc_renew(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_renew() argument
2618 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_renew()
2619 encode_renew(xdr, clp->cl_clientid, &hdr); in nfs4_xdr_enc_renew()
2627 struct xdr_stream *xdr, in nfs4_xdr_enc_setclientid() argument
2634 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setclientid()
2635 encode_setclientid(xdr, sc, &hdr); in nfs4_xdr_enc_setclientid()
2643 struct xdr_stream *xdr, in nfs4_xdr_enc_setclientid_confirm() argument
2650 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setclientid_confirm()
2651 encode_setclientid_confirm(xdr, arg, &hdr); in nfs4_xdr_enc_setclientid_confirm()
2659 struct xdr_stream *xdr, in nfs4_xdr_enc_delegreturn() argument
2666 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_delegreturn()
2667 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_delegreturn()
2668 encode_putfh(xdr, args->fhandle, &hdr); in nfs4_xdr_enc_delegreturn()
2669 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_delegreturn()
2670 encode_delegreturn(xdr, args->stateid, &hdr); in nfs4_xdr_enc_delegreturn()
2678 struct xdr_stream *xdr, in nfs4_xdr_enc_fs_locations() argument
2686 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_fs_locations()
2687 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_fs_locations()
2689 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_fs_locations()
2691 encode_fs_locations(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_fs_locations()
2693 encode_renew(xdr, args->clientid, &hdr); in nfs4_xdr_enc_fs_locations()
2695 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_fs_locations()
2696 encode_lookup(xdr, args->name, &hdr); in nfs4_xdr_enc_fs_locations()
2698 encode_fs_locations(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_fs_locations()
2711 struct xdr_stream *xdr, in nfs4_xdr_enc_secinfo() argument
2718 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_secinfo()
2719 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_secinfo()
2720 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_secinfo()
2721 encode_secinfo(xdr, args->name, &hdr); in nfs4_xdr_enc_secinfo()
2729 struct xdr_stream *xdr, in nfs4_xdr_enc_fsid_present() argument
2736 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_fsid_present()
2737 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_fsid_present()
2738 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_fsid_present()
2739 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_fsid_present()
2741 encode_renew(xdr, args->clientid, &hdr); in nfs4_xdr_enc_fsid_present()
2750 struct xdr_stream *xdr, in nfs4_xdr_enc_bind_conn_to_session() argument
2757 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_bind_conn_to_session()
2758 encode_bind_conn_to_session(xdr, args, &hdr); in nfs4_xdr_enc_bind_conn_to_session()
2766 struct xdr_stream *xdr, in nfs4_xdr_enc_exchange_id() argument
2773 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_exchange_id()
2774 encode_exchange_id(xdr, args, &hdr); in nfs4_xdr_enc_exchange_id()
2782 struct xdr_stream *xdr, in nfs4_xdr_enc_create_session() argument
2789 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_create_session()
2790 encode_create_session(xdr, args, &hdr); in nfs4_xdr_enc_create_session()
2798 struct xdr_stream *xdr, in nfs4_xdr_enc_destroy_session() argument
2805 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_destroy_session()
2806 encode_destroy_session(xdr, session, &hdr); in nfs4_xdr_enc_destroy_session()
2814 struct xdr_stream *xdr, in nfs4_xdr_enc_destroy_clientid() argument
2821 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_destroy_clientid()
2822 encode_destroy_clientid(xdr, clp->cl_clientid, &hdr); in nfs4_xdr_enc_destroy_clientid()
2829 static void nfs4_xdr_enc_sequence(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_sequence() argument
2836 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_sequence()
2837 encode_sequence(xdr, args, &hdr); in nfs4_xdr_enc_sequence()
2845 struct xdr_stream *xdr, in nfs4_xdr_enc_get_lease_time() argument
2853 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_get_lease_time()
2854 encode_sequence(xdr, &args->la_seq_args, &hdr); in nfs4_xdr_enc_get_lease_time()
2855 encode_putrootfh(xdr, &hdr); in nfs4_xdr_enc_get_lease_time()
2856 encode_fsinfo(xdr, lease_bitmap, &hdr); in nfs4_xdr_enc_get_lease_time()
2864 struct xdr_stream *xdr, in nfs4_xdr_enc_reclaim_complete() argument
2871 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_reclaim_complete()
2872 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_reclaim_complete()
2873 encode_reclaim_complete(xdr, args, &hdr); in nfs4_xdr_enc_reclaim_complete()
2881 struct xdr_stream *xdr, in nfs4_xdr_enc_getdeviceinfo() argument
2888 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_getdeviceinfo()
2889 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_getdeviceinfo()
2890 encode_getdeviceinfo(xdr, args, &hdr); in nfs4_xdr_enc_getdeviceinfo()
2905 struct xdr_stream *xdr, in nfs4_xdr_enc_layoutget() argument
2912 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_layoutget()
2913 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_layoutget()
2914 encode_putfh(xdr, NFS_FH(args->inode), &hdr); in nfs4_xdr_enc_layoutget()
2915 encode_layoutget(xdr, args, &hdr); in nfs4_xdr_enc_layoutget()
2927 struct xdr_stream *xdr, in nfs4_xdr_enc_layoutcommit() argument
2936 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_layoutcommit()
2937 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_layoutcommit()
2938 encode_putfh(xdr, NFS_FH(args->inode), &hdr); in nfs4_xdr_enc_layoutcommit()
2939 encode_layoutcommit(xdr, data->args.inode, args, &hdr); in nfs4_xdr_enc_layoutcommit()
2940 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_layoutcommit()
2948 struct xdr_stream *xdr, in nfs4_xdr_enc_layoutreturn() argument
2955 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_layoutreturn()
2956 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_layoutreturn()
2957 encode_putfh(xdr, NFS_FH(args->inode), &hdr); in nfs4_xdr_enc_layoutreturn()
2958 encode_layoutreturn(xdr, args, &hdr); in nfs4_xdr_enc_layoutreturn()
2966 struct xdr_stream *xdr, in nfs4_xdr_enc_secinfo_no_name() argument
2973 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_secinfo_no_name()
2974 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_secinfo_no_name()
2975 encode_putrootfh(xdr, &hdr); in nfs4_xdr_enc_secinfo_no_name()
2976 encode_secinfo_no_name(xdr, args, &hdr); in nfs4_xdr_enc_secinfo_no_name()
2985 struct xdr_stream *xdr, in nfs4_xdr_enc_test_stateid() argument
2992 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_test_stateid()
2993 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_test_stateid()
2994 encode_test_stateid(xdr, args, &hdr); in nfs4_xdr_enc_test_stateid()
3002 struct xdr_stream *xdr, in nfs4_xdr_enc_free_stateid() argument
3009 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_free_stateid()
3010 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_free_stateid()
3011 encode_free_stateid(xdr, args, &hdr); in nfs4_xdr_enc_free_stateid()
3016 static void print_overflow_msg(const char *func, const struct xdr_stream *xdr) in print_overflow_msg() argument
3020 func, xdr->end - xdr->p); in print_overflow_msg()
3023 static int decode_opaque_inline(struct xdr_stream *xdr, unsigned int *len, char **string) in decode_opaque_inline() argument
3027 p = xdr_inline_decode(xdr, 4); in decode_opaque_inline()
3031 p = xdr_inline_decode(xdr, *len); in decode_opaque_inline()
3037 print_overflow_msg(__func__, xdr); in decode_opaque_inline()
3041 static int decode_compound_hdr(struct xdr_stream *xdr, struct compound_hdr *hdr) in decode_compound_hdr() argument
3045 p = xdr_inline_decode(xdr, 8); in decode_compound_hdr()
3051 p = xdr_inline_decode(xdr, hdr->taglen + 4); in decode_compound_hdr()
3061 print_overflow_msg(__func__, xdr); in decode_compound_hdr()
3065 static bool __decode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 expected, in __decode_op_hdr() argument
3072 p = xdr_inline_decode(xdr, 8); in __decode_op_hdr()
3091 print_overflow_msg(__func__, xdr); in __decode_op_hdr()
3096 static int decode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 expected) in decode_op_hdr() argument
3100 __decode_op_hdr(xdr, expected, &retval); in decode_op_hdr()
3105 static int decode_ace(struct xdr_stream *xdr, void *ace, struct nfs_client *clp) in decode_ace() argument
3111 p = xdr_inline_decode(xdr, 12); in decode_ace()
3113 return decode_opaque_inline(xdr, &strlen, &str); in decode_ace()
3114 print_overflow_msg(__func__, xdr); in decode_ace()
3118 static int decode_attr_bitmap(struct xdr_stream *xdr, uint32_t *bitmap) in decode_attr_bitmap() argument
3123 p = xdr_inline_decode(xdr, 4); in decode_attr_bitmap()
3129 p = xdr_inline_decode(xdr, (bmlen << 2)); in decode_attr_bitmap()
3142 print_overflow_msg(__func__, xdr); in decode_attr_bitmap()
3146 static int decode_attr_length(struct xdr_stream *xdr, uint32_t *attrlen, unsigned int *savep) in decode_attr_length() argument
3150 p = xdr_inline_decode(xdr, 4); in decode_attr_length()
3154 *savep = xdr_stream_pos(xdr); in decode_attr_length()
3157 print_overflow_msg(__func__, xdr); in decode_attr_length()
3161 static int decode_attr_supported(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *bitmask) in decode_attr_supported() argument
3165 ret = decode_attr_bitmap(xdr, bitmask); in decode_attr_supported()
3176 static int decode_attr_type(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *type) in decode_attr_type() argument
3185 p = xdr_inline_decode(xdr, 4); in decode_attr_type()
3199 print_overflow_msg(__func__, xdr); in decode_attr_type()
3203 static int decode_attr_fh_expire_type(struct xdr_stream *xdr, in decode_attr_fh_expire_type() argument
3212 p = xdr_inline_decode(xdr, 4); in decode_attr_fh_expire_type()
3221 print_overflow_msg(__func__, xdr); in decode_attr_fh_expire_type()
3225 static int decode_attr_change(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *change) in decode_attr_change() argument
3234 p = xdr_inline_decode(xdr, 8); in decode_attr_change()
3245 print_overflow_msg(__func__, xdr); in decode_attr_change()
3249 static int decode_attr_size(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *size) in decode_attr_size() argument
3258 p = xdr_inline_decode(xdr, 8); in decode_attr_size()
3268 print_overflow_msg(__func__, xdr); in decode_attr_size()
3272 static int decode_attr_link_support(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_link_support() argument
3280 p = xdr_inline_decode(xdr, 4); in decode_attr_link_support()
3289 print_overflow_msg(__func__, xdr); in decode_attr_link_support()
3293 static int decode_attr_symlink_support(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_symlink_support() argument
3301 p = xdr_inline_decode(xdr, 4); in decode_attr_symlink_support()
3310 print_overflow_msg(__func__, xdr); in decode_attr_symlink_support()
3314 static int decode_attr_fsid(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs_fsid *fsid) in decode_attr_fsid() argument
3324 p = xdr_inline_decode(xdr, 16); in decode_attr_fsid()
3337 print_overflow_msg(__func__, xdr); in decode_attr_fsid()
3341 static int decode_attr_lease_time(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_lease_time() argument
3349 p = xdr_inline_decode(xdr, 4); in decode_attr_lease_time()
3358 print_overflow_msg(__func__, xdr); in decode_attr_lease_time()
3362 static int decode_attr_error(struct xdr_stream *xdr, uint32_t *bitmap, int32_t *res) in decode_attr_error() argument
3369 p = xdr_inline_decode(xdr, 4); in decode_attr_error()
3377 print_overflow_msg(__func__, xdr); in decode_attr_error()
3381 static int decode_attr_exclcreat_supported(struct xdr_stream *xdr, in decode_attr_exclcreat_supported() argument
3386 ret = decode_attr_bitmap(xdr, bitmask); in decode_attr_exclcreat_supported()
3397 static int decode_attr_filehandle(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs_fh *fh) in decode_attr_filehandle() argument
3408 p = xdr_inline_decode(xdr, 4); in decode_attr_filehandle()
3414 p = xdr_inline_decode(xdr, len); in decode_attr_filehandle()
3425 print_overflow_msg(__func__, xdr); in decode_attr_filehandle()
3429 static int decode_attr_aclsupport(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_aclsupport() argument
3437 p = xdr_inline_decode(xdr, 4); in decode_attr_aclsupport()
3446 print_overflow_msg(__func__, xdr); in decode_attr_aclsupport()
3450 static int decode_attr_fileid(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *fileid) in decode_attr_fileid() argument
3459 p = xdr_inline_decode(xdr, 8); in decode_attr_fileid()
3469 print_overflow_msg(__func__, xdr); in decode_attr_fileid()
3473 static int decode_attr_mounted_on_fileid(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *fileid) in decode_attr_mounted_on_fileid() argument
3482 p = xdr_inline_decode(xdr, 8); in decode_attr_mounted_on_fileid()
3492 print_overflow_msg(__func__, xdr); in decode_attr_mounted_on_fileid()
3496 static int decode_attr_files_avail(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_avail() argument
3505 p = xdr_inline_decode(xdr, 8); in decode_attr_files_avail()
3514 print_overflow_msg(__func__, xdr); in decode_attr_files_avail()
3518 static int decode_attr_files_free(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_free() argument
3527 p = xdr_inline_decode(xdr, 8); in decode_attr_files_free()
3536 print_overflow_msg(__func__, xdr); in decode_attr_files_free()
3540 static int decode_attr_files_total(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_total() argument
3549 p = xdr_inline_decode(xdr, 8); in decode_attr_files_total()
3558 print_overflow_msg(__func__, xdr); in decode_attr_files_total()
3562 static int decode_pathname(struct xdr_stream *xdr, struct nfs4_pathname *path) in decode_pathname() argument
3568 p = xdr_inline_decode(xdr, 4); in decode_pathname()
3581 status = decode_opaque_inline(xdr, &component->len, &component->data); in decode_pathname()
3603 print_overflow_msg(__func__, xdr); in decode_pathname()
3607 static int decode_attr_fs_locations(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs4_fs_locati… in decode_attr_fs_locations() argument
3624 status = decode_pathname(xdr, &res->fs_path); in decode_attr_fs_locations()
3627 p = xdr_inline_decode(xdr, 4); in decode_attr_fs_locations()
3640 p = xdr_inline_decode(xdr, 4); in decode_attr_fs_locations()
3659 status = decode_opaque_inline(xdr, &len, &data); in decode_attr_fs_locations()
3666 status = decode_opaque_inline(xdr, &server->len, &server->data); in decode_attr_fs_locations()
3671 status = decode_pathname(xdr, &loc->rootpath); in decode_attr_fs_locations()
3681 print_overflow_msg(__func__, xdr); in decode_attr_fs_locations()
3687 static int decode_attr_maxfilesize(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_maxfilesize() argument
3696 p = xdr_inline_decode(xdr, 8); in decode_attr_maxfilesize()
3705 print_overflow_msg(__func__, xdr); in decode_attr_maxfilesize()
3709 static int decode_attr_maxlink(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *maxlink) in decode_attr_maxlink() argument
3718 p = xdr_inline_decode(xdr, 4); in decode_attr_maxlink()
3727 print_overflow_msg(__func__, xdr); in decode_attr_maxlink()
3731 static int decode_attr_maxname(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *maxname) in decode_attr_maxname() argument
3740 p = xdr_inline_decode(xdr, 4); in decode_attr_maxname()
3749 print_overflow_msg(__func__, xdr); in decode_attr_maxname()
3753 static int decode_attr_maxread(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_maxread() argument
3763 p = xdr_inline_decode(xdr, 8); in decode_attr_maxread()
3775 print_overflow_msg(__func__, xdr); in decode_attr_maxread()
3779 static int decode_attr_maxwrite(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_maxwrite() argument
3789 p = xdr_inline_decode(xdr, 8); in decode_attr_maxwrite()
3801 print_overflow_msg(__func__, xdr); in decode_attr_maxwrite()
3805 static int decode_attr_mode(struct xdr_stream *xdr, uint32_t *bitmap, umode_t *mode) in decode_attr_mode() argument
3815 p = xdr_inline_decode(xdr, 4); in decode_attr_mode()
3826 print_overflow_msg(__func__, xdr); in decode_attr_mode()
3830 static int decode_attr_nlink(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *nlink) in decode_attr_nlink() argument
3839 p = xdr_inline_decode(xdr, 4); in decode_attr_nlink()
3849 print_overflow_msg(__func__, xdr); in decode_attr_nlink()
3853 static int decode_attr_owner(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_owner() argument
3865 p = xdr_inline_decode(xdr, 4); in decode_attr_owner()
3869 p = xdr_inline_decode(xdr, len); in decode_attr_owner()
3892 print_overflow_msg(__func__, xdr); in decode_attr_owner()
3896 static int decode_attr_group(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_group() argument
3908 p = xdr_inline_decode(xdr, 4); in decode_attr_group()
3912 p = xdr_inline_decode(xdr, len); in decode_attr_group()
3935 print_overflow_msg(__func__, xdr); in decode_attr_group()
3939 static int decode_attr_rdev(struct xdr_stream *xdr, uint32_t *bitmap, dev_t *rdev) in decode_attr_rdev() argument
3951 p = xdr_inline_decode(xdr, 8); in decode_attr_rdev()
3965 print_overflow_msg(__func__, xdr); in decode_attr_rdev()
3969 static int decode_attr_space_avail(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_avail() argument
3978 p = xdr_inline_decode(xdr, 8); in decode_attr_space_avail()
3987 print_overflow_msg(__func__, xdr); in decode_attr_space_avail()
3991 static int decode_attr_space_free(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_free() argument
4000 p = xdr_inline_decode(xdr, 8); in decode_attr_space_free()
4009 print_overflow_msg(__func__, xdr); in decode_attr_space_free()
4013 static int decode_attr_space_total(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_total() argument
4022 p = xdr_inline_decode(xdr, 8); in decode_attr_space_total()
4031 print_overflow_msg(__func__, xdr); in decode_attr_space_total()
4035 static int decode_attr_space_used(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *used) in decode_attr_space_used() argument
4044 p = xdr_inline_decode(xdr, 8); in decode_attr_space_used()
4055 print_overflow_msg(__func__, xdr); in decode_attr_space_used()
4059 static int decode_attr_time(struct xdr_stream *xdr, struct timespec *time) in decode_attr_time() argument
4065 p = xdr_inline_decode(xdr, 12); in decode_attr_time()
4074 print_overflow_msg(__func__, xdr); in decode_attr_time()
4078 static int decode_attr_time_access(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec *time) in decode_attr_time_access() argument
4087 status = decode_attr_time(xdr, time); in decode_attr_time_access()
4096 static int decode_attr_time_metadata(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec *tim… in decode_attr_time_metadata() argument
4105 status = decode_attr_time(xdr, time); in decode_attr_time_metadata()
4114 static int decode_attr_time_delta(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_time_delta() argument
4124 status = decode_attr_time(xdr, time); in decode_attr_time_delta()
4132 static int decode_attr_security_label(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_security_label() argument
4144 p = xdr_inline_decode(xdr, 4); in decode_attr_security_label()
4148 p = xdr_inline_decode(xdr, 4); in decode_attr_security_label()
4152 p = xdr_inline_decode(xdr, 4); in decode_attr_security_label()
4156 p = xdr_inline_decode(xdr, len); in decode_attr_security_label()
4178 print_overflow_msg(__func__, xdr); in decode_attr_security_label()
4182 static int decode_attr_time_modify(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec *time) in decode_attr_time_modify() argument
4191 status = decode_attr_time(xdr, time); in decode_attr_time_modify()
4200 static int verify_attr_len(struct xdr_stream *xdr, unsigned int savep, uint32_t attrlen) in verify_attr_len() argument
4203 unsigned int nwords = (xdr_stream_pos(xdr) - savep) >> 2; in verify_attr_len()
4217 static int decode_change_info(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_change_info() argument
4221 p = xdr_inline_decode(xdr, 20); in decode_change_info()
4229 print_overflow_msg(__func__, xdr); in decode_change_info()
4233 static int decode_access(struct xdr_stream *xdr, u32 *supported, u32 *access) in decode_access() argument
4239 status = decode_op_hdr(xdr, OP_ACCESS); in decode_access()
4242 p = xdr_inline_decode(xdr, 8); in decode_access()
4251 print_overflow_msg(__func__, xdr); in decode_access()
4255 static int decode_opaque_fixed(struct xdr_stream *xdr, void *buf, size_t len) in decode_opaque_fixed() argument
4259 p = xdr_inline_decode(xdr, len); in decode_opaque_fixed()
4264 print_overflow_msg(__func__, xdr); in decode_opaque_fixed()
4268 static int decode_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_stateid() argument
4270 return decode_opaque_fixed(xdr, stateid, NFS4_STATEID_SIZE); in decode_stateid()
4273 static int decode_close(struct xdr_stream *xdr, struct nfs_closeres *res) in decode_close() argument
4277 status = decode_op_hdr(xdr, OP_CLOSE); in decode_close()
4281 status = decode_stateid(xdr, &res->stateid); in decode_close()
4285 static int decode_verifier(struct xdr_stream *xdr, void *verifier) in decode_verifier() argument
4287 return decode_opaque_fixed(xdr, verifier, NFS4_VERIFIER_SIZE); in decode_verifier()
4290 static int decode_write_verifier(struct xdr_stream *xdr, struct nfs_write_verifier *verifier) in decode_write_verifier() argument
4292 return decode_opaque_fixed(xdr, verifier->data, NFS4_VERIFIER_SIZE); in decode_write_verifier()
4295 static int decode_commit(struct xdr_stream *xdr, struct nfs_commitres *res) in decode_commit() argument
4299 status = decode_op_hdr(xdr, OP_COMMIT); in decode_commit()
4301 status = decode_write_verifier(xdr, &res->verf->verifier); in decode_commit()
4305 static int decode_create(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_create() argument
4311 status = decode_op_hdr(xdr, OP_CREATE); in decode_create()
4314 if ((status = decode_change_info(xdr, cinfo))) in decode_create()
4316 p = xdr_inline_decode(xdr, 4); in decode_create()
4320 p = xdr_inline_decode(xdr, bmlen << 2); in decode_create()
4324 print_overflow_msg(__func__, xdr); in decode_create()
4328 static int decode_server_caps(struct xdr_stream *xdr, struct nfs4_server_caps_res *res) in decode_server_caps() argument
4334 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_server_caps()
4336 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_server_caps()
4338 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_server_caps()
4340 if ((status = decode_attr_supported(xdr, bitmap, res->attr_bitmask)) != 0) in decode_server_caps()
4342 if ((status = decode_attr_fh_expire_type(xdr, bitmap, in decode_server_caps()
4345 if ((status = decode_attr_link_support(xdr, bitmap, &res->has_links)) != 0) in decode_server_caps()
4347 if ((status = decode_attr_symlink_support(xdr, bitmap, &res->has_symlinks)) != 0) in decode_server_caps()
4349 if ((status = decode_attr_aclsupport(xdr, bitmap, &res->acl_bitmask)) != 0) in decode_server_caps()
4351 if ((status = decode_attr_exclcreat_supported(xdr, bitmap, in decode_server_caps()
4354 status = verify_attr_len(xdr, savep, attrlen); in decode_server_caps()
4360 static int decode_statfs(struct xdr_stream *xdr, struct nfs_fsstat *fsstat) in decode_statfs() argument
4366 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_statfs()
4368 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_statfs()
4370 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_statfs()
4373 if ((status = decode_attr_files_avail(xdr, bitmap, &fsstat->afiles)) != 0) in decode_statfs()
4375 if ((status = decode_attr_files_free(xdr, bitmap, &fsstat->ffiles)) != 0) in decode_statfs()
4377 if ((status = decode_attr_files_total(xdr, bitmap, &fsstat->tfiles)) != 0) in decode_statfs()
4384 if ((status = decode_attr_space_avail(xdr, bitmap, &fsstat->abytes)) != 0) in decode_statfs()
4386 if ((status = decode_attr_space_free(xdr, bitmap, &fsstat->fbytes)) != 0) in decode_statfs()
4388 if ((status = decode_attr_space_total(xdr, bitmap, &fsstat->tbytes)) != 0) in decode_statfs()
4391 status = verify_attr_len(xdr, savep, attrlen); in decode_statfs()
4397 static int decode_pathconf(struct xdr_stream *xdr, struct nfs_pathconf *pathconf) in decode_pathconf() argument
4403 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_pathconf()
4405 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_pathconf()
4407 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_pathconf()
4410 if ((status = decode_attr_maxlink(xdr, bitmap, &pathconf->max_link)) != 0) in decode_pathconf()
4412 if ((status = decode_attr_maxname(xdr, bitmap, &pathconf->max_namelen)) != 0) in decode_pathconf()
4415 status = verify_attr_len(xdr, savep, attrlen); in decode_pathconf()
4421 static int decode_threshold_hint(struct xdr_stream *xdr, in decode_threshold_hint() argument
4430 p = xdr_inline_decode(xdr, 8); in decode_threshold_hint()
4437 print_overflow_msg(__func__, xdr); in decode_threshold_hint()
4441 static int decode_first_threshold_item4(struct xdr_stream *xdr, in decode_first_threshold_item4() argument
4450 p = xdr_inline_decode(xdr, 4); in decode_first_threshold_item4()
4452 print_overflow_msg(__func__, xdr); in decode_first_threshold_item4()
4458 status = decode_attr_bitmap(xdr, bitmap); in decode_first_threshold_item4()
4463 status = decode_attr_length(xdr, &attrlen, &savep); in decode_first_threshold_item4()
4467 status = decode_threshold_hint(xdr, bitmap, &res->rd_sz, THRESHOLD_RD); in decode_first_threshold_item4()
4470 status = decode_threshold_hint(xdr, bitmap, &res->wr_sz, THRESHOLD_WR); in decode_first_threshold_item4()
4473 status = decode_threshold_hint(xdr, bitmap, &res->rd_io_sz, in decode_first_threshold_item4()
4477 status = decode_threshold_hint(xdr, bitmap, &res->wr_io_sz, in decode_first_threshold_item4()
4482 status = verify_attr_len(xdr, savep, attrlen); in decode_first_threshold_item4()
4496 static int decode_attr_mdsthreshold(struct xdr_stream *xdr, in decode_attr_mdsthreshold() argument
4510 p = xdr_inline_decode(xdr, 4); in decode_attr_mdsthreshold()
4521 status = decode_first_threshold_item4(xdr, res); in decode_attr_mdsthreshold()
4526 print_overflow_msg(__func__, xdr); in decode_attr_mdsthreshold()
4530 static int decode_getfattr_attrs(struct xdr_stream *xdr, uint32_t *bitmap, in decode_getfattr_attrs() argument
4540 status = decode_attr_type(xdr, bitmap, &type); in decode_getfattr_attrs()
4549 status = decode_attr_change(xdr, bitmap, &fattr->change_attr); in decode_getfattr_attrs()
4554 status = decode_attr_size(xdr, bitmap, &fattr->size); in decode_getfattr_attrs()
4559 status = decode_attr_fsid(xdr, bitmap, &fattr->fsid); in decode_getfattr_attrs()
4565 status = decode_attr_error(xdr, bitmap, &err); in decode_getfattr_attrs()
4569 status = decode_attr_filehandle(xdr, bitmap, fh); in decode_getfattr_attrs()
4573 status = decode_attr_fileid(xdr, bitmap, &fattr->fileid); in decode_getfattr_attrs()
4578 status = decode_attr_fs_locations(xdr, bitmap, fs_loc); in decode_getfattr_attrs()
4587 status = decode_attr_mode(xdr, bitmap, &fmode); in decode_getfattr_attrs()
4595 status = decode_attr_nlink(xdr, bitmap, &fattr->nlink); in decode_getfattr_attrs()
4600 status = decode_attr_owner(xdr, bitmap, server, &fattr->uid, fattr->owner_name); in decode_getfattr_attrs()
4605 status = decode_attr_group(xdr, bitmap, server, &fattr->gid, fattr->group_name); in decode_getfattr_attrs()
4610 status = decode_attr_rdev(xdr, bitmap, &fattr->rdev); in decode_getfattr_attrs()
4615 status = decode_attr_space_used(xdr, bitmap, &fattr->du.nfs3.used); in decode_getfattr_attrs()
4620 status = decode_attr_time_access(xdr, bitmap, &fattr->atime); in decode_getfattr_attrs()
4625 status = decode_attr_time_metadata(xdr, bitmap, &fattr->ctime); in decode_getfattr_attrs()
4630 status = decode_attr_time_modify(xdr, bitmap, &fattr->mtime); in decode_getfattr_attrs()
4635 status = decode_attr_mounted_on_fileid(xdr, bitmap, &fattr->mounted_on_fileid); in decode_getfattr_attrs()
4644 status = decode_attr_mdsthreshold(xdr, bitmap, fattr->mdsthreshold); in decode_getfattr_attrs()
4649 status = decode_attr_security_label(xdr, bitmap, label); in decode_getfattr_attrs()
4660 static int decode_getfattr_generic(struct xdr_stream *xdr, struct nfs_fattr *fattr, in decode_getfattr_generic() argument
4669 status = decode_op_hdr(xdr, OP_GETATTR); in decode_getfattr_generic()
4673 status = decode_attr_bitmap(xdr, bitmap); in decode_getfattr_generic()
4677 status = decode_attr_length(xdr, &attrlen, &savep); in decode_getfattr_generic()
4681 status = decode_getfattr_attrs(xdr, bitmap, fattr, fh, fs_loc, in decode_getfattr_generic()
4686 status = verify_attr_len(xdr, savep, attrlen); in decode_getfattr_generic()
4692 static int decode_getfattr_label(struct xdr_stream *xdr, struct nfs_fattr *fattr, in decode_getfattr_label() argument
4695 return decode_getfattr_generic(xdr, fattr, NULL, NULL, label, server); in decode_getfattr_label()
4698 static int decode_getfattr(struct xdr_stream *xdr, struct nfs_fattr *fattr, in decode_getfattr() argument
4701 return decode_getfattr_generic(xdr, fattr, NULL, NULL, NULL, server); in decode_getfattr()
4708 static int decode_first_pnfs_layout_type(struct xdr_stream *xdr, in decode_first_pnfs_layout_type() argument
4714 p = xdr_inline_decode(xdr, 4); in decode_first_pnfs_layout_type()
4729 p = xdr_inline_decode(xdr, num * 4); in decode_first_pnfs_layout_type()
4735 print_overflow_msg(__func__, xdr); in decode_first_pnfs_layout_type()
4743 static int decode_attr_pnfstype(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_pnfstype() argument
4752 status = decode_first_pnfs_layout_type(xdr, layouttype); in decode_attr_pnfstype()
4762 static int decode_attr_layout_blksize(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_layout_blksize() argument
4770 p = xdr_inline_decode(xdr, 4); in decode_attr_layout_blksize()
4772 print_overflow_msg(__func__, xdr); in decode_attr_layout_blksize()
4784 static int decode_attr_clone_blksize(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_clone_blksize() argument
4792 p = xdr_inline_decode(xdr, 4); in decode_attr_clone_blksize()
4794 print_overflow_msg(__func__, xdr); in decode_attr_clone_blksize()
4803 static int decode_fsinfo(struct xdr_stream *xdr, struct nfs_fsinfo *fsinfo) in decode_fsinfo() argument
4809 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_fsinfo()
4811 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_fsinfo()
4813 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_fsinfo()
4818 if ((status = decode_attr_lease_time(xdr, bitmap, &fsinfo->lease_time)) != 0) in decode_fsinfo()
4820 if ((status = decode_attr_maxfilesize(xdr, bitmap, &fsinfo->maxfilesize)) != 0) in decode_fsinfo()
4822 if ((status = decode_attr_maxread(xdr, bitmap, &fsinfo->rtmax)) != 0) in decode_fsinfo()
4825 if ((status = decode_attr_maxwrite(xdr, bitmap, &fsinfo->wtmax)) != 0) in decode_fsinfo()
4833 status = decode_attr_time_delta(xdr, bitmap, &fsinfo->time_delta); in decode_fsinfo()
4836 status = decode_attr_pnfstype(xdr, bitmap, &fsinfo->layouttype); in decode_fsinfo()
4844 status = decode_attr_layout_blksize(xdr, bitmap, &fsinfo->blksize); in decode_fsinfo()
4847 status = decode_attr_clone_blksize(xdr, bitmap, &fsinfo->clone_blksize); in decode_fsinfo()
4851 status = verify_attr_len(xdr, savep, attrlen); in decode_fsinfo()
4857 static int decode_getfh(struct xdr_stream *xdr, struct nfs_fh *fh) in decode_getfh() argument
4866 status = decode_op_hdr(xdr, OP_GETFH); in decode_getfh()
4870 p = xdr_inline_decode(xdr, 4); in decode_getfh()
4877 p = xdr_inline_decode(xdr, len); in decode_getfh()
4883 print_overflow_msg(__func__, xdr); in decode_getfh()
4887 static int decode_link(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_link() argument
4891 status = decode_op_hdr(xdr, OP_LINK); in decode_link()
4894 return decode_change_info(xdr, cinfo); in decode_link()
4900 static int decode_lock_denied (struct xdr_stream *xdr, struct file_lock *fl) in decode_lock_denied() argument
4906 p = xdr_inline_decode(xdr, 32); /* read 32 bytes */ in decode_lock_denied()
4924 p = xdr_inline_decode(xdr, namelen); /* variable size field */ in decode_lock_denied()
4928 print_overflow_msg(__func__, xdr); in decode_lock_denied()
4932 static int decode_lock(struct xdr_stream *xdr, struct nfs_lock_res *res) in decode_lock() argument
4936 status = decode_op_hdr(xdr, OP_LOCK); in decode_lock()
4940 status = decode_stateid(xdr, &res->stateid); in decode_lock()
4944 status = decode_lock_denied(xdr, NULL); in decode_lock()
4952 static int decode_lockt(struct xdr_stream *xdr, struct nfs_lockt_res *res) in decode_lockt() argument
4955 status = decode_op_hdr(xdr, OP_LOCKT); in decode_lockt()
4957 return decode_lock_denied(xdr, res->denied); in decode_lockt()
4961 static int decode_locku(struct xdr_stream *xdr, struct nfs_locku_res *res) in decode_locku() argument
4965 status = decode_op_hdr(xdr, OP_LOCKU); in decode_locku()
4969 status = decode_stateid(xdr, &res->stateid); in decode_locku()
4973 static int decode_release_lockowner(struct xdr_stream *xdr) in decode_release_lockowner() argument
4975 return decode_op_hdr(xdr, OP_RELEASE_LOCKOWNER); in decode_release_lockowner()
4978 static int decode_lookup(struct xdr_stream *xdr) in decode_lookup() argument
4980 return decode_op_hdr(xdr, OP_LOOKUP); in decode_lookup()
4984 static int decode_space_limit(struct xdr_stream *xdr, in decode_space_limit() argument
4991 p = xdr_inline_decode(xdr, 12); in decode_space_limit()
5008 print_overflow_msg(__func__, xdr); in decode_space_limit()
5012 static int decode_rw_delegation(struct xdr_stream *xdr, in decode_rw_delegation() argument
5019 status = decode_stateid(xdr, &res->delegation); in decode_rw_delegation()
5022 p = xdr_inline_decode(xdr, 4); in decode_rw_delegation()
5033 if (decode_space_limit(xdr, &res->pagemod_limit) < 0) in decode_rw_delegation()
5036 return decode_ace(xdr, NULL, res->server->nfs_client); in decode_rw_delegation()
5038 print_overflow_msg(__func__, xdr); in decode_rw_delegation()
5042 static int decode_no_delegation(struct xdr_stream *xdr, struct nfs_openres *res) in decode_no_delegation() argument
5047 p = xdr_inline_decode(xdr, 4); in decode_no_delegation()
5054 xdr_inline_decode(xdr, 4); in decode_no_delegation()
5059 print_overflow_msg(__func__, xdr); in decode_no_delegation()
5063 static int decode_delegation(struct xdr_stream *xdr, struct nfs_openres *res) in decode_delegation() argument
5068 p = xdr_inline_decode(xdr, 4); in decode_delegation()
5078 return decode_rw_delegation(xdr, delegation_type, res); in decode_delegation()
5080 return decode_no_delegation(xdr, res); in decode_delegation()
5084 print_overflow_msg(__func__, xdr); in decode_delegation()
5088 static int decode_open(struct xdr_stream *xdr, struct nfs_openres *res) in decode_open() argument
5094 if (!__decode_op_hdr(xdr, OP_OPEN, &status)) in decode_open()
5099 status = decode_stateid(xdr, &res->stateid); in decode_open()
5103 decode_change_info(xdr, &res->cinfo); in decode_open()
5105 p = xdr_inline_decode(xdr, 8); in decode_open()
5113 p = xdr_inline_decode(xdr, bmlen << 2); in decode_open()
5122 return decode_delegation(xdr, res); in decode_open()
5127 print_overflow_msg(__func__, xdr); in decode_open()
5131 static int decode_open_confirm(struct xdr_stream *xdr, struct nfs_open_confirmres *res) in decode_open_confirm() argument
5135 status = decode_op_hdr(xdr, OP_OPEN_CONFIRM); in decode_open_confirm()
5139 status = decode_stateid(xdr, &res->stateid); in decode_open_confirm()
5143 static int decode_open_downgrade(struct xdr_stream *xdr, struct nfs_closeres *res) in decode_open_downgrade() argument
5147 status = decode_op_hdr(xdr, OP_OPEN_DOWNGRADE); in decode_open_downgrade()
5151 status = decode_stateid(xdr, &res->stateid); in decode_open_downgrade()
5155 static int decode_putfh(struct xdr_stream *xdr) in decode_putfh() argument
5157 return decode_op_hdr(xdr, OP_PUTFH); in decode_putfh()
5160 static int decode_putrootfh(struct xdr_stream *xdr) in decode_putrootfh() argument
5162 return decode_op_hdr(xdr, OP_PUTROOTFH); in decode_putrootfh()
5165 static int decode_read(struct xdr_stream *xdr, struct rpc_rqst *req, in decode_read() argument
5172 status = decode_op_hdr(xdr, OP_READ); in decode_read()
5175 p = xdr_inline_decode(xdr, 8); in decode_read()
5180 recvd = xdr_read_pages(xdr, count); in decode_read()
5191 print_overflow_msg(__func__, xdr); in decode_read()
5195 static int decode_readdir(struct xdr_stream *xdr, struct rpc_rqst *req, struct nfs4_readdir_res *re… in decode_readdir() argument
5200 status = decode_op_hdr(xdr, OP_READDIR); in decode_readdir()
5202 status = decode_verifier(xdr, readdir->verifier.data); in decode_readdir()
5208 return xdr_read_pages(xdr, xdr->buf->page_len); in decode_readdir()
5211 static int decode_readlink(struct xdr_stream *xdr, struct rpc_rqst *req) in decode_readlink() argument
5218 status = decode_op_hdr(xdr, OP_READLINK); in decode_readlink()
5223 p = xdr_inline_decode(xdr, 4); in decode_readlink()
5231 recvd = xdr_read_pages(xdr, len); in decode_readlink()
5247 print_overflow_msg(__func__, xdr); in decode_readlink()
5251 static int decode_remove(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_remove() argument
5255 status = decode_op_hdr(xdr, OP_REMOVE); in decode_remove()
5258 status = decode_change_info(xdr, cinfo); in decode_remove()
5263 static int decode_rename(struct xdr_stream *xdr, struct nfs4_change_info *old_cinfo, in decode_rename() argument
5268 status = decode_op_hdr(xdr, OP_RENAME); in decode_rename()
5271 if ((status = decode_change_info(xdr, old_cinfo))) in decode_rename()
5273 status = decode_change_info(xdr, new_cinfo); in decode_rename()
5278 static int decode_renew(struct xdr_stream *xdr) in decode_renew() argument
5280 return decode_op_hdr(xdr, OP_RENEW); in decode_renew()
5284 decode_restorefh(struct xdr_stream *xdr) in decode_restorefh() argument
5286 return decode_op_hdr(xdr, OP_RESTOREFH); in decode_restorefh()
5289 static int decode_getacl(struct xdr_stream *xdr, struct rpc_rqst *req, in decode_getacl() argument
5299 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_getacl()
5302 xdr_enter_page(xdr, xdr->buf->page_len); in decode_getacl()
5305 pg_offset = xdr->buf->head[0].iov_len; in decode_getacl()
5307 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_getacl()
5309 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_getacl()
5319 res->acl_data_offset = xdr_stream_pos(xdr) - pg_offset; in decode_getacl()
5323 if (res->acl_len > (xdr->nwords << 2) || in decode_getacl()
5324 res->acl_len + res->acl_data_offset > xdr->buf->page_len) { in decode_getacl()
5327 attrlen, xdr->nwords << 2); in decode_getacl()
5337 decode_savefh(struct xdr_stream *xdr) in decode_savefh() argument
5339 return decode_op_hdr(xdr, OP_SAVEFH); in decode_savefh()
5342 static int decode_setattr(struct xdr_stream *xdr) in decode_setattr() argument
5348 status = decode_op_hdr(xdr, OP_SETATTR); in decode_setattr()
5351 p = xdr_inline_decode(xdr, 4); in decode_setattr()
5355 p = xdr_inline_decode(xdr, bmlen << 2); in decode_setattr()
5359 print_overflow_msg(__func__, xdr); in decode_setattr()
5363 static int decode_setclientid(struct xdr_stream *xdr, struct nfs4_setclientid_res *res) in decode_setclientid() argument
5369 p = xdr_inline_decode(xdr, 8); in decode_setclientid()
5380 p = xdr_inline_decode(xdr, 8 + NFS4_VERIFIER_SIZE); in decode_setclientid()
5389 p = xdr_inline_decode(xdr, 4); in decode_setclientid()
5393 p = xdr_inline_decode(xdr, len); in decode_setclientid()
5398 p = xdr_inline_decode(xdr, 4); in decode_setclientid()
5402 p = xdr_inline_decode(xdr, len); in decode_setclientid()
5411 print_overflow_msg(__func__, xdr); in decode_setclientid()
5415 static int decode_setclientid_confirm(struct xdr_stream *xdr) in decode_setclientid_confirm() argument
5417 return decode_op_hdr(xdr, OP_SETCLIENTID_CONFIRM); in decode_setclientid_confirm()
5420 static int decode_write(struct xdr_stream *xdr, struct nfs_pgio_res *res) in decode_write() argument
5425 status = decode_op_hdr(xdr, OP_WRITE); in decode_write()
5429 p = xdr_inline_decode(xdr, 8); in decode_write()
5434 return decode_write_verifier(xdr, &res->verf->verifier); in decode_write()
5436 print_overflow_msg(__func__, xdr); in decode_write()
5440 static int decode_delegreturn(struct xdr_stream *xdr) in decode_delegreturn() argument
5442 return decode_op_hdr(xdr, OP_DELEGRETURN); in decode_delegreturn()
5445 static int decode_secinfo_gss(struct xdr_stream *xdr, in decode_secinfo_gss() argument
5451 p = xdr_inline_decode(xdr, 4); in decode_secinfo_gss()
5458 p = xdr_inline_decode(xdr, oid_len); in decode_secinfo_gss()
5464 p = xdr_inline_decode(xdr, 8); in decode_secinfo_gss()
5473 print_overflow_msg(__func__, xdr); in decode_secinfo_gss()
5479 static int decode_secinfo_common(struct xdr_stream *xdr, struct nfs4_secinfo_res *res) in decode_secinfo_common() argument
5486 p = xdr_inline_decode(xdr, 4); in decode_secinfo_common()
5498 p = xdr_inline_decode(xdr, 4); in decode_secinfo_common()
5504 status = decode_secinfo_gss(xdr, sec_flavor); in decode_secinfo_common()
5515 print_overflow_msg(__func__, xdr); in decode_secinfo_common()
5519 static int decode_secinfo(struct xdr_stream *xdr, struct nfs4_secinfo_res *res) in decode_secinfo() argument
5521 int status = decode_op_hdr(xdr, OP_SECINFO); in decode_secinfo()
5524 return decode_secinfo_common(xdr, res); in decode_secinfo()
5528 static int decode_secinfo_no_name(struct xdr_stream *xdr, struct nfs4_secinfo_res *res) in decode_secinfo_no_name() argument
5530 int status = decode_op_hdr(xdr, OP_SECINFO_NO_NAME); in decode_secinfo_no_name()
5533 return decode_secinfo_common(xdr, res); in decode_secinfo_no_name()
5536 static int decode_op_map(struct xdr_stream *xdr, struct nfs4_op_map *op_map) in decode_op_map() argument
5542 p = xdr_inline_decode(xdr, 4); in decode_op_map()
5546 p = xdr_inline_decode(xdr, 4 * bitmap_words); in decode_op_map()
5553 static int decode_exchange_id(struct xdr_stream *xdr, in decode_exchange_id() argument
5562 status = decode_op_hdr(xdr, OP_EXCHANGE_ID); in decode_exchange_id()
5566 p = xdr_inline_decode(xdr, 8); in decode_exchange_id()
5570 p = xdr_inline_decode(xdr, 12); in decode_exchange_id()
5581 status = decode_op_map(xdr, &res->state_protect.enforce); in decode_exchange_id()
5584 status = decode_op_map(xdr, &res->state_protect.allow); in decode_exchange_id()
5594 p = xdr_inline_decode(xdr, 8); in decode_exchange_id()
5600 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5609 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5618 p = xdr_inline_decode(xdr, 4); in decode_exchange_id()
5625 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5633 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5641 p = xdr_inline_decode(xdr, 12); in decode_exchange_id()
5651 print_overflow_msg(__func__, xdr); in decode_exchange_id()
5655 static int decode_chan_attrs(struct xdr_stream *xdr, in decode_chan_attrs() argument
5661 p = xdr_inline_decode(xdr, 28); in decode_chan_attrs()
5679 p = xdr_inline_decode(xdr, 4); /* skip rdma_attrs */ in decode_chan_attrs()
5685 print_overflow_msg(__func__, xdr); in decode_chan_attrs()
5689 static int decode_sessionid(struct xdr_stream *xdr, struct nfs4_sessionid *sid) in decode_sessionid() argument
5691 return decode_opaque_fixed(xdr, sid->data, NFS4_MAX_SESSIONID_LEN); in decode_sessionid()
5694 static int decode_bind_conn_to_session(struct xdr_stream *xdr, in decode_bind_conn_to_session() argument
5700 status = decode_op_hdr(xdr, OP_BIND_CONN_TO_SESSION); in decode_bind_conn_to_session()
5702 status = decode_sessionid(xdr, &res->sessionid); in decode_bind_conn_to_session()
5707 p = xdr_inline_decode(xdr, 8); in decode_bind_conn_to_session()
5721 print_overflow_msg(__func__, xdr); in decode_bind_conn_to_session()
5725 static int decode_create_session(struct xdr_stream *xdr, in decode_create_session() argument
5731 status = decode_op_hdr(xdr, OP_CREATE_SESSION); in decode_create_session()
5733 status = decode_sessionid(xdr, &res->sessionid); in decode_create_session()
5738 p = xdr_inline_decode(xdr, 8); in decode_create_session()
5745 status = decode_chan_attrs(xdr, &res->fc_attrs); in decode_create_session()
5747 status = decode_chan_attrs(xdr, &res->bc_attrs); in decode_create_session()
5750 print_overflow_msg(__func__, xdr); in decode_create_session()
5754 static int decode_destroy_session(struct xdr_stream *xdr, void *dummy) in decode_destroy_session() argument
5756 return decode_op_hdr(xdr, OP_DESTROY_SESSION); in decode_destroy_session()
5759 static int decode_destroy_clientid(struct xdr_stream *xdr, void *dummy) in decode_destroy_clientid() argument
5761 return decode_op_hdr(xdr, OP_DESTROY_CLIENTID); in decode_destroy_clientid()
5764 static int decode_reclaim_complete(struct xdr_stream *xdr, void *dummy) in decode_reclaim_complete() argument
5766 return decode_op_hdr(xdr, OP_RECLAIM_COMPLETE); in decode_reclaim_complete()
5770 static int decode_sequence(struct xdr_stream *xdr, in decode_sequence() argument
5786 status = decode_op_hdr(xdr, OP_SEQUENCE); in decode_sequence()
5788 status = decode_sessionid(xdr, &id); in decode_sequence()
5805 p = xdr_inline_decode(xdr, 20); in decode_sequence()
5832 print_overflow_msg(__func__, xdr); in decode_sequence()
5841 static int decode_getdeviceinfo(struct xdr_stream *xdr, in decode_getdeviceinfo() argument
5849 status = decode_op_hdr(xdr, OP_GETDEVICEINFO); in decode_getdeviceinfo()
5852 p = xdr_inline_decode(xdr, 4); in decode_getdeviceinfo()
5862 p = xdr_inline_decode(xdr, 8); in decode_getdeviceinfo()
5877 if (xdr_read_pages(xdr, pdev->mincount) != pdev->mincount) in decode_getdeviceinfo()
5881 p = xdr_inline_decode(xdr, 4); in decode_getdeviceinfo()
5888 p = xdr_inline_decode(xdr, 4 * len); in decode_getdeviceinfo()
5903 print_overflow_msg(__func__, xdr); in decode_getdeviceinfo()
5907 static int decode_layoutget(struct xdr_stream *xdr, struct rpc_rqst *req, in decode_layoutget() argument
5915 status = decode_op_hdr(xdr, OP_LAYOUTGET); in decode_layoutget()
5918 p = xdr_inline_decode(xdr, 4); in decode_layoutget()
5922 decode_stateid(xdr, &res->stateid); in decode_layoutget()
5923 p = xdr_inline_decode(xdr, 4); in decode_layoutget()
5933 p = xdr_inline_decode(xdr, 28); in decode_layoutget()
5950 recvd = xdr_read_pages(xdr, res->layoutp->len); in decode_layoutget()
5970 print_overflow_msg(__func__, xdr); in decode_layoutget()
5974 static int decode_layoutreturn(struct xdr_stream *xdr, in decode_layoutreturn() argument
5980 status = decode_op_hdr(xdr, OP_LAYOUTRETURN); in decode_layoutreturn()
5983 p = xdr_inline_decode(xdr, 4); in decode_layoutreturn()
5988 status = decode_stateid(xdr, &res->stateid); in decode_layoutreturn()
5991 print_overflow_msg(__func__, xdr); in decode_layoutreturn()
5995 static int decode_layoutcommit(struct xdr_stream *xdr, in decode_layoutcommit() argument
6003 status = decode_op_hdr(xdr, OP_LAYOUTCOMMIT); in decode_layoutcommit()
6008 p = xdr_inline_decode(xdr, 4); in decode_layoutcommit()
6015 p = xdr_inline_decode(xdr, 8); in decode_layoutcommit()
6021 print_overflow_msg(__func__, xdr); in decode_layoutcommit()
6025 static int decode_test_stateid(struct xdr_stream *xdr, in decode_test_stateid() argument
6032 status = decode_op_hdr(xdr, OP_TEST_STATEID); in decode_test_stateid()
6036 p = xdr_inline_decode(xdr, 4); in decode_test_stateid()
6043 p = xdr_inline_decode(xdr, 4); in decode_test_stateid()
6050 print_overflow_msg(__func__, xdr); in decode_test_stateid()
6055 static int decode_free_stateid(struct xdr_stream *xdr, in decode_free_stateid() argument
6058 res->status = decode_op_hdr(xdr, OP_FREE_STATEID); in decode_free_stateid()
6071 struct xdr_stream *xdr, in nfs4_xdr_dec_open_downgrade() argument
6077 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open_downgrade()
6080 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_open_downgrade()
6083 status = decode_putfh(xdr); in nfs4_xdr_dec_open_downgrade()
6086 status = decode_open_downgrade(xdr, res); in nfs4_xdr_dec_open_downgrade()
6089 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_open_downgrade()
6097 static int nfs4_xdr_dec_access(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_access() argument
6103 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_access()
6106 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_access()
6109 status = decode_putfh(xdr); in nfs4_xdr_dec_access()
6112 status = decode_access(xdr, &res->supported, &res->access); in nfs4_xdr_dec_access()
6115 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_access()
6123 static int nfs4_xdr_dec_lookup(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_lookup() argument
6129 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lookup()
6132 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lookup()
6135 status = decode_putfh(xdr); in nfs4_xdr_dec_lookup()
6138 status = decode_lookup(xdr); in nfs4_xdr_dec_lookup()
6141 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_lookup()
6144 status = decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_lookup()
6153 struct xdr_stream *xdr, in nfs4_xdr_dec_lookup_root() argument
6159 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lookup_root()
6162 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lookup_root()
6165 status = decode_putrootfh(xdr); in nfs4_xdr_dec_lookup_root()
6168 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_lookup_root()
6170 status = decode_getfattr_label(xdr, res->fattr, in nfs4_xdr_dec_lookup_root()
6179 static int nfs4_xdr_dec_remove(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_remove() argument
6185 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_remove()
6188 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_remove()
6191 status = decode_putfh(xdr); in nfs4_xdr_dec_remove()
6194 status = decode_remove(xdr, &res->cinfo); in nfs4_xdr_dec_remove()
6202 static int nfs4_xdr_dec_rename(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_rename() argument
6208 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_rename()
6211 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_rename()
6214 status = decode_putfh(xdr); in nfs4_xdr_dec_rename()
6217 status = decode_savefh(xdr); in nfs4_xdr_dec_rename()
6220 status = decode_putfh(xdr); in nfs4_xdr_dec_rename()
6223 status = decode_rename(xdr, &res->old_cinfo, &res->new_cinfo); in nfs4_xdr_dec_rename()
6231 static int nfs4_xdr_dec_link(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_link() argument
6237 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_link()
6240 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_link()
6243 status = decode_putfh(xdr); in nfs4_xdr_dec_link()
6246 status = decode_savefh(xdr); in nfs4_xdr_dec_link()
6249 status = decode_putfh(xdr); in nfs4_xdr_dec_link()
6252 status = decode_link(xdr, &res->cinfo); in nfs4_xdr_dec_link()
6259 status = decode_restorefh(xdr); in nfs4_xdr_dec_link()
6262 decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_link()
6270 static int nfs4_xdr_dec_create(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_create() argument
6276 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_create()
6279 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_create()
6282 status = decode_putfh(xdr); in nfs4_xdr_dec_create()
6285 status = decode_create(xdr, &res->dir_cinfo); in nfs4_xdr_dec_create()
6288 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_create()
6291 decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_create()
6299 static int nfs4_xdr_dec_symlink(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_symlink() argument
6302 return nfs4_xdr_dec_create(rqstp, xdr, res); in nfs4_xdr_dec_symlink()
6308 static int nfs4_xdr_dec_getattr(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_getattr() argument
6314 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_getattr()
6317 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_getattr()
6320 status = decode_putfh(xdr); in nfs4_xdr_dec_getattr()
6323 status = decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_getattr()
6331 static void nfs4_xdr_enc_setacl(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_setacl() argument
6338 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setacl()
6339 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_setacl()
6340 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_setacl()
6341 encode_setacl(xdr, args, &hdr); in nfs4_xdr_enc_setacl()
6349 nfs4_xdr_dec_setacl(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_setacl() argument
6355 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setacl()
6358 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_setacl()
6361 status = decode_putfh(xdr); in nfs4_xdr_dec_setacl()
6364 status = decode_setattr(xdr); in nfs4_xdr_dec_setacl()
6373 nfs4_xdr_dec_getacl(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_getacl() argument
6381 xdr_set_scratch_buffer(xdr, p, PAGE_SIZE); in nfs4_xdr_dec_getacl()
6383 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_getacl()
6386 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_getacl()
6389 status = decode_putfh(xdr); in nfs4_xdr_dec_getacl()
6392 status = decode_getacl(xdr, rqstp, res); in nfs4_xdr_dec_getacl()
6401 static int nfs4_xdr_dec_close(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_close() argument
6407 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_close()
6410 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_close()
6413 status = decode_putfh(xdr); in nfs4_xdr_dec_close()
6416 status = decode_close(xdr, res); in nfs4_xdr_dec_close()
6425 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_close()
6433 static int nfs4_xdr_dec_open(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_open() argument
6439 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open()
6442 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_open()
6445 status = decode_putfh(xdr); in nfs4_xdr_dec_open()
6448 status = decode_open(xdr, res); in nfs4_xdr_dec_open()
6451 status = decode_getfh(xdr, &res->fh); in nfs4_xdr_dec_open()
6455 decode_access(xdr, &res->access_supported, &res->access_result); in nfs4_xdr_dec_open()
6456 decode_getfattr_label(xdr, res->f_attr, res->f_label, res->server); in nfs4_xdr_dec_open()
6465 struct xdr_stream *xdr, in nfs4_xdr_dec_open_confirm() argument
6471 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open_confirm()
6474 status = decode_putfh(xdr); in nfs4_xdr_dec_open_confirm()
6477 status = decode_open_confirm(xdr, res); in nfs4_xdr_dec_open_confirm()
6486 struct xdr_stream *xdr, in nfs4_xdr_dec_open_noattr() argument
6492 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open_noattr()
6495 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_open_noattr()
6498 status = decode_putfh(xdr); in nfs4_xdr_dec_open_noattr()
6501 status = decode_open(xdr, res); in nfs4_xdr_dec_open_noattr()
6505 decode_access(xdr, &res->access_supported, &res->access_result); in nfs4_xdr_dec_open_noattr()
6506 decode_getfattr(xdr, res->f_attr, res->server); in nfs4_xdr_dec_open_noattr()
6515 struct xdr_stream *xdr, in nfs4_xdr_dec_setattr() argument
6521 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setattr()
6524 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_setattr()
6527 status = decode_putfh(xdr); in nfs4_xdr_dec_setattr()
6530 status = decode_setattr(xdr); in nfs4_xdr_dec_setattr()
6533 decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_setattr()
6541 static int nfs4_xdr_dec_lock(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_lock() argument
6547 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lock()
6550 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lock()
6553 status = decode_putfh(xdr); in nfs4_xdr_dec_lock()
6556 status = decode_lock(xdr, res); in nfs4_xdr_dec_lock()
6564 static int nfs4_xdr_dec_lockt(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_lockt() argument
6570 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lockt()
6573 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lockt()
6576 status = decode_putfh(xdr); in nfs4_xdr_dec_lockt()
6579 status = decode_lockt(xdr, res); in nfs4_xdr_dec_lockt()
6587 static int nfs4_xdr_dec_locku(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_locku() argument
6593 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_locku()
6596 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_locku()
6599 status = decode_putfh(xdr); in nfs4_xdr_dec_locku()
6602 status = decode_locku(xdr, res); in nfs4_xdr_dec_locku()
6608 struct xdr_stream *xdr, void *dummy) in nfs4_xdr_dec_release_lockowner() argument
6613 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_release_lockowner()
6615 status = decode_release_lockowner(xdr); in nfs4_xdr_dec_release_lockowner()
6623 struct xdr_stream *xdr, in nfs4_xdr_dec_readlink() argument
6629 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_readlink()
6632 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_readlink()
6635 status = decode_putfh(xdr); in nfs4_xdr_dec_readlink()
6638 status = decode_readlink(xdr, rqstp); in nfs4_xdr_dec_readlink()
6646 static int nfs4_xdr_dec_readdir(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_readdir() argument
6652 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_readdir()
6655 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_readdir()
6658 status = decode_putfh(xdr); in nfs4_xdr_dec_readdir()
6661 status = decode_readdir(xdr, rqstp, res); in nfs4_xdr_dec_readdir()
6669 static int nfs4_xdr_dec_read(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_read() argument
6675 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_read()
6679 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_read()
6682 status = decode_putfh(xdr); in nfs4_xdr_dec_read()
6685 status = decode_read(xdr, rqstp, res); in nfs4_xdr_dec_read()
6695 static int nfs4_xdr_dec_write(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_write() argument
6701 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_write()
6705 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_write()
6708 status = decode_putfh(xdr); in nfs4_xdr_dec_write()
6711 status = decode_write(xdr, res); in nfs4_xdr_dec_write()
6715 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_write()
6725 static int nfs4_xdr_dec_commit(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_commit() argument
6731 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_commit()
6735 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_commit()
6738 status = decode_putfh(xdr); in nfs4_xdr_dec_commit()
6741 status = decode_commit(xdr, res); in nfs4_xdr_dec_commit()
6749 static int nfs4_xdr_dec_fsinfo(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_dec_fsinfo() argument
6755 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_fsinfo()
6757 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_fsinfo()
6759 status = decode_putfh(xdr); in nfs4_xdr_dec_fsinfo()
6761 status = decode_fsinfo(xdr, res->fsinfo); in nfs4_xdr_dec_fsinfo()
6768 static int nfs4_xdr_dec_pathconf(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_dec_pathconf() argument
6774 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_pathconf()
6776 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_pathconf()
6778 status = decode_putfh(xdr); in nfs4_xdr_dec_pathconf()
6780 status = decode_pathconf(xdr, res->pathconf); in nfs4_xdr_dec_pathconf()
6787 static int nfs4_xdr_dec_statfs(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_dec_statfs() argument
6793 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_statfs()
6795 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_statfs()
6797 status = decode_putfh(xdr); in nfs4_xdr_dec_statfs()
6799 status = decode_statfs(xdr, res->fsstat); in nfs4_xdr_dec_statfs()
6807 struct xdr_stream *xdr, in nfs4_xdr_dec_server_caps() argument
6813 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_server_caps()
6816 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_server_caps()
6819 status = decode_putfh(xdr); in nfs4_xdr_dec_server_caps()
6822 status = decode_server_caps(xdr, res); in nfs4_xdr_dec_server_caps()
6830 static int nfs4_xdr_dec_renew(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_renew() argument
6836 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_renew()
6838 status = decode_renew(xdr); in nfs4_xdr_dec_renew()
6846 struct xdr_stream *xdr, in nfs4_xdr_dec_setclientid() argument
6852 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setclientid()
6854 status = decode_setclientid(xdr, res); in nfs4_xdr_dec_setclientid()
6862 struct xdr_stream *xdr) in nfs4_xdr_dec_setclientid_confirm() argument
6867 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setclientid_confirm()
6869 status = decode_setclientid_confirm(xdr); in nfs4_xdr_dec_setclientid_confirm()
6877 struct xdr_stream *xdr, in nfs4_xdr_dec_delegreturn() argument
6883 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_delegreturn()
6886 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_delegreturn()
6889 status = decode_putfh(xdr); in nfs4_xdr_dec_delegreturn()
6892 status = decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_delegreturn()
6895 status = decode_delegreturn(xdr); in nfs4_xdr_dec_delegreturn()
6904 struct xdr_stream *xdr, in nfs4_xdr_dec_fs_locations() argument
6910 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_fs_locations()
6913 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_fs_locations()
6916 status = decode_putfh(xdr); in nfs4_xdr_dec_fs_locations()
6920 xdr_enter_page(xdr, PAGE_SIZE); in nfs4_xdr_dec_fs_locations()
6921 status = decode_getfattr_generic(xdr, in nfs4_xdr_dec_fs_locations()
6928 status = decode_renew(xdr); in nfs4_xdr_dec_fs_locations()
6930 status = decode_lookup(xdr); in nfs4_xdr_dec_fs_locations()
6933 xdr_enter_page(xdr, PAGE_SIZE); in nfs4_xdr_dec_fs_locations()
6934 status = decode_getfattr_generic(xdr, in nfs4_xdr_dec_fs_locations()
6947 struct xdr_stream *xdr, in nfs4_xdr_dec_secinfo() argument
6953 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_secinfo()
6956 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_secinfo()
6959 status = decode_putfh(xdr); in nfs4_xdr_dec_secinfo()
6962 status = decode_secinfo(xdr, res); in nfs4_xdr_dec_secinfo()
6971 struct xdr_stream *xdr, in nfs4_xdr_dec_fsid_present() argument
6977 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_fsid_present()
6980 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_fsid_present()
6983 status = decode_putfh(xdr); in nfs4_xdr_dec_fsid_present()
6986 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_fsid_present()
6990 status = decode_renew(xdr); in nfs4_xdr_dec_fsid_present()
7000 struct xdr_stream *xdr, in nfs4_xdr_dec_bind_conn_to_session() argument
7006 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_bind_conn_to_session()
7008 status = decode_bind_conn_to_session(xdr, res); in nfs4_xdr_dec_bind_conn_to_session()
7016 struct xdr_stream *xdr, in nfs4_xdr_dec_exchange_id() argument
7022 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_exchange_id()
7024 status = decode_exchange_id(xdr, res); in nfs4_xdr_dec_exchange_id()
7032 struct xdr_stream *xdr, in nfs4_xdr_dec_create_session() argument
7038 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_create_session()
7040 status = decode_create_session(xdr, res); in nfs4_xdr_dec_create_session()
7048 struct xdr_stream *xdr, in nfs4_xdr_dec_destroy_session() argument
7054 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_destroy_session()
7056 status = decode_destroy_session(xdr, res); in nfs4_xdr_dec_destroy_session()
7064 struct xdr_stream *xdr, in nfs4_xdr_dec_destroy_clientid() argument
7070 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_destroy_clientid()
7072 status = decode_destroy_clientid(xdr, res); in nfs4_xdr_dec_destroy_clientid()
7080 struct xdr_stream *xdr, in nfs4_xdr_dec_sequence() argument
7086 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_sequence()
7088 status = decode_sequence(xdr, res, rqstp); in nfs4_xdr_dec_sequence()
7096 struct xdr_stream *xdr, in nfs4_xdr_dec_get_lease_time() argument
7102 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_get_lease_time()
7104 status = decode_sequence(xdr, &res->lr_seq_res, rqstp); in nfs4_xdr_dec_get_lease_time()
7106 status = decode_putrootfh(xdr); in nfs4_xdr_dec_get_lease_time()
7108 status = decode_fsinfo(xdr, res->lr_fsinfo); in nfs4_xdr_dec_get_lease_time()
7116 struct xdr_stream *xdr, in nfs4_xdr_dec_reclaim_complete() argument
7122 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_reclaim_complete()
7124 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_reclaim_complete()
7126 status = decode_reclaim_complete(xdr, NULL); in nfs4_xdr_dec_reclaim_complete()
7134 struct xdr_stream *xdr, in nfs4_xdr_dec_getdeviceinfo() argument
7140 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_getdeviceinfo()
7143 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_getdeviceinfo()
7146 status = decode_getdeviceinfo(xdr, res); in nfs4_xdr_dec_getdeviceinfo()
7155 struct xdr_stream *xdr, in nfs4_xdr_dec_layoutget() argument
7161 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_layoutget()
7164 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_layoutget()
7167 status = decode_putfh(xdr); in nfs4_xdr_dec_layoutget()
7170 status = decode_layoutget(xdr, rqstp, res); in nfs4_xdr_dec_layoutget()
7179 struct xdr_stream *xdr, in nfs4_xdr_dec_layoutreturn() argument
7185 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_layoutreturn()
7188 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_layoutreturn()
7191 status = decode_putfh(xdr); in nfs4_xdr_dec_layoutreturn()
7194 status = decode_layoutreturn(xdr, res); in nfs4_xdr_dec_layoutreturn()
7203 struct xdr_stream *xdr, in nfs4_xdr_dec_layoutcommit() argument
7209 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_layoutcommit()
7212 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_layoutcommit()
7215 status = decode_putfh(xdr); in nfs4_xdr_dec_layoutcommit()
7218 status = decode_layoutcommit(xdr, rqstp, res); in nfs4_xdr_dec_layoutcommit()
7221 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_layoutcommit()
7230 struct xdr_stream *xdr, in nfs4_xdr_dec_secinfo_no_name() argument
7236 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_secinfo_no_name()
7239 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_secinfo_no_name()
7242 status = decode_putrootfh(xdr); in nfs4_xdr_dec_secinfo_no_name()
7245 status = decode_secinfo_no_name(xdr, res); in nfs4_xdr_dec_secinfo_no_name()
7254 struct xdr_stream *xdr, in nfs4_xdr_dec_test_stateid() argument
7260 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_test_stateid()
7263 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_test_stateid()
7266 status = decode_test_stateid(xdr, res); in nfs4_xdr_dec_test_stateid()
7275 struct xdr_stream *xdr, in nfs4_xdr_dec_free_stateid() argument
7281 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_free_stateid()
7284 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_free_stateid()
7287 status = decode_free_stateid(xdr, res); in nfs4_xdr_dec_free_stateid()
7307 int nfs4_decode_dirent(struct xdr_stream *xdr, struct nfs_entry *entry, in nfs4_decode_dirent() argument
7313 __be32 *p = xdr_inline_decode(xdr, 4); in nfs4_decode_dirent()
7317 p = xdr_inline_decode(xdr, 4); in nfs4_decode_dirent()
7326 p = xdr_inline_decode(xdr, 12); in nfs4_decode_dirent()
7333 p = xdr_inline_decode(xdr, entry->len); in nfs4_decode_dirent()
7346 if (decode_attr_bitmap(xdr, bitmap) < 0) in nfs4_decode_dirent()
7349 if (decode_attr_length(xdr, &len, &savep) < 0) in nfs4_decode_dirent()
7352 if (decode_getfattr_attrs(xdr, bitmap, entry->fattr, entry->fh, in nfs4_decode_dirent()
7367 print_overflow_msg(__func__, xdr); in nfs4_decode_dirent()