Lines Matching refs:xdr

71 static void encode_layoutget(struct xdr_stream *xdr,
74 static int decode_layoutget(struct xdr_stream *xdr, struct rpc_rqst *req,
964 static __be32 *reserve_space(struct xdr_stream *xdr, size_t nbytes) in reserve_space() argument
966 __be32 *p = xdr_reserve_space(xdr, nbytes); in reserve_space()
971 static void encode_opaque_fixed(struct xdr_stream *xdr, const void *buf, size_t len) in encode_opaque_fixed() argument
973 WARN_ON_ONCE(xdr_stream_encode_opaque_fixed(xdr, buf, len) < 0); in encode_opaque_fixed()
976 static void encode_string(struct xdr_stream *xdr, unsigned int len, const char *str) in encode_string() argument
978 WARN_ON_ONCE(xdr_stream_encode_opaque(xdr, str, len) < 0); in encode_string()
981 static void encode_uint32(struct xdr_stream *xdr, u32 n) in encode_uint32() argument
983 WARN_ON_ONCE(xdr_stream_encode_u32(xdr, n) < 0); in encode_uint32()
986 static void encode_uint64(struct xdr_stream *xdr, u64 n) in encode_uint64() argument
988 WARN_ON_ONCE(xdr_stream_encode_u64(xdr, n) < 0); in encode_uint64()
991 static ssize_t xdr_encode_bitmap4(struct xdr_stream *xdr, in xdr_encode_bitmap4() argument
999 ret = xdr_stream_encode_uint32_array(xdr, bitmap, len); in xdr_encode_bitmap4()
1020 static void encode_nfs4_seqid(struct xdr_stream *xdr, in encode_nfs4_seqid() argument
1024 encode_uint32(xdr, seqid->sequence->counter); in encode_nfs4_seqid()
1026 encode_uint32(xdr, 0); in encode_nfs4_seqid()
1029 static void encode_compound_hdr(struct xdr_stream *xdr, in encode_compound_hdr() argument
1041 encode_string(xdr, hdr->taglen, hdr->tag); in encode_compound_hdr()
1042 p = reserve_space(xdr, 8); in encode_compound_hdr()
1048 static void encode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 op, in encode_op_hdr() argument
1052 encode_uint32(xdr, op); in encode_op_hdr()
1063 static void encode_nfs4_stateid(struct xdr_stream *xdr, const nfs4_stateid *stateid) in encode_nfs4_stateid() argument
1065 encode_opaque_fixed(xdr, stateid, NFS4_STATEID_SIZE); in encode_nfs4_stateid()
1068 static void encode_nfs4_verifier(struct xdr_stream *xdr, const nfs4_verifier *verf) in encode_nfs4_verifier() argument
1070 encode_opaque_fixed(xdr, verf->data, NFS4_VERIFIER_SIZE); in encode_nfs4_verifier()
1081 static void encode_attrs(struct xdr_stream *xdr, const struct iattr *iap, in encode_attrs() argument
1161 xdr_encode_bitmap4(xdr, bmval, ARRAY_SIZE(bmval)); in encode_attrs()
1162 xdr_stream_encode_opaque_inline(xdr, (void **)&p, len); in encode_attrs()
1200 static void encode_access(struct xdr_stream *xdr, u32 access, struct compound_hdr *hdr) in encode_access() argument
1202 encode_op_hdr(xdr, OP_ACCESS, decode_access_maxsz, hdr); in encode_access()
1203 encode_uint32(xdr, access); in encode_access()
1206 static void encode_close(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct compound_h… in encode_close() argument
1208 encode_op_hdr(xdr, OP_CLOSE, decode_close_maxsz, hdr); in encode_close()
1209 encode_nfs4_seqid(xdr, arg->seqid); in encode_close()
1210 encode_nfs4_stateid(xdr, &arg->stateid); in encode_close()
1213 static void encode_commit(struct xdr_stream *xdr, const struct nfs_commitargs *args, struct compoun… in encode_commit() argument
1217 encode_op_hdr(xdr, OP_COMMIT, decode_commit_maxsz, hdr); in encode_commit()
1218 p = reserve_space(xdr, 12); in encode_commit()
1223 static void encode_create(struct xdr_stream *xdr, const struct nfs4_create_arg *create, struct comp… in encode_create() argument
1227 encode_op_hdr(xdr, OP_CREATE, decode_create_maxsz, hdr); in encode_create()
1228 encode_uint32(xdr, create->ftype); in encode_create()
1232 p = reserve_space(xdr, 4); in encode_create()
1234 xdr_write_pages(xdr, create->u.symlink.pages, 0, in encode_create()
1236 xdr->buf->flags |= XDRBUF_WRITE; in encode_create()
1240 p = reserve_space(xdr, 8); in encode_create()
1249 encode_string(xdr, create->name->len, create->name->name); in encode_create()
1250 encode_attrs(xdr, create->attrs, create->label, &create->umask, in encode_create()
1254 static void encode_getattr(struct xdr_stream *xdr, in encode_getattr() argument
1260 encode_op_hdr(xdr, OP_GETATTR, decode_getattr_maxsz, hdr); in encode_getattr()
1267 xdr_encode_bitmap4(xdr, bitmap, len); in encode_getattr()
1270 static void encode_getfattr(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) in encode_getfattr() argument
1272 encode_getattr(xdr, nfs4_fattr_bitmap, bitmask, in encode_getfattr()
1276 static void encode_getfattr_open(struct xdr_stream *xdr, const u32 *bitmask, in encode_getfattr_open() argument
1280 encode_getattr(xdr, open_bitmap, bitmask, 3, hdr); in encode_getfattr_open()
1283 static void encode_fsinfo(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) in encode_fsinfo() argument
1285 encode_getattr(xdr, nfs4_fsinfo_bitmap, bitmask, in encode_fsinfo()
1289 static void encode_fs_locations(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hd… in encode_fs_locations() argument
1291 encode_getattr(xdr, nfs4_fs_locations_bitmap, bitmask, in encode_fs_locations()
1295 static void encode_getfh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_getfh() argument
1297 encode_op_hdr(xdr, OP_GETFH, decode_getfh_maxsz, hdr); in encode_getfh()
1300 static void encode_link(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) in encode_link() argument
1302 encode_op_hdr(xdr, OP_LINK, decode_link_maxsz, hdr); in encode_link()
1303 encode_string(xdr, name->len, name->name); in encode_link()
1320 static void encode_lockowner(struct xdr_stream *xdr, const struct nfs_lowner *lowner) in encode_lockowner() argument
1324 p = reserve_space(xdr, 32); in encode_lockowner()
1336 static void encode_lock(struct xdr_stream *xdr, const struct nfs_lock_args *args, struct compound_h… in encode_lock() argument
1340 encode_op_hdr(xdr, OP_LOCK, decode_lock_maxsz, hdr); in encode_lock()
1341 p = reserve_space(xdr, 28); in encode_lock()
1348 encode_nfs4_seqid(xdr, args->open_seqid); in encode_lock()
1349 encode_nfs4_stateid(xdr, &args->open_stateid); in encode_lock()
1350 encode_nfs4_seqid(xdr, args->lock_seqid); in encode_lock()
1351 encode_lockowner(xdr, &args->lock_owner); in encode_lock()
1354 encode_nfs4_stateid(xdr, &args->lock_stateid); in encode_lock()
1355 encode_nfs4_seqid(xdr, args->lock_seqid); in encode_lock()
1359 static void encode_lockt(struct xdr_stream *xdr, const struct nfs_lockt_args *args, struct compound… in encode_lockt() argument
1363 encode_op_hdr(xdr, OP_LOCKT, decode_lockt_maxsz, hdr); in encode_lockt()
1364 p = reserve_space(xdr, 20); in encode_lockt()
1368 encode_lockowner(xdr, &args->lock_owner); in encode_lockt()
1371 static void encode_locku(struct xdr_stream *xdr, const struct nfs_locku_args *args, struct compound… in encode_locku() argument
1375 encode_op_hdr(xdr, OP_LOCKU, decode_locku_maxsz, hdr); in encode_locku()
1376 encode_uint32(xdr, nfs4_lock_type(args->fl, 0)); in encode_locku()
1377 encode_nfs4_seqid(xdr, args->seqid); in encode_locku()
1378 encode_nfs4_stateid(xdr, &args->stateid); in encode_locku()
1379 p = reserve_space(xdr, 16); in encode_locku()
1384 static void encode_release_lockowner(struct xdr_stream *xdr, const struct nfs_lowner *lowner, struc… in encode_release_lockowner() argument
1386 encode_op_hdr(xdr, OP_RELEASE_LOCKOWNER, decode_release_lockowner_maxsz, hdr); in encode_release_lockowner()
1387 encode_lockowner(xdr, lowner); in encode_release_lockowner()
1390 static void encode_lookup(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) in encode_lookup() argument
1392 encode_op_hdr(xdr, OP_LOOKUP, decode_lookup_maxsz, hdr); in encode_lookup()
1393 encode_string(xdr, name->len, name->name); in encode_lookup()
1396 static void encode_lookupp(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_lookupp() argument
1398 encode_op_hdr(xdr, OP_LOOKUPP, decode_lookupp_maxsz, hdr); in encode_lookupp()
1401 static void encode_share_access(struct xdr_stream *xdr, u32 share_access) in encode_share_access() argument
1405 p = reserve_space(xdr, 8); in encode_share_access()
1410 static inline void encode_openhdr(struct xdr_stream *xdr, const struct nfs_openargs *arg) in encode_openhdr() argument
1417 encode_nfs4_seqid(xdr, arg->seqid); in encode_openhdr()
1418 encode_share_access(xdr, arg->share_access); in encode_openhdr()
1419 p = reserve_space(xdr, 36); in encode_openhdr()
1428 static inline void encode_createmode(struct xdr_stream *xdr, const struct nfs_openargs *arg) in encode_createmode() argument
1432 p = reserve_space(xdr, 4); in encode_createmode()
1436 encode_attrs(xdr, arg->u.attrs, arg->label, &arg->umask, in encode_createmode()
1441 encode_attrs(xdr, arg->u.attrs, arg->label, &arg->umask, in encode_createmode()
1446 encode_nfs4_verifier(xdr, &arg->u.verifier); in encode_createmode()
1450 encode_nfs4_verifier(xdr, &arg->u.verifier); in encode_createmode()
1451 encode_attrs(xdr, arg->u.attrs, arg->label, &arg->umask, in encode_createmode()
1456 static void encode_opentype(struct xdr_stream *xdr, const struct nfs_openargs *arg) in encode_opentype() argument
1460 p = reserve_space(xdr, 4); in encode_opentype()
1467 encode_createmode(xdr, arg); in encode_opentype()
1471 static inline void encode_delegation_type(struct xdr_stream *xdr, fmode_t delegation_type) in encode_delegation_type() argument
1475 p = reserve_space(xdr, 4); in encode_delegation_type()
1491 static inline void encode_claim_null(struct xdr_stream *xdr, const struct qstr *name) in encode_claim_null() argument
1495 p = reserve_space(xdr, 4); in encode_claim_null()
1497 encode_string(xdr, name->len, name->name); in encode_claim_null()
1500 static inline void encode_claim_previous(struct xdr_stream *xdr, fmode_t type) in encode_claim_previous() argument
1504 p = reserve_space(xdr, 4); in encode_claim_previous()
1506 encode_delegation_type(xdr, type); in encode_claim_previous()
1509 static inline void encode_claim_delegate_cur(struct xdr_stream *xdr, const struct qstr *name, const… in encode_claim_delegate_cur() argument
1513 p = reserve_space(xdr, 4); in encode_claim_delegate_cur()
1515 encode_nfs4_stateid(xdr, stateid); in encode_claim_delegate_cur()
1516 encode_string(xdr, name->len, name->name); in encode_claim_delegate_cur()
1519 static inline void encode_claim_fh(struct xdr_stream *xdr) in encode_claim_fh() argument
1523 p = reserve_space(xdr, 4); in encode_claim_fh()
1527 static inline void encode_claim_delegate_cur_fh(struct xdr_stream *xdr, const nfs4_stateid *stateid) in encode_claim_delegate_cur_fh() argument
1531 p = reserve_space(xdr, 4); in encode_claim_delegate_cur_fh()
1533 encode_nfs4_stateid(xdr, stateid); in encode_claim_delegate_cur_fh()
1536 static void encode_open(struct xdr_stream *xdr, const struct nfs_openargs *arg, struct compound_hdr… in encode_open() argument
1538 encode_op_hdr(xdr, OP_OPEN, decode_open_maxsz, hdr); in encode_open()
1539 encode_openhdr(xdr, arg); in encode_open()
1540 encode_opentype(xdr, arg); in encode_open()
1543 encode_claim_null(xdr, arg->name); in encode_open()
1546 encode_claim_previous(xdr, arg->u.delegation_type); in encode_open()
1549 encode_claim_delegate_cur(xdr, arg->name, &arg->u.delegation); in encode_open()
1552 encode_claim_fh(xdr); in encode_open()
1555 encode_claim_delegate_cur_fh(xdr, &arg->u.delegation); in encode_open()
1562 static void encode_open_confirm(struct xdr_stream *xdr, const struct nfs_open_confirmargs *arg, str… in encode_open_confirm() argument
1564 encode_op_hdr(xdr, OP_OPEN_CONFIRM, decode_open_confirm_maxsz, hdr); in encode_open_confirm()
1565 encode_nfs4_stateid(xdr, arg->stateid); in encode_open_confirm()
1566 encode_nfs4_seqid(xdr, arg->seqid); in encode_open_confirm()
1569 static void encode_open_downgrade(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct c… in encode_open_downgrade() argument
1571 encode_op_hdr(xdr, OP_OPEN_DOWNGRADE, decode_open_downgrade_maxsz, hdr); in encode_open_downgrade()
1572 encode_nfs4_stateid(xdr, &arg->stateid); in encode_open_downgrade()
1573 encode_nfs4_seqid(xdr, arg->seqid); in encode_open_downgrade()
1574 encode_share_access(xdr, arg->share_access); in encode_open_downgrade()
1578 encode_putfh(struct xdr_stream *xdr, const struct nfs_fh *fh, struct compound_hdr *hdr) in encode_putfh() argument
1580 encode_op_hdr(xdr, OP_PUTFH, decode_putfh_maxsz, hdr); in encode_putfh()
1581 encode_string(xdr, fh->size, fh->data); in encode_putfh()
1584 static void encode_putrootfh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_putrootfh() argument
1586 encode_op_hdr(xdr, OP_PUTROOTFH, decode_putrootfh_maxsz, hdr); in encode_putrootfh()
1589 static void encode_read(struct xdr_stream *xdr, const struct nfs_pgio_args *args, in encode_read() argument
1594 encode_op_hdr(xdr, OP_READ, decode_read_maxsz, hdr); in encode_read()
1595 encode_nfs4_stateid(xdr, &args->stateid); in encode_read()
1597 p = reserve_space(xdr, 12); in encode_read()
1602 static void encode_readdir(struct xdr_stream *xdr, const struct nfs4_readdir_arg *readdir, struct r… in encode_readdir() argument
1632 encode_op_hdr(xdr, OP_READDIR, decode_readdir_maxsz, hdr); in encode_readdir()
1633 encode_uint64(xdr, readdir->cookie); in encode_readdir()
1634 encode_nfs4_verifier(xdr, &readdir->verifier); in encode_readdir()
1635 p = reserve_space(xdr, 12 + (attrlen << 2)); in encode_readdir()
1652 static void encode_readlink(struct xdr_stream *xdr, const struct nfs4_readlink *readlink, struct rp… in encode_readlink() argument
1654 encode_op_hdr(xdr, OP_READLINK, decode_readlink_maxsz, hdr); in encode_readlink()
1657 static void encode_remove(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) in encode_remove() argument
1659 encode_op_hdr(xdr, OP_REMOVE, decode_remove_maxsz, hdr); in encode_remove()
1660 encode_string(xdr, name->len, name->name); in encode_remove()
1663 static void encode_rename(struct xdr_stream *xdr, const struct qstr *oldname, const struct qstr *ne… in encode_rename() argument
1665 encode_op_hdr(xdr, OP_RENAME, decode_rename_maxsz, hdr); in encode_rename()
1666 encode_string(xdr, oldname->len, oldname->name); in encode_rename()
1667 encode_string(xdr, newname->len, newname->name); in encode_rename()
1670 static void encode_renew(struct xdr_stream *xdr, clientid4 clid, in encode_renew() argument
1673 encode_op_hdr(xdr, OP_RENEW, decode_renew_maxsz, hdr); in encode_renew()
1674 encode_uint64(xdr, clid); in encode_renew()
1678 encode_restorefh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_restorefh() argument
1680 encode_op_hdr(xdr, OP_RESTOREFH, decode_restorefh_maxsz, hdr); in encode_restorefh()
1700 static void encode_setacl(struct xdr_stream *xdr, in encode_setacl() argument
1708 encode_op_hdr(xdr, OP_SETATTR, decode_setacl_maxsz, hdr); in encode_setacl()
1709 encode_nfs4_stateid(xdr, &zero_stateid); in encode_setacl()
1710 xdr_encode_bitmap4(xdr, bitmap, ARRAY_SIZE(bitmap)); in encode_setacl()
1711 encode_uint32(xdr, arg->acl_len); in encode_setacl()
1712 xdr_write_pages(xdr, arg->acl_pages, 0, arg->acl_len); in encode_setacl()
1716 encode_savefh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_savefh() argument
1718 encode_op_hdr(xdr, OP_SAVEFH, decode_savefh_maxsz, hdr); in encode_savefh()
1721 static void encode_setattr(struct xdr_stream *xdr, const struct nfs_setattrargs *arg, const struct … in encode_setattr() argument
1723 encode_op_hdr(xdr, OP_SETATTR, decode_setattr_maxsz, hdr); in encode_setattr()
1724 encode_nfs4_stateid(xdr, &arg->stateid); in encode_setattr()
1725 encode_attrs(xdr, arg->iap, arg->label, NULL, server, in encode_setattr()
1729 static void encode_setclientid(struct xdr_stream *xdr, const struct nfs4_setclientid *setclientid, … in encode_setclientid() argument
1733 encode_op_hdr(xdr, OP_SETCLIENTID, decode_setclientid_maxsz, hdr); in encode_setclientid()
1734 encode_nfs4_verifier(xdr, setclientid->sc_verifier); in encode_setclientid()
1736 encode_string(xdr, strlen(setclientid->sc_clnt->cl_owner_id), in encode_setclientid()
1738 p = reserve_space(xdr, 4); in encode_setclientid()
1740 encode_string(xdr, setclientid->sc_netid_len, setclientid->sc_netid); in encode_setclientid()
1741 encode_string(xdr, setclientid->sc_uaddr_len, setclientid->sc_uaddr); in encode_setclientid()
1742 p = reserve_space(xdr, 4); in encode_setclientid()
1746 static void encode_setclientid_confirm(struct xdr_stream *xdr, const struct nfs4_setclientid_res *a… in encode_setclientid_confirm() argument
1748 encode_op_hdr(xdr, OP_SETCLIENTID_CONFIRM, in encode_setclientid_confirm()
1750 encode_uint64(xdr, arg->clientid); in encode_setclientid_confirm()
1751 encode_nfs4_verifier(xdr, &arg->confirm); in encode_setclientid_confirm()
1754 static void encode_write(struct xdr_stream *xdr, const struct nfs_pgio_args *args, in encode_write() argument
1759 encode_op_hdr(xdr, OP_WRITE, decode_write_maxsz, hdr); in encode_write()
1760 encode_nfs4_stateid(xdr, &args->stateid); in encode_write()
1762 p = reserve_space(xdr, 16); in encode_write()
1767 xdr_write_pages(xdr, args->pages, args->pgbase, args->count); in encode_write()
1770 static void encode_delegreturn(struct xdr_stream *xdr, const nfs4_stateid *stateid, struct compound… in encode_delegreturn() argument
1772 encode_op_hdr(xdr, OP_DELEGRETURN, decode_delegreturn_maxsz, hdr); in encode_delegreturn()
1773 encode_nfs4_stateid(xdr, stateid); in encode_delegreturn()
1776 static void encode_secinfo(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hd… in encode_secinfo() argument
1778 encode_op_hdr(xdr, OP_SECINFO, decode_secinfo_maxsz, hdr); in encode_secinfo()
1779 encode_string(xdr, name->len, name->name); in encode_secinfo()
1784 static void encode_bind_conn_to_session(struct xdr_stream *xdr, in encode_bind_conn_to_session() argument
1790 encode_op_hdr(xdr, OP_BIND_CONN_TO_SESSION, in encode_bind_conn_to_session()
1792 encode_opaque_fixed(xdr, args->sessionid.data, NFS4_MAX_SESSIONID_LEN); in encode_bind_conn_to_session()
1793 p = xdr_reserve_space(xdr, 8); in encode_bind_conn_to_session()
1798 static void encode_op_map(struct xdr_stream *xdr, const struct nfs4_op_map *op_map) in encode_op_map() argument
1801 encode_uint32(xdr, NFS4_OP_MAP_NUM_WORDS); in encode_op_map()
1803 encode_uint32(xdr, op_map->u.words[i]); in encode_op_map()
1806 static void encode_exchange_id(struct xdr_stream *xdr, in encode_exchange_id() argument
1814 encode_op_hdr(xdr, OP_EXCHANGE_ID, decode_exchange_id_maxsz, hdr); in encode_exchange_id()
1815 encode_nfs4_verifier(xdr, &args->verifier); in encode_exchange_id()
1817 encode_string(xdr, strlen(args->client->cl_owner_id), in encode_exchange_id()
1820 encode_uint32(xdr, args->flags); in encode_exchange_id()
1821 encode_uint32(xdr, args->state_protect.how); in encode_exchange_id()
1827 encode_op_map(xdr, &args->state_protect.enforce); in encode_exchange_id()
1828 encode_op_map(xdr, &args->state_protect.allow); in encode_exchange_id()
1844 encode_uint32(xdr, 1); /* implementation id array length=1 */ in encode_exchange_id()
1846 encode_string(xdr, in encode_exchange_id()
1849 encode_string(xdr, len, impl_name); in encode_exchange_id()
1851 p = reserve_space(xdr, 12); in encode_exchange_id()
1855 encode_uint32(xdr, 0); /* implementation id array length=0 */ in encode_exchange_id()
1858 static void encode_create_session(struct xdr_stream *xdr, in encode_create_session() argument
1875 encode_op_hdr(xdr, OP_CREATE_SESSION, decode_create_session_maxsz, hdr); in encode_create_session()
1876 p = reserve_space(xdr, 16 + 2*28 + 20 + clnt->cl_nodelen + 12); in encode_create_session()
1911 static void encode_destroy_session(struct xdr_stream *xdr, in encode_destroy_session() argument
1915 encode_op_hdr(xdr, OP_DESTROY_SESSION, decode_destroy_session_maxsz, hdr); in encode_destroy_session()
1916 encode_opaque_fixed(xdr, session->sess_id.data, NFS4_MAX_SESSIONID_LEN); in encode_destroy_session()
1919 static void encode_destroy_clientid(struct xdr_stream *xdr, in encode_destroy_clientid() argument
1923 encode_op_hdr(xdr, OP_DESTROY_CLIENTID, decode_destroy_clientid_maxsz, hdr); in encode_destroy_clientid()
1924 encode_uint64(xdr, clientid); in encode_destroy_clientid()
1927 static void encode_reclaim_complete(struct xdr_stream *xdr, in encode_reclaim_complete() argument
1931 encode_op_hdr(xdr, OP_RECLAIM_COMPLETE, decode_reclaim_complete_maxsz, hdr); in encode_reclaim_complete()
1932 encode_uint32(xdr, args->one_fs); in encode_reclaim_complete()
1936 static void encode_sequence(struct xdr_stream *xdr, in encode_sequence() argument
1951 encode_op_hdr(xdr, OP_SEQUENCE, decode_sequence_maxsz, hdr); in encode_sequence()
1965 p = reserve_space(xdr, NFS4_MAX_SESSIONID_LEN + 16); in encode_sequence()
1976 encode_getdeviceinfo(struct xdr_stream *xdr, in encode_getdeviceinfo() argument
1982 encode_op_hdr(xdr, OP_GETDEVICEINFO, decode_getdeviceinfo_maxsz, hdr); in encode_getdeviceinfo()
1983 p = reserve_space(xdr, NFS4_DEVICEID4_SIZE + 4 + 4); in encode_getdeviceinfo()
1989 p = reserve_space(xdr, 4 + 4); in encode_getdeviceinfo()
1995 encode_layoutget(struct xdr_stream *xdr, in encode_layoutget() argument
2001 encode_op_hdr(xdr, OP_LAYOUTGET, decode_layoutget_maxsz, hdr); in encode_layoutget()
2002 p = reserve_space(xdr, 36); in encode_layoutget()
2009 encode_nfs4_stateid(xdr, &args->stateid); in encode_layoutget()
2010 encode_uint32(xdr, args->maxcount); in encode_layoutget()
2022 encode_layoutcommit(struct xdr_stream *xdr, in encode_layoutcommit() argument
2032 encode_op_hdr(xdr, OP_LAYOUTCOMMIT, decode_layoutcommit_maxsz, hdr); in encode_layoutcommit()
2033 p = reserve_space(xdr, 20); in encode_layoutcommit()
2038 encode_nfs4_stateid(xdr, &args->stateid); in encode_layoutcommit()
2040 p = reserve_space(xdr, 20); in encode_layoutcommit()
2044 p = reserve_space(xdr, 12); in encode_layoutcommit()
2050 encode_uint32(xdr, args->layoutupdate_len); in encode_layoutcommit()
2052 xdr_write_pages(xdr, args->layoutupdate_pages, 0, in encode_layoutcommit()
2059 encode_layoutreturn(struct xdr_stream *xdr, in encode_layoutreturn() argument
2065 encode_op_hdr(xdr, OP_LAYOUTRETURN, decode_layoutreturn_maxsz, hdr); in encode_layoutreturn()
2066 p = reserve_space(xdr, 16); in encode_layoutreturn()
2071 p = reserve_space(xdr, 16); in encode_layoutreturn()
2075 encode_nfs4_stateid(xdr, &args->stateid); in encode_layoutreturn()
2078 args->ld_private->ops->encode(xdr, args, args->ld_private); in encode_layoutreturn()
2080 encode_uint32(xdr, 0); in encode_layoutreturn()
2084 encode_secinfo_no_name(struct xdr_stream *xdr, in encode_secinfo_no_name() argument
2088 encode_op_hdr(xdr, OP_SECINFO_NO_NAME, decode_secinfo_no_name_maxsz, hdr); in encode_secinfo_no_name()
2089 encode_uint32(xdr, args->style); in encode_secinfo_no_name()
2093 static void encode_test_stateid(struct xdr_stream *xdr, in encode_test_stateid() argument
2097 encode_op_hdr(xdr, OP_TEST_STATEID, decode_test_stateid_maxsz, hdr); in encode_test_stateid()
2098 encode_uint32(xdr, 1); in encode_test_stateid()
2099 encode_nfs4_stateid(xdr, args->stateid); in encode_test_stateid()
2102 static void encode_free_stateid(struct xdr_stream *xdr, in encode_free_stateid() argument
2106 encode_op_hdr(xdr, OP_FREE_STATEID, decode_free_stateid_maxsz, hdr); in encode_free_stateid()
2107 encode_nfs4_stateid(xdr, &args->stateid); in encode_free_stateid()
2111 encode_layoutreturn(struct xdr_stream *xdr, in encode_layoutreturn() argument
2118 encode_layoutget(struct xdr_stream *xdr, in encode_layoutget() argument
2142 static void nfs4_xdr_enc_access(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_access() argument
2150 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_access()
2151 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_access()
2152 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_access()
2153 encode_access(xdr, args->access, &hdr); in nfs4_xdr_enc_access()
2155 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_access()
2162 static void nfs4_xdr_enc_lookup(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_lookup() argument
2170 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lookup()
2171 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lookup()
2172 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_lookup()
2173 encode_lookup(xdr, args->name, &hdr); in nfs4_xdr_enc_lookup()
2174 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_lookup()
2175 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_lookup()
2182 static void nfs4_xdr_enc_lookupp(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_lookupp() argument
2190 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lookupp()
2191 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lookupp()
2192 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_lookupp()
2193 encode_lookupp(xdr, &hdr); in nfs4_xdr_enc_lookupp()
2194 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_lookupp()
2195 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_lookupp()
2203 struct xdr_stream *xdr, in nfs4_xdr_enc_lookup_root() argument
2211 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lookup_root()
2212 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lookup_root()
2213 encode_putrootfh(xdr, &hdr); in nfs4_xdr_enc_lookup_root()
2214 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_lookup_root()
2215 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_lookup_root()
2222 static void nfs4_xdr_enc_remove(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_remove() argument
2230 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_remove()
2231 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_remove()
2232 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_remove()
2233 encode_remove(xdr, &args->name, &hdr); in nfs4_xdr_enc_remove()
2240 static void nfs4_xdr_enc_rename(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_rename() argument
2248 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_rename()
2249 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_rename()
2250 encode_putfh(xdr, args->old_dir, &hdr); in nfs4_xdr_enc_rename()
2251 encode_savefh(xdr, &hdr); in nfs4_xdr_enc_rename()
2252 encode_putfh(xdr, args->new_dir, &hdr); in nfs4_xdr_enc_rename()
2253 encode_rename(xdr, args->old_name, args->new_name, &hdr); in nfs4_xdr_enc_rename()
2260 static void nfs4_xdr_enc_link(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_link() argument
2268 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_link()
2269 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_link()
2270 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_link()
2271 encode_savefh(xdr, &hdr); in nfs4_xdr_enc_link()
2272 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_link()
2273 encode_link(xdr, args->name, &hdr); in nfs4_xdr_enc_link()
2274 encode_restorefh(xdr, &hdr); in nfs4_xdr_enc_link()
2275 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_link()
2282 static void nfs4_xdr_enc_create(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_create() argument
2290 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_create()
2291 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_create()
2292 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_create()
2293 encode_create(xdr, args, &hdr); in nfs4_xdr_enc_create()
2294 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_create()
2295 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_create()
2302 static void nfs4_xdr_enc_symlink(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_symlink() argument
2307 nfs4_xdr_enc_create(req, xdr, args); in nfs4_xdr_enc_symlink()
2313 static void nfs4_xdr_enc_getattr(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_getattr() argument
2321 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_getattr()
2322 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_getattr()
2323 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_getattr()
2324 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_getattr()
2331 static void nfs4_xdr_enc_close(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_close() argument
2339 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_close()
2340 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_close()
2341 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_close()
2343 encode_layoutreturn(xdr, args->lr_args, &hdr); in nfs4_xdr_enc_close()
2345 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_close()
2346 encode_close(xdr, args, &hdr); in nfs4_xdr_enc_close()
2353 static void nfs4_xdr_enc_open(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_open() argument
2361 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open()
2362 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_open()
2363 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open()
2364 encode_open(xdr, args, &hdr); in nfs4_xdr_enc_open()
2365 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_open()
2367 encode_access(xdr, args->access, &hdr); in nfs4_xdr_enc_open()
2368 encode_getfattr_open(xdr, args->bitmask, args->open_bitmap, &hdr); in nfs4_xdr_enc_open()
2370 encode_layoutget(xdr, args->lg_args, &hdr); in nfs4_xdr_enc_open()
2382 struct xdr_stream *xdr, in nfs4_xdr_enc_open_confirm() argument
2390 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open_confirm()
2391 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open_confirm()
2392 encode_open_confirm(xdr, args, &hdr); in nfs4_xdr_enc_open_confirm()
2400 struct xdr_stream *xdr, in nfs4_xdr_enc_open_noattr() argument
2408 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open_noattr()
2409 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_open_noattr()
2410 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open_noattr()
2411 encode_open(xdr, args, &hdr); in nfs4_xdr_enc_open_noattr()
2413 encode_access(xdr, args->access, &hdr); in nfs4_xdr_enc_open_noattr()
2414 encode_getfattr_open(xdr, args->bitmask, args->open_bitmap, &hdr); in nfs4_xdr_enc_open_noattr()
2416 encode_layoutget(xdr, args->lg_args, &hdr); in nfs4_xdr_enc_open_noattr()
2428 struct xdr_stream *xdr, in nfs4_xdr_enc_open_downgrade() argument
2436 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open_downgrade()
2437 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_open_downgrade()
2438 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open_downgrade()
2440 encode_layoutreturn(xdr, args->lr_args, &hdr); in nfs4_xdr_enc_open_downgrade()
2441 encode_open_downgrade(xdr, args, &hdr); in nfs4_xdr_enc_open_downgrade()
2448 static void nfs4_xdr_enc_lock(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_lock() argument
2456 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lock()
2457 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lock()
2458 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_lock()
2459 encode_lock(xdr, args, &hdr); in nfs4_xdr_enc_lock()
2466 static void nfs4_xdr_enc_lockt(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_lockt() argument
2474 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lockt()
2475 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lockt()
2476 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_lockt()
2477 encode_lockt(xdr, args, &hdr); in nfs4_xdr_enc_lockt()
2484 static void nfs4_xdr_enc_locku(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_locku() argument
2492 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_locku()
2493 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_locku()
2494 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_locku()
2495 encode_locku(xdr, args, &hdr); in nfs4_xdr_enc_locku()
2500 struct xdr_stream *xdr, in nfs4_xdr_enc_release_lockowner() argument
2508 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_release_lockowner()
2509 encode_release_lockowner(xdr, &args->lock_owner, &hdr); in nfs4_xdr_enc_release_lockowner()
2516 static void nfs4_xdr_enc_readlink(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_readlink() argument
2524 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_readlink()
2525 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_readlink()
2526 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_readlink()
2527 encode_readlink(xdr, args, req, &hdr); in nfs4_xdr_enc_readlink()
2537 static void nfs4_xdr_enc_readdir(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_readdir() argument
2545 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_readdir()
2546 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_readdir()
2547 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_readdir()
2548 encode_readdir(xdr, args, req, &hdr); in nfs4_xdr_enc_readdir()
2558 static void nfs4_xdr_enc_read(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_read() argument
2566 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_read()
2567 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_read()
2568 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_read()
2569 encode_read(xdr, args, &hdr); in nfs4_xdr_enc_read()
2580 static void nfs4_xdr_enc_setattr(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_setattr() argument
2588 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setattr()
2589 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_setattr()
2590 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_setattr()
2591 encode_setattr(xdr, args, args->server, &hdr); in nfs4_xdr_enc_setattr()
2592 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_setattr()
2599 static void nfs4_xdr_enc_getacl(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_getacl() argument
2611 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_getacl()
2612 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_getacl()
2613 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_getacl()
2615 encode_getattr(xdr, nfs4_acl_bitmap, NULL, in nfs4_xdr_enc_getacl()
2626 static void nfs4_xdr_enc_write(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_write() argument
2634 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_write()
2635 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_write()
2636 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_write()
2637 encode_write(xdr, args, &hdr); in nfs4_xdr_enc_write()
2640 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_write()
2647 static void nfs4_xdr_enc_commit(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_commit() argument
2655 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_commit()
2656 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_commit()
2657 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_commit()
2658 encode_commit(xdr, args, &hdr); in nfs4_xdr_enc_commit()
2665 static void nfs4_xdr_enc_fsinfo(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_fsinfo() argument
2673 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_fsinfo()
2674 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_fsinfo()
2675 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_fsinfo()
2676 encode_fsinfo(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_fsinfo()
2683 static void nfs4_xdr_enc_pathconf(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_pathconf() argument
2691 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_pathconf()
2692 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_pathconf()
2693 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_pathconf()
2694 encode_getattr(xdr, nfs4_pathconf_bitmap, args->bitmask, in nfs4_xdr_enc_pathconf()
2702 static void nfs4_xdr_enc_statfs(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_statfs() argument
2710 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_statfs()
2711 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_statfs()
2712 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_statfs()
2713 encode_getattr(xdr, nfs4_statfs_bitmap, args->bitmask, in nfs4_xdr_enc_statfs()
2722 struct xdr_stream *xdr, in nfs4_xdr_enc_server_caps() argument
2731 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_server_caps()
2732 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_server_caps()
2733 encode_putfh(xdr, args->fhandle, &hdr); in nfs4_xdr_enc_server_caps()
2734 encode_getattr(xdr, bitmask, NULL, 3, &hdr); in nfs4_xdr_enc_server_caps()
2741 static void nfs4_xdr_enc_renew(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_renew() argument
2750 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_renew()
2751 encode_renew(xdr, clp->cl_clientid, &hdr); in nfs4_xdr_enc_renew()
2759 struct xdr_stream *xdr, in nfs4_xdr_enc_setclientid() argument
2767 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setclientid()
2768 encode_setclientid(xdr, sc, &hdr); in nfs4_xdr_enc_setclientid()
2776 struct xdr_stream *xdr, in nfs4_xdr_enc_setclientid_confirm() argument
2784 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setclientid_confirm()
2785 encode_setclientid_confirm(xdr, arg, &hdr); in nfs4_xdr_enc_setclientid_confirm()
2793 struct xdr_stream *xdr, in nfs4_xdr_enc_delegreturn() argument
2801 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_delegreturn()
2802 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_delegreturn()
2803 encode_putfh(xdr, args->fhandle, &hdr); in nfs4_xdr_enc_delegreturn()
2805 encode_layoutreturn(xdr, args->lr_args, &hdr); in nfs4_xdr_enc_delegreturn()
2807 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_delegreturn()
2808 encode_delegreturn(xdr, args->stateid, &hdr); in nfs4_xdr_enc_delegreturn()
2816 struct xdr_stream *xdr, in nfs4_xdr_enc_fs_locations() argument
2825 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_fs_locations()
2826 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_fs_locations()
2828 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_fs_locations()
2830 encode_fs_locations(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_fs_locations()
2832 encode_renew(xdr, args->clientid, &hdr); in nfs4_xdr_enc_fs_locations()
2834 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_fs_locations()
2835 encode_lookup(xdr, args->name, &hdr); in nfs4_xdr_enc_fs_locations()
2837 encode_fs_locations(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_fs_locations()
2849 struct xdr_stream *xdr, in nfs4_xdr_enc_secinfo() argument
2857 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_secinfo()
2858 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_secinfo()
2859 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_secinfo()
2860 encode_secinfo(xdr, args->name, &hdr); in nfs4_xdr_enc_secinfo()
2868 struct xdr_stream *xdr, in nfs4_xdr_enc_fsid_present() argument
2876 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_fsid_present()
2877 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_fsid_present()
2878 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_fsid_present()
2879 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_fsid_present()
2881 encode_renew(xdr, args->clientid, &hdr); in nfs4_xdr_enc_fsid_present()
2890 struct xdr_stream *xdr, in nfs4_xdr_enc_bind_conn_to_session() argument
2898 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_bind_conn_to_session()
2899 encode_bind_conn_to_session(xdr, args, &hdr); in nfs4_xdr_enc_bind_conn_to_session()
2907 struct xdr_stream *xdr, in nfs4_xdr_enc_exchange_id() argument
2915 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_exchange_id()
2916 encode_exchange_id(xdr, args, &hdr); in nfs4_xdr_enc_exchange_id()
2924 struct xdr_stream *xdr, in nfs4_xdr_enc_create_session() argument
2932 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_create_session()
2933 encode_create_session(xdr, args, &hdr); in nfs4_xdr_enc_create_session()
2941 struct xdr_stream *xdr, in nfs4_xdr_enc_destroy_session() argument
2949 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_destroy_session()
2950 encode_destroy_session(xdr, session, &hdr); in nfs4_xdr_enc_destroy_session()
2958 struct xdr_stream *xdr, in nfs4_xdr_enc_destroy_clientid() argument
2966 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_destroy_clientid()
2967 encode_destroy_clientid(xdr, clp->cl_clientid, &hdr); in nfs4_xdr_enc_destroy_clientid()
2974 static void nfs4_xdr_enc_sequence(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_sequence() argument
2982 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_sequence()
2983 encode_sequence(xdr, args, &hdr); in nfs4_xdr_enc_sequence()
2993 struct xdr_stream *xdr, in nfs4_xdr_enc_get_lease_time() argument
3002 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_get_lease_time()
3003 encode_sequence(xdr, &args->la_seq_args, &hdr); in nfs4_xdr_enc_get_lease_time()
3004 encode_putrootfh(xdr, &hdr); in nfs4_xdr_enc_get_lease_time()
3005 encode_fsinfo(xdr, lease_bitmap, &hdr); in nfs4_xdr_enc_get_lease_time()
3015 struct xdr_stream *xdr, in nfs4_xdr_enc_reclaim_complete() argument
3023 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_reclaim_complete()
3024 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_reclaim_complete()
3025 encode_reclaim_complete(xdr, args, &hdr); in nfs4_xdr_enc_reclaim_complete()
3033 struct xdr_stream *xdr, in nfs4_xdr_enc_getdeviceinfo() argument
3042 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_getdeviceinfo()
3043 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_getdeviceinfo()
3047 encode_getdeviceinfo(xdr, args, &hdr); in nfs4_xdr_enc_getdeviceinfo()
3060 struct xdr_stream *xdr, in nfs4_xdr_enc_layoutget() argument
3068 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_layoutget()
3069 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_layoutget()
3070 encode_putfh(xdr, NFS_FH(args->inode), &hdr); in nfs4_xdr_enc_layoutget()
3071 encode_layoutget(xdr, args, &hdr); in nfs4_xdr_enc_layoutget()
3082 struct xdr_stream *xdr, in nfs4_xdr_enc_layoutcommit() argument
3092 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_layoutcommit()
3093 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_layoutcommit()
3094 encode_putfh(xdr, NFS_FH(args->inode), &hdr); in nfs4_xdr_enc_layoutcommit()
3095 encode_layoutcommit(xdr, data->args.inode, args, &hdr); in nfs4_xdr_enc_layoutcommit()
3096 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_layoutcommit()
3104 struct xdr_stream *xdr, in nfs4_xdr_enc_layoutreturn() argument
3112 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_layoutreturn()
3113 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_layoutreturn()
3114 encode_putfh(xdr, NFS_FH(args->inode), &hdr); in nfs4_xdr_enc_layoutreturn()
3115 encode_layoutreturn(xdr, args, &hdr); in nfs4_xdr_enc_layoutreturn()
3123 struct xdr_stream *xdr, in nfs4_xdr_enc_secinfo_no_name() argument
3131 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_secinfo_no_name()
3132 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_secinfo_no_name()
3133 encode_putrootfh(xdr, &hdr); in nfs4_xdr_enc_secinfo_no_name()
3134 encode_secinfo_no_name(xdr, args, &hdr); in nfs4_xdr_enc_secinfo_no_name()
3142 struct xdr_stream *xdr, in nfs4_xdr_enc_test_stateid() argument
3150 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_test_stateid()
3151 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_test_stateid()
3152 encode_test_stateid(xdr, args, &hdr); in nfs4_xdr_enc_test_stateid()
3160 struct xdr_stream *xdr, in nfs4_xdr_enc_free_stateid() argument
3168 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_free_stateid()
3169 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_free_stateid()
3170 encode_free_stateid(xdr, args, &hdr); in nfs4_xdr_enc_free_stateid()
3175 static int decode_opaque_inline(struct xdr_stream *xdr, unsigned int *len, char **string) in decode_opaque_inline() argument
3177 ssize_t ret = xdr_stream_decode_opaque_inline(xdr, (void **)string, in decode_opaque_inline()
3185 static int decode_compound_hdr(struct xdr_stream *xdr, struct compound_hdr *hdr) in decode_compound_hdr() argument
3191 if (xdr_stream_decode_u32(xdr, &tmp) < 0) in decode_compound_hdr()
3195 ret = xdr_stream_decode_opaque_inline(xdr, &ptr, NFS4_OPAQUE_LIMIT); in decode_compound_hdr()
3201 if (xdr_stream_decode_u32(xdr, &tmp) < 0) in decode_compound_hdr()
3209 static bool __decode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 expected, in __decode_op_hdr() argument
3216 p = xdr_inline_decode(xdr, 8); in __decode_op_hdr()
3228 trace_nfs4_xdr_status(xdr, opnum, nfserr); in __decode_op_hdr()
3232 trace_nfs4_xdr_bad_operation(xdr, opnum, expected); in __decode_op_hdr()
3240 static int decode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 expected) in decode_op_hdr() argument
3244 __decode_op_hdr(xdr, expected, &retval); in decode_op_hdr()
3249 static int decode_ace(struct xdr_stream *xdr, void *ace) in decode_ace() argument
3255 p = xdr_inline_decode(xdr, 12); in decode_ace()
3258 return decode_opaque_inline(xdr, &strlen, &str); in decode_ace()
3262 decode_bitmap4(struct xdr_stream *xdr, uint32_t *bitmap, size_t sz) in decode_bitmap4() argument
3266 ret = xdr_stream_decode_uint32_array(xdr, bitmap, sz); in decode_bitmap4()
3274 static int decode_attr_bitmap(struct xdr_stream *xdr, uint32_t *bitmap) in decode_attr_bitmap() argument
3277 ret = decode_bitmap4(xdr, bitmap, 3); in decode_attr_bitmap()
3281 static int decode_attr_length(struct xdr_stream *xdr, uint32_t *attrlen, unsigned int *savep) in decode_attr_length() argument
3285 p = xdr_inline_decode(xdr, 4); in decode_attr_length()
3289 *savep = xdr_stream_pos(xdr); in decode_attr_length()
3293 static int decode_attr_supported(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *bitmask) in decode_attr_supported() argument
3297 ret = decode_attr_bitmap(xdr, bitmask); in decode_attr_supported()
3308 static int decode_attr_type(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *type) in decode_attr_type() argument
3317 p = xdr_inline_decode(xdr, 4); in decode_attr_type()
3332 static int decode_attr_fh_expire_type(struct xdr_stream *xdr, in decode_attr_fh_expire_type() argument
3341 p = xdr_inline_decode(xdr, 4); in decode_attr_fh_expire_type()
3351 static int decode_attr_change(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *change) in decode_attr_change() argument
3360 p = xdr_inline_decode(xdr, 8); in decode_attr_change()
3372 static int decode_attr_size(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *size) in decode_attr_size() argument
3381 p = xdr_inline_decode(xdr, 8); in decode_attr_size()
3392 static int decode_attr_link_support(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_link_support() argument
3400 p = xdr_inline_decode(xdr, 4); in decode_attr_link_support()
3410 static int decode_attr_symlink_support(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_symlink_support() argument
3418 p = xdr_inline_decode(xdr, 4); in decode_attr_symlink_support()
3428 static int decode_attr_fsid(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs_fsid *fsid) in decode_attr_fsid() argument
3438 p = xdr_inline_decode(xdr, 16); in decode_attr_fsid()
3452 static int decode_attr_lease_time(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_lease_time() argument
3460 p = xdr_inline_decode(xdr, 4); in decode_attr_lease_time()
3470 static int decode_attr_error(struct xdr_stream *xdr, uint32_t *bitmap, int32_t *res) in decode_attr_error() argument
3477 p = xdr_inline_decode(xdr, 4); in decode_attr_error()
3486 static int decode_attr_exclcreat_supported(struct xdr_stream *xdr, in decode_attr_exclcreat_supported() argument
3491 ret = decode_attr_bitmap(xdr, bitmask); in decode_attr_exclcreat_supported()
3502 static int decode_attr_filehandle(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs_fh *fh) in decode_attr_filehandle() argument
3513 p = xdr_inline_decode(xdr, 4); in decode_attr_filehandle()
3518 trace_nfs4_xdr_bad_filehandle(xdr, OP_READDIR, in decode_attr_filehandle()
3522 p = xdr_inline_decode(xdr, len); in decode_attr_filehandle()
3534 static int decode_attr_aclsupport(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_aclsupport() argument
3542 p = xdr_inline_decode(xdr, 4); in decode_attr_aclsupport()
3552 static int decode_attr_case_insensitive(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_case_insensitive() argument
3560 p = xdr_inline_decode(xdr, 4); in decode_attr_case_insensitive()
3570 static int decode_attr_case_preserving(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_case_preserving() argument
3578 p = xdr_inline_decode(xdr, 4); in decode_attr_case_preserving()
3588 static int decode_attr_fileid(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *fileid) in decode_attr_fileid() argument
3597 p = xdr_inline_decode(xdr, 8); in decode_attr_fileid()
3608 static int decode_attr_mounted_on_fileid(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *fileid) in decode_attr_mounted_on_fileid() argument
3617 p = xdr_inline_decode(xdr, 8); in decode_attr_mounted_on_fileid()
3628 static int decode_attr_files_avail(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_avail() argument
3637 p = xdr_inline_decode(xdr, 8); in decode_attr_files_avail()
3647 static int decode_attr_files_free(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_free() argument
3656 p = xdr_inline_decode(xdr, 8); in decode_attr_files_free()
3666 static int decode_attr_files_total(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_total() argument
3675 p = xdr_inline_decode(xdr, 8); in decode_attr_files_total()
3685 static int decode_pathname(struct xdr_stream *xdr, struct nfs4_pathname *path) in decode_pathname() argument
3691 p = xdr_inline_decode(xdr, 4); in decode_pathname()
3704 status = decode_opaque_inline(xdr, &component->len, &component->data); in decode_pathname()
3727 static int decode_attr_fs_locations(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs4_fs_locati… in decode_attr_fs_locations() argument
3744 status = decode_pathname(xdr, &res->fs_path); in decode_attr_fs_locations()
3747 p = xdr_inline_decode(xdr, 4); in decode_attr_fs_locations()
3758 p = xdr_inline_decode(xdr, 4); in decode_attr_fs_locations()
3777 status = decode_opaque_inline(xdr, &len, &data); in decode_attr_fs_locations()
3784 status = decode_opaque_inline(xdr, &server->len, &server->data); in decode_attr_fs_locations()
3789 status = decode_pathname(xdr, &loc->rootpath); in decode_attr_fs_locations()
3803 static int decode_attr_maxfilesize(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_maxfilesize() argument
3812 p = xdr_inline_decode(xdr, 8); in decode_attr_maxfilesize()
3822 static int decode_attr_maxlink(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *maxlink) in decode_attr_maxlink() argument
3831 p = xdr_inline_decode(xdr, 4); in decode_attr_maxlink()
3841 static int decode_attr_maxname(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *maxname) in decode_attr_maxname() argument
3850 p = xdr_inline_decode(xdr, 4); in decode_attr_maxname()
3860 static int decode_attr_maxread(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_maxread() argument
3870 p = xdr_inline_decode(xdr, 8); in decode_attr_maxread()
3883 static int decode_attr_maxwrite(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_maxwrite() argument
3893 p = xdr_inline_decode(xdr, 8); in decode_attr_maxwrite()
3906 static int decode_attr_mode(struct xdr_stream *xdr, uint32_t *bitmap, umode_t *mode) in decode_attr_mode() argument
3916 p = xdr_inline_decode(xdr, 4); in decode_attr_mode()
3928 static int decode_attr_nlink(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *nlink) in decode_attr_nlink() argument
3937 p = xdr_inline_decode(xdr, 4); in decode_attr_nlink()
3948 static ssize_t decode_nfs4_string(struct xdr_stream *xdr, in decode_nfs4_string() argument
3953 ret = xdr_stream_decode_string_dup(xdr, &name->data, in decode_nfs4_string()
3961 static int decode_attr_owner(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_owner() argument
3976 len = decode_nfs4_string(xdr, owner_name, GFP_NOIO); in decode_attr_owner()
3982 len = xdr_stream_decode_opaque_inline(xdr, (void **)&p, in decode_attr_owner()
3995 static int decode_attr_group(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_group() argument
4010 len = decode_nfs4_string(xdr, group_name, GFP_NOIO); in decode_attr_group()
4016 len = xdr_stream_decode_opaque_inline(xdr, (void **)&p, in decode_attr_group()
4029 static int decode_attr_rdev(struct xdr_stream *xdr, uint32_t *bitmap, dev_t *rdev) in decode_attr_rdev() argument
4041 p = xdr_inline_decode(xdr, 8); in decode_attr_rdev()
4056 static int decode_attr_space_avail(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_avail() argument
4065 p = xdr_inline_decode(xdr, 8); in decode_attr_space_avail()
4075 static int decode_attr_space_free(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_free() argument
4084 p = xdr_inline_decode(xdr, 8); in decode_attr_space_free()
4094 static int decode_attr_space_total(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_total() argument
4103 p = xdr_inline_decode(xdr, 8); in decode_attr_space_total()
4113 static int decode_attr_space_used(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *used) in decode_attr_space_used() argument
4122 p = xdr_inline_decode(xdr, 8); in decode_attr_space_used()
4145 static int decode_attr_time(struct xdr_stream *xdr, struct timespec64 *time) in decode_attr_time() argument
4149 p = xdr_inline_decode(xdr, nfstime4_maxsz << 2); in decode_attr_time()
4156 static int decode_attr_time_access(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec64 *tim… in decode_attr_time_access() argument
4165 status = decode_attr_time(xdr, time); in decode_attr_time_access()
4174 static int decode_attr_time_metadata(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec64 *t… in decode_attr_time_metadata() argument
4183 status = decode_attr_time(xdr, time); in decode_attr_time_metadata()
4192 static int decode_attr_time_delta(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_time_delta() argument
4202 status = decode_attr_time(xdr, time); in decode_attr_time_delta()
4210 static int decode_attr_security_label(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_security_label() argument
4222 p = xdr_inline_decode(xdr, 4); in decode_attr_security_label()
4226 p = xdr_inline_decode(xdr, 4); in decode_attr_security_label()
4230 p = xdr_inline_decode(xdr, 4); in decode_attr_security_label()
4234 p = xdr_inline_decode(xdr, len); in decode_attr_security_label()
4259 static int decode_attr_time_modify(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec64 *tim… in decode_attr_time_modify() argument
4268 status = decode_attr_time(xdr, time); in decode_attr_time_modify()
4277 static int decode_attr_xattrsupport(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_xattrsupport() argument
4286 p = xdr_inline_decode(xdr, 4); in decode_attr_xattrsupport()
4297 static int verify_attr_len(struct xdr_stream *xdr, unsigned int savep, uint32_t attrlen) in verify_attr_len() argument
4300 unsigned int nwords = (xdr_stream_pos(xdr) - savep) >> 2; in verify_attr_len()
4314 static int decode_change_info(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_change_info() argument
4318 p = xdr_inline_decode(xdr, 20); in decode_change_info()
4327 static int decode_access(struct xdr_stream *xdr, u32 *supported, u32 *access) in decode_access() argument
4333 status = decode_op_hdr(xdr, OP_ACCESS); in decode_access()
4336 p = xdr_inline_decode(xdr, 8); in decode_access()
4346 static int decode_opaque_fixed(struct xdr_stream *xdr, void *buf, size_t len) in decode_opaque_fixed() argument
4348 ssize_t ret = xdr_stream_decode_opaque_fixed(xdr, buf, len); in decode_opaque_fixed()
4354 static int decode_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_stateid() argument
4356 return decode_opaque_fixed(xdr, stateid, NFS4_STATEID_SIZE); in decode_stateid()
4359 static int decode_open_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_open_stateid() argument
4362 return decode_stateid(xdr, stateid); in decode_open_stateid()
4365 static int decode_lock_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_lock_stateid() argument
4368 return decode_stateid(xdr, stateid); in decode_lock_stateid()
4371 static int decode_delegation_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_delegation_stateid() argument
4374 return decode_stateid(xdr, stateid); in decode_delegation_stateid()
4377 static int decode_invalid_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_invalid_stateid() argument
4382 return decode_stateid(xdr, &dummy); in decode_invalid_stateid()
4385 static int decode_close(struct xdr_stream *xdr, struct nfs_closeres *res) in decode_close() argument
4389 status = decode_op_hdr(xdr, OP_CLOSE); in decode_close()
4393 status = decode_invalid_stateid(xdr, &res->stateid); in decode_close()
4397 static int decode_verifier(struct xdr_stream *xdr, void *verifier) in decode_verifier() argument
4399 return decode_opaque_fixed(xdr, verifier, NFS4_VERIFIER_SIZE); in decode_verifier()
4402 static int decode_write_verifier(struct xdr_stream *xdr, struct nfs_write_verifier *verifier) in decode_write_verifier() argument
4404 return decode_opaque_fixed(xdr, verifier->data, NFS4_VERIFIER_SIZE); in decode_write_verifier()
4407 static int decode_commit(struct xdr_stream *xdr, struct nfs_commitres *res) in decode_commit() argument
4412 status = decode_op_hdr(xdr, OP_COMMIT); in decode_commit()
4414 status = decode_write_verifier(xdr, &verf->verifier); in decode_commit()
4420 static int decode_create(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_create() argument
4426 status = decode_op_hdr(xdr, OP_CREATE); in decode_create()
4429 if ((status = decode_change_info(xdr, cinfo))) in decode_create()
4431 p = xdr_inline_decode(xdr, 4); in decode_create()
4435 p = xdr_inline_decode(xdr, bmlen << 2); in decode_create()
4441 static int decode_server_caps(struct xdr_stream *xdr, struct nfs4_server_caps_res *res) in decode_server_caps() argument
4447 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_server_caps()
4449 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_server_caps()
4451 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_server_caps()
4453 if ((status = decode_attr_supported(xdr, bitmap, res->attr_bitmask)) != 0) in decode_server_caps()
4455 if ((status = decode_attr_fh_expire_type(xdr, bitmap, in decode_server_caps()
4458 if ((status = decode_attr_link_support(xdr, bitmap, &res->has_links)) != 0) in decode_server_caps()
4460 if ((status = decode_attr_symlink_support(xdr, bitmap, &res->has_symlinks)) != 0) in decode_server_caps()
4462 if ((status = decode_attr_aclsupport(xdr, bitmap, &res->acl_bitmask)) != 0) in decode_server_caps()
4464 if ((status = decode_attr_case_insensitive(xdr, bitmap, &res->case_insensitive)) != 0) in decode_server_caps()
4466 if ((status = decode_attr_case_preserving(xdr, bitmap, &res->case_preserving)) != 0) in decode_server_caps()
4468 if ((status = decode_attr_exclcreat_supported(xdr, bitmap, in decode_server_caps()
4471 status = verify_attr_len(xdr, savep, attrlen); in decode_server_caps()
4477 static int decode_statfs(struct xdr_stream *xdr, struct nfs_fsstat *fsstat) in decode_statfs() argument
4483 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_statfs()
4485 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_statfs()
4487 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_statfs()
4490 if ((status = decode_attr_files_avail(xdr, bitmap, &fsstat->afiles)) != 0) in decode_statfs()
4492 if ((status = decode_attr_files_free(xdr, bitmap, &fsstat->ffiles)) != 0) in decode_statfs()
4494 if ((status = decode_attr_files_total(xdr, bitmap, &fsstat->tfiles)) != 0) in decode_statfs()
4501 if ((status = decode_attr_space_avail(xdr, bitmap, &fsstat->abytes)) != 0) in decode_statfs()
4503 if ((status = decode_attr_space_free(xdr, bitmap, &fsstat->fbytes)) != 0) in decode_statfs()
4505 if ((status = decode_attr_space_total(xdr, bitmap, &fsstat->tbytes)) != 0) in decode_statfs()
4508 status = verify_attr_len(xdr, savep, attrlen); in decode_statfs()
4514 static int decode_pathconf(struct xdr_stream *xdr, struct nfs_pathconf *pathconf) in decode_pathconf() argument
4520 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_pathconf()
4522 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_pathconf()
4524 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_pathconf()
4527 if ((status = decode_attr_maxlink(xdr, bitmap, &pathconf->max_link)) != 0) in decode_pathconf()
4529 if ((status = decode_attr_maxname(xdr, bitmap, &pathconf->max_namelen)) != 0) in decode_pathconf()
4532 status = verify_attr_len(xdr, savep, attrlen); in decode_pathconf()
4538 static int decode_threshold_hint(struct xdr_stream *xdr, in decode_threshold_hint() argument
4547 p = xdr_inline_decode(xdr, 8); in decode_threshold_hint()
4555 static int decode_first_threshold_item4(struct xdr_stream *xdr, in decode_first_threshold_item4() argument
4564 p = xdr_inline_decode(xdr, 4); in decode_first_threshold_item4()
4570 status = decode_attr_bitmap(xdr, bitmap); in decode_first_threshold_item4()
4575 status = decode_attr_length(xdr, &attrlen, &savep); in decode_first_threshold_item4()
4579 status = decode_threshold_hint(xdr, bitmap, &res->rd_sz, THRESHOLD_RD); in decode_first_threshold_item4()
4582 status = decode_threshold_hint(xdr, bitmap, &res->wr_sz, THRESHOLD_WR); in decode_first_threshold_item4()
4585 status = decode_threshold_hint(xdr, bitmap, &res->rd_io_sz, in decode_first_threshold_item4()
4589 status = decode_threshold_hint(xdr, bitmap, &res->wr_io_sz, in decode_first_threshold_item4()
4594 status = verify_attr_len(xdr, savep, attrlen); in decode_first_threshold_item4()
4608 static int decode_attr_mdsthreshold(struct xdr_stream *xdr, in decode_attr_mdsthreshold() argument
4622 p = xdr_inline_decode(xdr, 4); in decode_attr_mdsthreshold()
4633 status = decode_first_threshold_item4(xdr, res); in decode_attr_mdsthreshold()
4639 static int decode_getfattr_attrs(struct xdr_stream *xdr, uint32_t *bitmap, in decode_getfattr_attrs() argument
4648 status = decode_attr_type(xdr, bitmap, &type); in decode_getfattr_attrs()
4657 status = decode_attr_change(xdr, bitmap, &fattr->change_attr); in decode_getfattr_attrs()
4662 status = decode_attr_size(xdr, bitmap, &fattr->size); in decode_getfattr_attrs()
4667 status = decode_attr_fsid(xdr, bitmap, &fattr->fsid); in decode_getfattr_attrs()
4673 status = decode_attr_error(xdr, bitmap, &err); in decode_getfattr_attrs()
4677 status = decode_attr_filehandle(xdr, bitmap, fh); in decode_getfattr_attrs()
4681 status = decode_attr_fileid(xdr, bitmap, &fattr->fileid); in decode_getfattr_attrs()
4686 status = decode_attr_fs_locations(xdr, bitmap, fs_loc); in decode_getfattr_attrs()
4695 status = decode_attr_mode(xdr, bitmap, &fmode); in decode_getfattr_attrs()
4703 status = decode_attr_nlink(xdr, bitmap, &fattr->nlink); in decode_getfattr_attrs()
4708 status = decode_attr_owner(xdr, bitmap, server, &fattr->uid, fattr->owner_name); in decode_getfattr_attrs()
4713 status = decode_attr_group(xdr, bitmap, server, &fattr->gid, fattr->group_name); in decode_getfattr_attrs()
4718 status = decode_attr_rdev(xdr, bitmap, &fattr->rdev); in decode_getfattr_attrs()
4723 status = decode_attr_space_used(xdr, bitmap, &fattr->du.nfs3.used); in decode_getfattr_attrs()
4728 status = decode_attr_time_access(xdr, bitmap, &fattr->atime); in decode_getfattr_attrs()
4733 status = decode_attr_time_metadata(xdr, bitmap, &fattr->ctime); in decode_getfattr_attrs()
4738 status = decode_attr_time_modify(xdr, bitmap, &fattr->mtime); in decode_getfattr_attrs()
4743 status = decode_attr_mounted_on_fileid(xdr, bitmap, &fattr->mounted_on_fileid); in decode_getfattr_attrs()
4752 status = decode_attr_mdsthreshold(xdr, bitmap, fattr->mdsthreshold); in decode_getfattr_attrs()
4756 status = decode_attr_security_label(xdr, bitmap, fattr->label); in decode_getfattr_attrs()
4766 static int decode_getfattr_generic(struct xdr_stream *xdr, struct nfs_fattr *fattr, in decode_getfattr_generic() argument
4775 status = decode_op_hdr(xdr, OP_GETATTR); in decode_getfattr_generic()
4779 status = decode_attr_bitmap(xdr, bitmap); in decode_getfattr_generic()
4783 status = decode_attr_length(xdr, &attrlen, &savep); in decode_getfattr_generic()
4787 status = decode_getfattr_attrs(xdr, bitmap, fattr, fh, fs_loc, server); in decode_getfattr_generic()
4791 status = verify_attr_len(xdr, savep, attrlen); in decode_getfattr_generic()
4797 static int decode_getfattr(struct xdr_stream *xdr, struct nfs_fattr *fattr, in decode_getfattr() argument
4800 return decode_getfattr_generic(xdr, fattr, NULL, NULL, server); in decode_getfattr()
4806 static int decode_pnfs_layout_types(struct xdr_stream *xdr, in decode_pnfs_layout_types() argument
4812 p = xdr_inline_decode(xdr, 4); in decode_pnfs_layout_types()
4822 p = xdr_inline_decode(xdr, fsinfo->nlayouttypes * 4); in decode_pnfs_layout_types()
4842 static int decode_attr_pnfstype(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_pnfstype() argument
4851 status = decode_pnfs_layout_types(xdr, fsinfo); in decode_attr_pnfstype()
4860 static int decode_attr_layout_blksize(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_layout_blksize() argument
4868 p = xdr_inline_decode(xdr, 4); in decode_attr_layout_blksize()
4880 static int decode_attr_clone_blksize(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_clone_blksize() argument
4888 p = xdr_inline_decode(xdr, 4); in decode_attr_clone_blksize()
4897 static int decode_attr_change_attr_type(struct xdr_stream *xdr, in decode_attr_change_attr_type() argument
4905 if (xdr_stream_decode_u32(xdr, &tmp)) in decode_attr_change_attr_type()
4923 static int decode_fsinfo(struct xdr_stream *xdr, struct nfs_fsinfo *fsinfo) in decode_fsinfo() argument
4929 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_fsinfo()
4931 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_fsinfo()
4933 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_fsinfo()
4938 if ((status = decode_attr_lease_time(xdr, bitmap, &fsinfo->lease_time)) != 0) in decode_fsinfo()
4940 if ((status = decode_attr_maxfilesize(xdr, bitmap, &fsinfo->maxfilesize)) != 0) in decode_fsinfo()
4942 if ((status = decode_attr_maxread(xdr, bitmap, &fsinfo->rtmax)) != 0) in decode_fsinfo()
4945 if ((status = decode_attr_maxwrite(xdr, bitmap, &fsinfo->wtmax)) != 0) in decode_fsinfo()
4953 status = decode_attr_time_delta(xdr, bitmap, &fsinfo->time_delta); in decode_fsinfo()
4956 status = decode_attr_pnfstype(xdr, bitmap, fsinfo); in decode_fsinfo()
4964 status = decode_attr_layout_blksize(xdr, bitmap, &fsinfo->blksize); in decode_fsinfo()
4967 status = decode_attr_clone_blksize(xdr, bitmap, &fsinfo->clone_blksize); in decode_fsinfo()
4971 status = decode_attr_change_attr_type(xdr, bitmap, in decode_fsinfo()
4976 status = decode_attr_xattrsupport(xdr, bitmap, in decode_fsinfo()
4981 status = verify_attr_len(xdr, savep, attrlen); in decode_fsinfo()
4987 static int decode_getfh(struct xdr_stream *xdr, struct nfs_fh *fh) in decode_getfh() argument
4996 status = decode_op_hdr(xdr, OP_GETFH); in decode_getfh()
5000 p = xdr_inline_decode(xdr, 4); in decode_getfh()
5005 trace_nfs4_xdr_bad_filehandle(xdr, OP_GETFH, NFS4ERR_BADHANDLE); in decode_getfh()
5009 p = xdr_inline_decode(xdr, len); in decode_getfh()
5016 static int decode_link(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_link() argument
5020 status = decode_op_hdr(xdr, OP_LINK); in decode_link()
5023 return decode_change_info(xdr, cinfo); in decode_link()
5029 static int decode_lock_denied (struct xdr_stream *xdr, struct file_lock *fl) in decode_lock_denied() argument
5035 p = xdr_inline_decode(xdr, 32); /* read 32 bytes */ in decode_lock_denied()
5053 p = xdr_inline_decode(xdr, namelen); /* variable size field */ in decode_lock_denied()
5059 static int decode_lock(struct xdr_stream *xdr, struct nfs_lock_res *res) in decode_lock() argument
5063 status = decode_op_hdr(xdr, OP_LOCK); in decode_lock()
5067 status = decode_lock_stateid(xdr, &res->stateid); in decode_lock()
5071 status = decode_lock_denied(xdr, NULL); in decode_lock()
5079 static int decode_lockt(struct xdr_stream *xdr, struct nfs_lockt_res *res) in decode_lockt() argument
5082 status = decode_op_hdr(xdr, OP_LOCKT); in decode_lockt()
5084 return decode_lock_denied(xdr, res->denied); in decode_lockt()
5088 static int decode_locku(struct xdr_stream *xdr, struct nfs_locku_res *res) in decode_locku() argument
5092 status = decode_op_hdr(xdr, OP_LOCKU); in decode_locku()
5096 status = decode_lock_stateid(xdr, &res->stateid); in decode_locku()
5100 static int decode_release_lockowner(struct xdr_stream *xdr) in decode_release_lockowner() argument
5102 return decode_op_hdr(xdr, OP_RELEASE_LOCKOWNER); in decode_release_lockowner()
5105 static int decode_lookup(struct xdr_stream *xdr) in decode_lookup() argument
5107 return decode_op_hdr(xdr, OP_LOOKUP); in decode_lookup()
5110 static int decode_lookupp(struct xdr_stream *xdr) in decode_lookupp() argument
5112 return decode_op_hdr(xdr, OP_LOOKUPP); in decode_lookupp()
5116 static int decode_space_limit(struct xdr_stream *xdr, in decode_space_limit() argument
5123 p = xdr_inline_decode(xdr, 12); in decode_space_limit()
5141 static int decode_rw_delegation(struct xdr_stream *xdr, in decode_rw_delegation() argument
5148 status = decode_delegation_stateid(xdr, &res->delegation); in decode_rw_delegation()
5151 p = xdr_inline_decode(xdr, 4); in decode_rw_delegation()
5162 if (decode_space_limit(xdr, &res->pagemod_limit) < 0) in decode_rw_delegation()
5165 return decode_ace(xdr, NULL); in decode_rw_delegation()
5168 static int decode_no_delegation(struct xdr_stream *xdr, struct nfs_openres *res) in decode_no_delegation() argument
5173 p = xdr_inline_decode(xdr, 4); in decode_no_delegation()
5180 xdr_inline_decode(xdr, 4); in decode_no_delegation()
5186 static int decode_delegation(struct xdr_stream *xdr, struct nfs_openres *res) in decode_delegation() argument
5191 p = xdr_inline_decode(xdr, 4); in decode_delegation()
5201 return decode_rw_delegation(xdr, delegation_type, res); in decode_delegation()
5203 return decode_no_delegation(xdr, res); in decode_delegation()
5208 static int decode_open(struct xdr_stream *xdr, struct nfs_openres *res) in decode_open() argument
5214 if (!__decode_op_hdr(xdr, OP_OPEN, &status)) in decode_open()
5219 status = decode_open_stateid(xdr, &res->stateid); in decode_open()
5223 decode_change_info(xdr, &res->cinfo); in decode_open()
5225 p = xdr_inline_decode(xdr, 8); in decode_open()
5233 p = xdr_inline_decode(xdr, bmlen << 2); in decode_open()
5242 return decode_delegation(xdr, res); in decode_open()
5248 static int decode_open_confirm(struct xdr_stream *xdr, struct nfs_open_confirmres *res) in decode_open_confirm() argument
5252 status = decode_op_hdr(xdr, OP_OPEN_CONFIRM); in decode_open_confirm()
5256 status = decode_open_stateid(xdr, &res->stateid); in decode_open_confirm()
5260 static int decode_open_downgrade(struct xdr_stream *xdr, struct nfs_closeres *res) in decode_open_downgrade() argument
5264 status = decode_op_hdr(xdr, OP_OPEN_DOWNGRADE); in decode_open_downgrade()
5268 status = decode_open_stateid(xdr, &res->stateid); in decode_open_downgrade()
5272 static int decode_putfh(struct xdr_stream *xdr) in decode_putfh() argument
5274 return decode_op_hdr(xdr, OP_PUTFH); in decode_putfh()
5277 static int decode_putrootfh(struct xdr_stream *xdr) in decode_putrootfh() argument
5279 return decode_op_hdr(xdr, OP_PUTROOTFH); in decode_putrootfh()
5282 static int decode_read(struct xdr_stream *xdr, struct rpc_rqst *req, in decode_read() argument
5289 status = decode_op_hdr(xdr, OP_READ); in decode_read()
5292 p = xdr_inline_decode(xdr, 8); in decode_read()
5297 recvd = xdr_read_pages(xdr, count); in decode_read()
5309 static int decode_readdir(struct xdr_stream *xdr, struct rpc_rqst *req, struct nfs4_readdir_res *re… in decode_readdir() argument
5314 status = decode_op_hdr(xdr, OP_READDIR); in decode_readdir()
5316 status = decode_verifier(xdr, readdir->verifier.data); in decode_readdir()
5322 return xdr_read_pages(xdr, xdr->buf->page_len); in decode_readdir()
5325 static int decode_readlink(struct xdr_stream *xdr, struct rpc_rqst *req) in decode_readlink() argument
5332 status = decode_op_hdr(xdr, OP_READLINK); in decode_readlink()
5337 p = xdr_inline_decode(xdr, 4); in decode_readlink()
5345 recvd = xdr_read_pages(xdr, len); in decode_readlink()
5362 static int decode_remove(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_remove() argument
5366 status = decode_op_hdr(xdr, OP_REMOVE); in decode_remove()
5369 status = decode_change_info(xdr, cinfo); in decode_remove()
5374 static int decode_rename(struct xdr_stream *xdr, struct nfs4_change_info *old_cinfo, in decode_rename() argument
5379 status = decode_op_hdr(xdr, OP_RENAME); in decode_rename()
5382 if ((status = decode_change_info(xdr, old_cinfo))) in decode_rename()
5384 status = decode_change_info(xdr, new_cinfo); in decode_rename()
5389 static int decode_renew(struct xdr_stream *xdr) in decode_renew() argument
5391 return decode_op_hdr(xdr, OP_RENEW); in decode_renew()
5395 decode_restorefh(struct xdr_stream *xdr) in decode_restorefh() argument
5397 return decode_op_hdr(xdr, OP_RESTOREFH); in decode_restorefh()
5400 static int decode_getacl(struct xdr_stream *xdr, struct rpc_rqst *req, in decode_getacl() argument
5409 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_getacl()
5412 xdr_enter_page(xdr, xdr->buf->page_len); in decode_getacl()
5414 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_getacl()
5416 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_getacl()
5442 res->acl_data_offset = xdr_page_pos(xdr); in decode_getacl()
5446 if (res->acl_len > xdr_stream_remaining(xdr) || in decode_getacl()
5447 res->acl_len + res->acl_data_offset > xdr->buf->page_len) { in decode_getacl()
5450 attrlen, xdr_stream_remaining(xdr)); in decode_getacl()
5457 decode_savefh(struct xdr_stream *xdr) in decode_savefh() argument
5459 return decode_op_hdr(xdr, OP_SAVEFH); in decode_savefh()
5462 static int decode_setattr(struct xdr_stream *xdr) in decode_setattr() argument
5466 status = decode_op_hdr(xdr, OP_SETATTR); in decode_setattr()
5469 if (decode_bitmap4(xdr, NULL, 0) >= 0) in decode_setattr()
5474 static int decode_setclientid(struct xdr_stream *xdr, struct nfs4_setclientid_res *res) in decode_setclientid() argument
5480 p = xdr_inline_decode(xdr, 8); in decode_setclientid()
5491 p = xdr_inline_decode(xdr, 8 + NFS4_VERIFIER_SIZE); in decode_setclientid()
5500 p = xdr_inline_decode(xdr, 4); in decode_setclientid()
5504 p = xdr_inline_decode(xdr, len); in decode_setclientid()
5509 p = xdr_inline_decode(xdr, 4); in decode_setclientid()
5513 p = xdr_inline_decode(xdr, len); in decode_setclientid()
5523 static int decode_setclientid_confirm(struct xdr_stream *xdr) in decode_setclientid_confirm() argument
5525 return decode_op_hdr(xdr, OP_SETCLIENTID_CONFIRM); in decode_setclientid_confirm()
5528 static int decode_write(struct xdr_stream *xdr, struct nfs_pgio_res *res) in decode_write() argument
5533 status = decode_op_hdr(xdr, OP_WRITE); in decode_write()
5537 p = xdr_inline_decode(xdr, 8); in decode_write()
5542 return decode_write_verifier(xdr, &res->verf->verifier); in decode_write()
5545 static int decode_delegreturn(struct xdr_stream *xdr) in decode_delegreturn() argument
5547 return decode_op_hdr(xdr, OP_DELEGRETURN); in decode_delegreturn()
5550 static int decode_secinfo_gss(struct xdr_stream *xdr, in decode_secinfo_gss() argument
5556 p = xdr_inline_decode(xdr, 4); in decode_secinfo_gss()
5563 p = xdr_inline_decode(xdr, oid_len); in decode_secinfo_gss()
5569 p = xdr_inline_decode(xdr, 8); in decode_secinfo_gss()
5578 static int decode_secinfo_common(struct xdr_stream *xdr, struct nfs4_secinfo_res *res) in decode_secinfo_common() argument
5585 p = xdr_inline_decode(xdr, 4); in decode_secinfo_common()
5597 p = xdr_inline_decode(xdr, 4); in decode_secinfo_common()
5603 status = decode_secinfo_gss(xdr, sec_flavor); in decode_secinfo_common()
5615 static int decode_secinfo(struct xdr_stream *xdr, struct nfs4_secinfo_res *res) in decode_secinfo() argument
5617 int status = decode_op_hdr(xdr, OP_SECINFO); in decode_secinfo()
5620 return decode_secinfo_common(xdr, res); in decode_secinfo()
5624 static int decode_secinfo_no_name(struct xdr_stream *xdr, struct nfs4_secinfo_res *res) in decode_secinfo_no_name() argument
5626 int status = decode_op_hdr(xdr, OP_SECINFO_NO_NAME); in decode_secinfo_no_name()
5629 return decode_secinfo_common(xdr, res); in decode_secinfo_no_name()
5632 static int decode_op_map(struct xdr_stream *xdr, struct nfs4_op_map *op_map) in decode_op_map() argument
5634 if (xdr_stream_decode_uint32_array(xdr, op_map->u.words, in decode_op_map()
5640 static int decode_exchange_id(struct xdr_stream *xdr, in decode_exchange_id() argument
5649 status = decode_op_hdr(xdr, OP_EXCHANGE_ID); in decode_exchange_id()
5653 p = xdr_inline_decode(xdr, 8); in decode_exchange_id()
5657 p = xdr_inline_decode(xdr, 12); in decode_exchange_id()
5668 status = decode_op_map(xdr, &res->state_protect.enforce); in decode_exchange_id()
5671 status = decode_op_map(xdr, &res->state_protect.allow); in decode_exchange_id()
5681 p = xdr_inline_decode(xdr, 8); in decode_exchange_id()
5687 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5694 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5701 p = xdr_inline_decode(xdr, 4); in decode_exchange_id()
5708 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5714 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5720 p = xdr_inline_decode(xdr, 12); in decode_exchange_id()
5731 static int decode_chan_attrs(struct xdr_stream *xdr, in decode_chan_attrs() argument
5737 p = xdr_inline_decode(xdr, 28); in decode_chan_attrs()
5755 p = xdr_inline_decode(xdr, 4); /* skip rdma_attrs */ in decode_chan_attrs()
5762 static int decode_sessionid(struct xdr_stream *xdr, struct nfs4_sessionid *sid) in decode_sessionid() argument
5764 return decode_opaque_fixed(xdr, sid->data, NFS4_MAX_SESSIONID_LEN); in decode_sessionid()
5767 static int decode_bind_conn_to_session(struct xdr_stream *xdr, in decode_bind_conn_to_session() argument
5773 status = decode_op_hdr(xdr, OP_BIND_CONN_TO_SESSION); in decode_bind_conn_to_session()
5775 status = decode_sessionid(xdr, &res->sessionid); in decode_bind_conn_to_session()
5780 p = xdr_inline_decode(xdr, 8); in decode_bind_conn_to_session()
5795 static int decode_create_session(struct xdr_stream *xdr, in decode_create_session() argument
5801 status = decode_op_hdr(xdr, OP_CREATE_SESSION); in decode_create_session()
5803 status = decode_sessionid(xdr, &res->sessionid); in decode_create_session()
5808 p = xdr_inline_decode(xdr, 8); in decode_create_session()
5815 status = decode_chan_attrs(xdr, &res->fc_attrs); in decode_create_session()
5817 status = decode_chan_attrs(xdr, &res->bc_attrs); in decode_create_session()
5821 static int decode_destroy_session(struct xdr_stream *xdr, void *dummy) in decode_destroy_session() argument
5823 return decode_op_hdr(xdr, OP_DESTROY_SESSION); in decode_destroy_session()
5826 static int decode_destroy_clientid(struct xdr_stream *xdr, void *dummy) in decode_destroy_clientid() argument
5828 return decode_op_hdr(xdr, OP_DESTROY_CLIENTID); in decode_destroy_clientid()
5831 static int decode_reclaim_complete(struct xdr_stream *xdr, void *dummy) in decode_reclaim_complete() argument
5833 return decode_op_hdr(xdr, OP_RECLAIM_COMPLETE); in decode_reclaim_complete()
5837 static int decode_sequence(struct xdr_stream *xdr, in decode_sequence() argument
5853 status = decode_op_hdr(xdr, OP_SEQUENCE); in decode_sequence()
5855 status = decode_sessionid(xdr, &id); in decode_sequence()
5872 p = xdr_inline_decode(xdr, 20); in decode_sequence()
5907 static int decode_layout_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_layout_stateid() argument
5910 return decode_stateid(xdr, stateid); in decode_layout_stateid()
5913 static int decode_getdeviceinfo(struct xdr_stream *xdr, in decode_getdeviceinfo() argument
5921 status = decode_op_hdr(xdr, OP_GETDEVICEINFO); in decode_getdeviceinfo()
5924 p = xdr_inline_decode(xdr, 4); in decode_getdeviceinfo()
5934 p = xdr_inline_decode(xdr, 8); in decode_getdeviceinfo()
5949 if (xdr_read_pages(xdr, pdev->mincount) != pdev->mincount) in decode_getdeviceinfo()
5953 p = xdr_inline_decode(xdr, 4); in decode_getdeviceinfo()
5960 p = xdr_inline_decode(xdr, 4 * len); in decode_getdeviceinfo()
5976 static int decode_layoutget(struct xdr_stream *xdr, struct rpc_rqst *req, in decode_layoutget() argument
5984 status = decode_op_hdr(xdr, OP_LAYOUTGET); in decode_layoutget()
5987 p = xdr_inline_decode(xdr, 4); in decode_layoutget()
5991 decode_layout_stateid(xdr, &res->stateid); in decode_layoutget()
5992 p = xdr_inline_decode(xdr, 4); in decode_layoutget()
6003 p = xdr_inline_decode(xdr, 28); in decode_layoutget()
6020 recvd = xdr_read_pages(xdr, res->layoutp->len); in decode_layoutget()
6047 static int decode_layoutreturn(struct xdr_stream *xdr, in decode_layoutreturn() argument
6053 status = decode_op_hdr(xdr, OP_LAYOUTRETURN); in decode_layoutreturn()
6056 p = xdr_inline_decode(xdr, 4); in decode_layoutreturn()
6061 status = decode_layout_stateid(xdr, &res->stateid); in decode_layoutreturn()
6067 static int decode_layoutcommit(struct xdr_stream *xdr, in decode_layoutcommit() argument
6075 status = decode_op_hdr(xdr, OP_LAYOUTCOMMIT); in decode_layoutcommit()
6080 p = xdr_inline_decode(xdr, 4); in decode_layoutcommit()
6087 p = xdr_inline_decode(xdr, 8); in decode_layoutcommit()
6094 static int decode_test_stateid(struct xdr_stream *xdr, in decode_test_stateid() argument
6101 status = decode_op_hdr(xdr, OP_TEST_STATEID); in decode_test_stateid()
6105 p = xdr_inline_decode(xdr, 4); in decode_test_stateid()
6112 p = xdr_inline_decode(xdr, 4); in decode_test_stateid()
6120 static int decode_free_stateid(struct xdr_stream *xdr, in decode_free_stateid() argument
6123 res->status = decode_op_hdr(xdr, OP_FREE_STATEID); in decode_free_stateid()
6128 int decode_layoutreturn(struct xdr_stream *xdr, in decode_layoutreturn() argument
6134 static int decode_layoutget(struct xdr_stream *xdr, struct rpc_rqst *req, in decode_layoutget() argument
6150 struct xdr_stream *xdr, in nfs4_xdr_dec_open_downgrade() argument
6157 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open_downgrade()
6160 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_open_downgrade()
6163 status = decode_putfh(xdr); in nfs4_xdr_dec_open_downgrade()
6167 status = decode_layoutreturn(xdr, res->lr_res); in nfs4_xdr_dec_open_downgrade()
6172 status = decode_open_downgrade(xdr, res); in nfs4_xdr_dec_open_downgrade()
6180 static int nfs4_xdr_dec_access(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_access() argument
6187 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_access()
6190 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_access()
6193 status = decode_putfh(xdr); in nfs4_xdr_dec_access()
6196 status = decode_access(xdr, &res->supported, &res->access); in nfs4_xdr_dec_access()
6200 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_access()
6208 static int nfs4_xdr_dec_lookup(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_lookup() argument
6215 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lookup()
6218 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lookup()
6221 status = decode_putfh(xdr); in nfs4_xdr_dec_lookup()
6224 status = decode_lookup(xdr); in nfs4_xdr_dec_lookup()
6227 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_lookup()
6230 status = decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_lookup()
6238 static int nfs4_xdr_dec_lookupp(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_lookupp() argument
6245 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lookupp()
6248 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lookupp()
6251 status = decode_putfh(xdr); in nfs4_xdr_dec_lookupp()
6254 status = decode_lookupp(xdr); in nfs4_xdr_dec_lookupp()
6257 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_lookupp()
6260 status = decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_lookupp()
6269 struct xdr_stream *xdr, in nfs4_xdr_dec_lookup_root() argument
6276 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lookup_root()
6279 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lookup_root()
6282 status = decode_putrootfh(xdr); in nfs4_xdr_dec_lookup_root()
6285 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_lookup_root()
6287 status = decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_lookup_root()
6295 static int nfs4_xdr_dec_remove(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_remove() argument
6302 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_remove()
6305 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_remove()
6308 status = decode_putfh(xdr); in nfs4_xdr_dec_remove()
6311 status = decode_remove(xdr, &res->cinfo); in nfs4_xdr_dec_remove()
6319 static int nfs4_xdr_dec_rename(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_rename() argument
6326 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_rename()
6329 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_rename()
6332 status = decode_putfh(xdr); in nfs4_xdr_dec_rename()
6335 status = decode_savefh(xdr); in nfs4_xdr_dec_rename()
6338 status = decode_putfh(xdr); in nfs4_xdr_dec_rename()
6341 status = decode_rename(xdr, &res->old_cinfo, &res->new_cinfo); in nfs4_xdr_dec_rename()
6349 static int nfs4_xdr_dec_link(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_link() argument
6356 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_link()
6359 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_link()
6362 status = decode_putfh(xdr); in nfs4_xdr_dec_link()
6365 status = decode_savefh(xdr); in nfs4_xdr_dec_link()
6368 status = decode_putfh(xdr); in nfs4_xdr_dec_link()
6371 status = decode_link(xdr, &res->cinfo); in nfs4_xdr_dec_link()
6378 status = decode_restorefh(xdr); in nfs4_xdr_dec_link()
6381 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_link()
6389 static int nfs4_xdr_dec_create(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_create() argument
6396 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_create()
6399 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_create()
6402 status = decode_putfh(xdr); in nfs4_xdr_dec_create()
6405 status = decode_create(xdr, &res->dir_cinfo); in nfs4_xdr_dec_create()
6408 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_create()
6411 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_create()
6419 static int nfs4_xdr_dec_symlink(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_symlink() argument
6422 return nfs4_xdr_dec_create(rqstp, xdr, res); in nfs4_xdr_dec_symlink()
6428 static int nfs4_xdr_dec_getattr(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_getattr() argument
6435 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_getattr()
6438 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_getattr()
6441 status = decode_putfh(xdr); in nfs4_xdr_dec_getattr()
6444 status = decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_getattr()
6452 static void nfs4_xdr_enc_setacl(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_setacl() argument
6460 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setacl()
6461 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_setacl()
6462 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_setacl()
6463 encode_setacl(xdr, args, &hdr); in nfs4_xdr_enc_setacl()
6471 nfs4_xdr_dec_setacl(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_setacl() argument
6478 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setacl()
6481 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_setacl()
6484 status = decode_putfh(xdr); in nfs4_xdr_dec_setacl()
6487 status = decode_setattr(xdr); in nfs4_xdr_dec_setacl()
6496 nfs4_xdr_dec_getacl(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_getacl() argument
6504 xdr_set_scratch_page(xdr, res->acl_scratch); in nfs4_xdr_dec_getacl()
6505 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_getacl()
6508 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_getacl()
6511 status = decode_putfh(xdr); in nfs4_xdr_dec_getacl()
6514 status = decode_getacl(xdr, rqstp, res, res->acl_type); in nfs4_xdr_dec_getacl()
6523 static int nfs4_xdr_dec_close(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_close() argument
6530 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_close()
6533 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_close()
6536 status = decode_putfh(xdr); in nfs4_xdr_dec_close()
6540 status = decode_layoutreturn(xdr, res->lr_res); in nfs4_xdr_dec_close()
6546 status = decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_close()
6550 status = decode_close(xdr, res); in nfs4_xdr_dec_close()
6558 static int nfs4_xdr_dec_open(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_open() argument
6565 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open()
6568 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_open()
6571 status = decode_putfh(xdr); in nfs4_xdr_dec_open()
6574 status = decode_open(xdr, res); in nfs4_xdr_dec_open()
6577 status = decode_getfh(xdr, &res->fh); in nfs4_xdr_dec_open()
6581 decode_access(xdr, &res->access_supported, &res->access_result); in nfs4_xdr_dec_open()
6582 decode_getfattr(xdr, res->f_attr, res->server); in nfs4_xdr_dec_open()
6584 decode_layoutget(xdr, rqstp, res->lg_res); in nfs4_xdr_dec_open()
6593 struct xdr_stream *xdr, in nfs4_xdr_dec_open_confirm() argument
6600 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open_confirm()
6603 status = decode_putfh(xdr); in nfs4_xdr_dec_open_confirm()
6606 status = decode_open_confirm(xdr, res); in nfs4_xdr_dec_open_confirm()
6615 struct xdr_stream *xdr, in nfs4_xdr_dec_open_noattr() argument
6622 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open_noattr()
6625 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_open_noattr()
6628 status = decode_putfh(xdr); in nfs4_xdr_dec_open_noattr()
6631 status = decode_open(xdr, res); in nfs4_xdr_dec_open_noattr()
6635 decode_access(xdr, &res->access_supported, &res->access_result); in nfs4_xdr_dec_open_noattr()
6636 decode_getfattr(xdr, res->f_attr, res->server); in nfs4_xdr_dec_open_noattr()
6638 decode_layoutget(xdr, rqstp, res->lg_res); in nfs4_xdr_dec_open_noattr()
6647 struct xdr_stream *xdr, in nfs4_xdr_dec_setattr() argument
6654 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setattr()
6657 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_setattr()
6660 status = decode_putfh(xdr); in nfs4_xdr_dec_setattr()
6663 status = decode_setattr(xdr); in nfs4_xdr_dec_setattr()
6666 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_setattr()
6674 static int nfs4_xdr_dec_lock(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_lock() argument
6681 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lock()
6684 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lock()
6687 status = decode_putfh(xdr); in nfs4_xdr_dec_lock()
6690 status = decode_lock(xdr, res); in nfs4_xdr_dec_lock()
6698 static int nfs4_xdr_dec_lockt(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_lockt() argument
6705 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lockt()
6708 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lockt()
6711 status = decode_putfh(xdr); in nfs4_xdr_dec_lockt()
6714 status = decode_lockt(xdr, res); in nfs4_xdr_dec_lockt()
6722 static int nfs4_xdr_dec_locku(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_locku() argument
6729 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_locku()
6732 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_locku()
6735 status = decode_putfh(xdr); in nfs4_xdr_dec_locku()
6738 status = decode_locku(xdr, res); in nfs4_xdr_dec_locku()
6744 struct xdr_stream *xdr, void *dummy) in nfs4_xdr_dec_release_lockowner() argument
6749 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_release_lockowner()
6751 status = decode_release_lockowner(xdr); in nfs4_xdr_dec_release_lockowner()
6759 struct xdr_stream *xdr, in nfs4_xdr_dec_readlink() argument
6766 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_readlink()
6769 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_readlink()
6772 status = decode_putfh(xdr); in nfs4_xdr_dec_readlink()
6775 status = decode_readlink(xdr, rqstp); in nfs4_xdr_dec_readlink()
6783 static int nfs4_xdr_dec_readdir(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_readdir() argument
6790 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_readdir()
6793 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_readdir()
6796 status = decode_putfh(xdr); in nfs4_xdr_dec_readdir()
6799 status = decode_readdir(xdr, rqstp, res); in nfs4_xdr_dec_readdir()
6807 static int nfs4_xdr_dec_read(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_read() argument
6814 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_read()
6818 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_read()
6821 status = decode_putfh(xdr); in nfs4_xdr_dec_read()
6824 status = decode_read(xdr, rqstp, res); in nfs4_xdr_dec_read()
6834 static int nfs4_xdr_dec_write(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_write() argument
6841 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_write()
6845 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_write()
6848 status = decode_putfh(xdr); in nfs4_xdr_dec_write()
6851 status = decode_write(xdr, res); in nfs4_xdr_dec_write()
6855 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_write()
6865 static int nfs4_xdr_dec_commit(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_commit() argument
6872 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_commit()
6876 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_commit()
6879 status = decode_putfh(xdr); in nfs4_xdr_dec_commit()
6882 status = decode_commit(xdr, res); in nfs4_xdr_dec_commit()
6890 static int nfs4_xdr_dec_fsinfo(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_dec_fsinfo() argument
6897 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_fsinfo()
6899 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_fsinfo()
6901 status = decode_putfh(xdr); in nfs4_xdr_dec_fsinfo()
6903 status = decode_fsinfo(xdr, res->fsinfo); in nfs4_xdr_dec_fsinfo()
6910 static int nfs4_xdr_dec_pathconf(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_dec_pathconf() argument
6917 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_pathconf()
6919 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_pathconf()
6921 status = decode_putfh(xdr); in nfs4_xdr_dec_pathconf()
6923 status = decode_pathconf(xdr, res->pathconf); in nfs4_xdr_dec_pathconf()
6930 static int nfs4_xdr_dec_statfs(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_dec_statfs() argument
6937 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_statfs()
6939 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_statfs()
6941 status = decode_putfh(xdr); in nfs4_xdr_dec_statfs()
6943 status = decode_statfs(xdr, res->fsstat); in nfs4_xdr_dec_statfs()
6951 struct xdr_stream *xdr, in nfs4_xdr_dec_server_caps() argument
6958 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_server_caps()
6961 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_server_caps()
6964 status = decode_putfh(xdr); in nfs4_xdr_dec_server_caps()
6967 status = decode_server_caps(xdr, res); in nfs4_xdr_dec_server_caps()
6975 static int nfs4_xdr_dec_renew(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_renew() argument
6981 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_renew()
6983 status = decode_renew(xdr); in nfs4_xdr_dec_renew()
6991 struct xdr_stream *xdr, in nfs4_xdr_dec_setclientid() argument
6998 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setclientid()
7000 status = decode_setclientid(xdr, res); in nfs4_xdr_dec_setclientid()
7008 struct xdr_stream *xdr, in nfs4_xdr_dec_setclientid_confirm() argument
7014 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setclientid_confirm()
7016 status = decode_setclientid_confirm(xdr); in nfs4_xdr_dec_setclientid_confirm()
7024 struct xdr_stream *xdr, in nfs4_xdr_dec_delegreturn() argument
7031 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_delegreturn()
7034 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_delegreturn()
7037 status = decode_putfh(xdr); in nfs4_xdr_dec_delegreturn()
7041 status = decode_layoutreturn(xdr, res->lr_res); in nfs4_xdr_dec_delegreturn()
7047 status = decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_delegreturn()
7051 status = decode_delegreturn(xdr); in nfs4_xdr_dec_delegreturn()
7060 struct xdr_stream *xdr, in nfs4_xdr_dec_fs_locations() argument
7067 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_fs_locations()
7070 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_fs_locations()
7073 status = decode_putfh(xdr); in nfs4_xdr_dec_fs_locations()
7077 xdr_enter_page(xdr, PAGE_SIZE); in nfs4_xdr_dec_fs_locations()
7078 status = decode_getfattr_generic(xdr, in nfs4_xdr_dec_fs_locations()
7085 status = decode_renew(xdr); in nfs4_xdr_dec_fs_locations()
7087 status = decode_lookup(xdr); in nfs4_xdr_dec_fs_locations()
7090 xdr_enter_page(xdr, PAGE_SIZE); in nfs4_xdr_dec_fs_locations()
7091 status = decode_getfattr_generic(xdr, in nfs4_xdr_dec_fs_locations()
7104 struct xdr_stream *xdr, in nfs4_xdr_dec_secinfo() argument
7111 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_secinfo()
7114 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_secinfo()
7117 status = decode_putfh(xdr); in nfs4_xdr_dec_secinfo()
7120 status = decode_secinfo(xdr, res); in nfs4_xdr_dec_secinfo()
7129 struct xdr_stream *xdr, in nfs4_xdr_dec_fsid_present() argument
7136 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_fsid_present()
7139 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_fsid_present()
7142 status = decode_putfh(xdr); in nfs4_xdr_dec_fsid_present()
7145 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_fsid_present()
7149 status = decode_renew(xdr); in nfs4_xdr_dec_fsid_present()
7159 struct xdr_stream *xdr, in nfs4_xdr_dec_bind_conn_to_session() argument
7165 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_bind_conn_to_session()
7167 status = decode_bind_conn_to_session(xdr, res); in nfs4_xdr_dec_bind_conn_to_session()
7175 struct xdr_stream *xdr, in nfs4_xdr_dec_exchange_id() argument
7181 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_exchange_id()
7183 status = decode_exchange_id(xdr, res); in nfs4_xdr_dec_exchange_id()
7191 struct xdr_stream *xdr, in nfs4_xdr_dec_create_session() argument
7197 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_create_session()
7199 status = decode_create_session(xdr, res); in nfs4_xdr_dec_create_session()
7207 struct xdr_stream *xdr, in nfs4_xdr_dec_destroy_session() argument
7213 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_destroy_session()
7215 status = decode_destroy_session(xdr, res); in nfs4_xdr_dec_destroy_session()
7223 struct xdr_stream *xdr, in nfs4_xdr_dec_destroy_clientid() argument
7229 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_destroy_clientid()
7231 status = decode_destroy_clientid(xdr, res); in nfs4_xdr_dec_destroy_clientid()
7239 struct xdr_stream *xdr, in nfs4_xdr_dec_sequence() argument
7245 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_sequence()
7247 status = decode_sequence(xdr, res, rqstp); in nfs4_xdr_dec_sequence()
7257 struct xdr_stream *xdr, in nfs4_xdr_dec_get_lease_time() argument
7264 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_get_lease_time()
7266 status = decode_sequence(xdr, &res->lr_seq_res, rqstp); in nfs4_xdr_dec_get_lease_time()
7268 status = decode_putrootfh(xdr); in nfs4_xdr_dec_get_lease_time()
7270 status = decode_fsinfo(xdr, res->lr_fsinfo); in nfs4_xdr_dec_get_lease_time()
7280 struct xdr_stream *xdr, in nfs4_xdr_dec_reclaim_complete() argument
7287 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_reclaim_complete()
7289 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_reclaim_complete()
7291 status = decode_reclaim_complete(xdr, NULL); in nfs4_xdr_dec_reclaim_complete()
7299 struct xdr_stream *xdr, in nfs4_xdr_dec_getdeviceinfo() argument
7306 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_getdeviceinfo()
7309 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_getdeviceinfo()
7312 status = decode_getdeviceinfo(xdr, res); in nfs4_xdr_dec_getdeviceinfo()
7321 struct xdr_stream *xdr, in nfs4_xdr_dec_layoutget() argument
7328 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_layoutget()
7331 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_layoutget()
7334 status = decode_putfh(xdr); in nfs4_xdr_dec_layoutget()
7337 status = decode_layoutget(xdr, rqstp, res); in nfs4_xdr_dec_layoutget()
7346 struct xdr_stream *xdr, in nfs4_xdr_dec_layoutreturn() argument
7353 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_layoutreturn()
7356 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_layoutreturn()
7359 status = decode_putfh(xdr); in nfs4_xdr_dec_layoutreturn()
7362 status = decode_layoutreturn(xdr, res); in nfs4_xdr_dec_layoutreturn()
7371 struct xdr_stream *xdr, in nfs4_xdr_dec_layoutcommit() argument
7378 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_layoutcommit()
7381 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_layoutcommit()
7384 status = decode_putfh(xdr); in nfs4_xdr_dec_layoutcommit()
7387 status = decode_layoutcommit(xdr, rqstp, res); in nfs4_xdr_dec_layoutcommit()
7390 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_layoutcommit()
7399 struct xdr_stream *xdr, in nfs4_xdr_dec_secinfo_no_name() argument
7406 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_secinfo_no_name()
7409 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_secinfo_no_name()
7412 status = decode_putrootfh(xdr); in nfs4_xdr_dec_secinfo_no_name()
7415 status = decode_secinfo_no_name(xdr, res); in nfs4_xdr_dec_secinfo_no_name()
7424 struct xdr_stream *xdr, in nfs4_xdr_dec_test_stateid() argument
7431 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_test_stateid()
7434 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_test_stateid()
7437 status = decode_test_stateid(xdr, res); in nfs4_xdr_dec_test_stateid()
7446 struct xdr_stream *xdr, in nfs4_xdr_dec_free_stateid() argument
7453 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_free_stateid()
7456 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_free_stateid()
7459 status = decode_free_stateid(xdr, res); in nfs4_xdr_dec_free_stateid()
7479 int nfs4_decode_dirent(struct xdr_stream *xdr, struct nfs_entry *entry, in nfs4_decode_dirent() argument
7486 __be32 *p = xdr_inline_decode(xdr, 4); in nfs4_decode_dirent()
7490 p = xdr_inline_decode(xdr, 4); in nfs4_decode_dirent()
7499 p = xdr_inline_decode(xdr, 12); in nfs4_decode_dirent()
7505 p = xdr_inline_decode(xdr, entry->len); in nfs4_decode_dirent()
7518 if (decode_attr_bitmap(xdr, bitmap) < 0) in nfs4_decode_dirent()
7521 if (decode_attr_length(xdr, &len, &savep) < 0) in nfs4_decode_dirent()
7524 if (decode_getfattr_attrs(xdr, bitmap, entry->fattr, entry->fh, in nfs4_decode_dirent()