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,
952 static __be32 *reserve_space(struct xdr_stream *xdr, size_t nbytes) in reserve_space() argument
954 __be32 *p = xdr_reserve_space(xdr, nbytes); in reserve_space()
959 static void encode_opaque_fixed(struct xdr_stream *xdr, const void *buf, size_t len) in encode_opaque_fixed() argument
961 WARN_ON_ONCE(xdr_stream_encode_opaque_fixed(xdr, buf, len) < 0); in encode_opaque_fixed()
964 static void encode_string(struct xdr_stream *xdr, unsigned int len, const char *str) in encode_string() argument
966 WARN_ON_ONCE(xdr_stream_encode_opaque(xdr, str, len) < 0); in encode_string()
969 static void encode_uint32(struct xdr_stream *xdr, u32 n) in encode_uint32() argument
971 WARN_ON_ONCE(xdr_stream_encode_u32(xdr, n) < 0); in encode_uint32()
974 static void encode_uint64(struct xdr_stream *xdr, u64 n) in encode_uint64() argument
976 WARN_ON_ONCE(xdr_stream_encode_u64(xdr, n) < 0); in encode_uint64()
979 static ssize_t xdr_encode_bitmap4(struct xdr_stream *xdr, in xdr_encode_bitmap4() argument
987 ret = xdr_stream_encode_uint32_array(xdr, bitmap, len); in xdr_encode_bitmap4()
1008 static void encode_nfs4_seqid(struct xdr_stream *xdr, in encode_nfs4_seqid() argument
1012 encode_uint32(xdr, seqid->sequence->counter); in encode_nfs4_seqid()
1014 encode_uint32(xdr, 0); in encode_nfs4_seqid()
1017 static void encode_compound_hdr(struct xdr_stream *xdr, in encode_compound_hdr() argument
1029 encode_string(xdr, hdr->taglen, hdr->tag); in encode_compound_hdr()
1030 p = reserve_space(xdr, 8); in encode_compound_hdr()
1036 static void encode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 op, in encode_op_hdr() argument
1040 encode_uint32(xdr, op); in encode_op_hdr()
1051 static void encode_nfs4_stateid(struct xdr_stream *xdr, const nfs4_stateid *stateid) in encode_nfs4_stateid() argument
1053 encode_opaque_fixed(xdr, stateid, NFS4_STATEID_SIZE); in encode_nfs4_stateid()
1056 static void encode_nfs4_verifier(struct xdr_stream *xdr, const nfs4_verifier *verf) in encode_nfs4_verifier() argument
1058 encode_opaque_fixed(xdr, verf->data, NFS4_VERIFIER_SIZE); in encode_nfs4_verifier()
1069 static void encode_attrs(struct xdr_stream *xdr, const struct iattr *iap, in encode_attrs() argument
1149 xdr_encode_bitmap4(xdr, bmval, ARRAY_SIZE(bmval)); in encode_attrs()
1150 xdr_stream_encode_opaque_inline(xdr, (void **)&p, len); in encode_attrs()
1188 static void encode_access(struct xdr_stream *xdr, u32 access, struct compound_hdr *hdr) in encode_access() argument
1190 encode_op_hdr(xdr, OP_ACCESS, decode_access_maxsz, hdr); in encode_access()
1191 encode_uint32(xdr, access); in encode_access()
1194 static void encode_close(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct compound_h… in encode_close() argument
1196 encode_op_hdr(xdr, OP_CLOSE, decode_close_maxsz, hdr); in encode_close()
1197 encode_nfs4_seqid(xdr, arg->seqid); in encode_close()
1198 encode_nfs4_stateid(xdr, &arg->stateid); in encode_close()
1201 static void encode_commit(struct xdr_stream *xdr, const struct nfs_commitargs *args, struct compoun… in encode_commit() argument
1205 encode_op_hdr(xdr, OP_COMMIT, decode_commit_maxsz, hdr); in encode_commit()
1206 p = reserve_space(xdr, 12); in encode_commit()
1211 static void encode_create(struct xdr_stream *xdr, const struct nfs4_create_arg *create, struct comp… in encode_create() argument
1215 encode_op_hdr(xdr, OP_CREATE, decode_create_maxsz, hdr); in encode_create()
1216 encode_uint32(xdr, create->ftype); in encode_create()
1220 p = reserve_space(xdr, 4); in encode_create()
1222 xdr_write_pages(xdr, create->u.symlink.pages, 0, in encode_create()
1224 xdr->buf->flags |= XDRBUF_WRITE; in encode_create()
1228 p = reserve_space(xdr, 8); in encode_create()
1237 encode_string(xdr, create->name->len, create->name->name); in encode_create()
1238 encode_attrs(xdr, create->attrs, create->label, &create->umask, in encode_create()
1242 static void encode_getattr(struct xdr_stream *xdr, in encode_getattr() argument
1248 encode_op_hdr(xdr, OP_GETATTR, decode_getattr_maxsz, hdr); in encode_getattr()
1255 xdr_encode_bitmap4(xdr, bitmap, len); in encode_getattr()
1258 static void encode_getfattr(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) in encode_getfattr() argument
1260 encode_getattr(xdr, nfs4_fattr_bitmap, bitmask, in encode_getfattr()
1264 static void encode_getfattr_open(struct xdr_stream *xdr, const u32 *bitmask, in encode_getfattr_open() argument
1268 encode_getattr(xdr, open_bitmap, bitmask, 3, hdr); in encode_getfattr_open()
1271 static void encode_fsinfo(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) in encode_fsinfo() argument
1273 encode_getattr(xdr, nfs4_fsinfo_bitmap, bitmask, in encode_fsinfo()
1277 static void encode_fs_locations(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hd… in encode_fs_locations() argument
1279 encode_getattr(xdr, nfs4_fs_locations_bitmap, bitmask, in encode_fs_locations()
1283 static void encode_getfh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_getfh() argument
1285 encode_op_hdr(xdr, OP_GETFH, decode_getfh_maxsz, hdr); in encode_getfh()
1288 static void encode_link(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) in encode_link() argument
1290 encode_op_hdr(xdr, OP_LINK, decode_link_maxsz, hdr); in encode_link()
1291 encode_string(xdr, name->len, name->name); in encode_link()
1308 static void encode_lockowner(struct xdr_stream *xdr, const struct nfs_lowner *lowner) in encode_lockowner() argument
1312 p = reserve_space(xdr, 32); in encode_lockowner()
1324 static void encode_lock(struct xdr_stream *xdr, const struct nfs_lock_args *args, struct compound_h… in encode_lock() argument
1328 encode_op_hdr(xdr, OP_LOCK, decode_lock_maxsz, hdr); in encode_lock()
1329 p = reserve_space(xdr, 28); in encode_lock()
1336 encode_nfs4_seqid(xdr, args->open_seqid); in encode_lock()
1337 encode_nfs4_stateid(xdr, &args->open_stateid); in encode_lock()
1338 encode_nfs4_seqid(xdr, args->lock_seqid); in encode_lock()
1339 encode_lockowner(xdr, &args->lock_owner); in encode_lock()
1342 encode_nfs4_stateid(xdr, &args->lock_stateid); in encode_lock()
1343 encode_nfs4_seqid(xdr, args->lock_seqid); in encode_lock()
1347 static void encode_lockt(struct xdr_stream *xdr, const struct nfs_lockt_args *args, struct compound… in encode_lockt() argument
1351 encode_op_hdr(xdr, OP_LOCKT, decode_lockt_maxsz, hdr); in encode_lockt()
1352 p = reserve_space(xdr, 20); in encode_lockt()
1356 encode_lockowner(xdr, &args->lock_owner); in encode_lockt()
1359 static void encode_locku(struct xdr_stream *xdr, const struct nfs_locku_args *args, struct compound… in encode_locku() argument
1363 encode_op_hdr(xdr, OP_LOCKU, decode_locku_maxsz, hdr); in encode_locku()
1364 encode_uint32(xdr, nfs4_lock_type(args->fl, 0)); in encode_locku()
1365 encode_nfs4_seqid(xdr, args->seqid); in encode_locku()
1366 encode_nfs4_stateid(xdr, &args->stateid); in encode_locku()
1367 p = reserve_space(xdr, 16); in encode_locku()
1372 static void encode_release_lockowner(struct xdr_stream *xdr, const struct nfs_lowner *lowner, struc… in encode_release_lockowner() argument
1374 encode_op_hdr(xdr, OP_RELEASE_LOCKOWNER, decode_release_lockowner_maxsz, hdr); in encode_release_lockowner()
1375 encode_lockowner(xdr, lowner); in encode_release_lockowner()
1378 static void encode_lookup(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) in encode_lookup() argument
1380 encode_op_hdr(xdr, OP_LOOKUP, decode_lookup_maxsz, hdr); in encode_lookup()
1381 encode_string(xdr, name->len, name->name); in encode_lookup()
1384 static void encode_lookupp(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_lookupp() argument
1386 encode_op_hdr(xdr, OP_LOOKUPP, decode_lookupp_maxsz, hdr); in encode_lookupp()
1389 static void encode_share_access(struct xdr_stream *xdr, u32 share_access) in encode_share_access() argument
1393 p = reserve_space(xdr, 8); in encode_share_access()
1398 static inline void encode_openhdr(struct xdr_stream *xdr, const struct nfs_openargs *arg) in encode_openhdr() argument
1405 encode_nfs4_seqid(xdr, arg->seqid); in encode_openhdr()
1406 encode_share_access(xdr, arg->share_access); in encode_openhdr()
1407 p = reserve_space(xdr, 36); in encode_openhdr()
1416 static inline void encode_createmode(struct xdr_stream *xdr, const struct nfs_openargs *arg) in encode_createmode() argument
1420 p = reserve_space(xdr, 4); in encode_createmode()
1424 encode_attrs(xdr, arg->u.attrs, arg->label, &arg->umask, in encode_createmode()
1429 encode_attrs(xdr, arg->u.attrs, arg->label, &arg->umask, in encode_createmode()
1434 encode_nfs4_verifier(xdr, &arg->u.verifier); in encode_createmode()
1438 encode_nfs4_verifier(xdr, &arg->u.verifier); in encode_createmode()
1439 encode_attrs(xdr, arg->u.attrs, arg->label, &arg->umask, in encode_createmode()
1444 static void encode_opentype(struct xdr_stream *xdr, const struct nfs_openargs *arg) in encode_opentype() argument
1448 p = reserve_space(xdr, 4); in encode_opentype()
1455 encode_createmode(xdr, arg); in encode_opentype()
1459 static inline void encode_delegation_type(struct xdr_stream *xdr, fmode_t delegation_type) in encode_delegation_type() argument
1463 p = reserve_space(xdr, 4); in encode_delegation_type()
1479 static inline void encode_claim_null(struct xdr_stream *xdr, const struct qstr *name) in encode_claim_null() argument
1483 p = reserve_space(xdr, 4); in encode_claim_null()
1485 encode_string(xdr, name->len, name->name); in encode_claim_null()
1488 static inline void encode_claim_previous(struct xdr_stream *xdr, fmode_t type) in encode_claim_previous() argument
1492 p = reserve_space(xdr, 4); in encode_claim_previous()
1494 encode_delegation_type(xdr, type); in encode_claim_previous()
1497 static inline void encode_claim_delegate_cur(struct xdr_stream *xdr, const struct qstr *name, const… in encode_claim_delegate_cur() argument
1501 p = reserve_space(xdr, 4); in encode_claim_delegate_cur()
1503 encode_nfs4_stateid(xdr, stateid); in encode_claim_delegate_cur()
1504 encode_string(xdr, name->len, name->name); in encode_claim_delegate_cur()
1507 static inline void encode_claim_fh(struct xdr_stream *xdr) in encode_claim_fh() argument
1511 p = reserve_space(xdr, 4); in encode_claim_fh()
1515 static inline void encode_claim_delegate_cur_fh(struct xdr_stream *xdr, const nfs4_stateid *stateid) in encode_claim_delegate_cur_fh() argument
1519 p = reserve_space(xdr, 4); in encode_claim_delegate_cur_fh()
1521 encode_nfs4_stateid(xdr, stateid); in encode_claim_delegate_cur_fh()
1524 static void encode_open(struct xdr_stream *xdr, const struct nfs_openargs *arg, struct compound_hdr… in encode_open() argument
1526 encode_op_hdr(xdr, OP_OPEN, decode_open_maxsz, hdr); in encode_open()
1527 encode_openhdr(xdr, arg); in encode_open()
1528 encode_opentype(xdr, arg); in encode_open()
1531 encode_claim_null(xdr, arg->name); in encode_open()
1534 encode_claim_previous(xdr, arg->u.delegation_type); in encode_open()
1537 encode_claim_delegate_cur(xdr, arg->name, &arg->u.delegation); in encode_open()
1540 encode_claim_fh(xdr); in encode_open()
1543 encode_claim_delegate_cur_fh(xdr, &arg->u.delegation); in encode_open()
1550 static void encode_open_confirm(struct xdr_stream *xdr, const struct nfs_open_confirmargs *arg, str… in encode_open_confirm() argument
1552 encode_op_hdr(xdr, OP_OPEN_CONFIRM, decode_open_confirm_maxsz, hdr); in encode_open_confirm()
1553 encode_nfs4_stateid(xdr, arg->stateid); in encode_open_confirm()
1554 encode_nfs4_seqid(xdr, arg->seqid); in encode_open_confirm()
1557 static void encode_open_downgrade(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct c… in encode_open_downgrade() argument
1559 encode_op_hdr(xdr, OP_OPEN_DOWNGRADE, decode_open_downgrade_maxsz, hdr); in encode_open_downgrade()
1560 encode_nfs4_stateid(xdr, &arg->stateid); in encode_open_downgrade()
1561 encode_nfs4_seqid(xdr, arg->seqid); in encode_open_downgrade()
1562 encode_share_access(xdr, arg->share_access); in encode_open_downgrade()
1566 encode_putfh(struct xdr_stream *xdr, const struct nfs_fh *fh, struct compound_hdr *hdr) in encode_putfh() argument
1568 encode_op_hdr(xdr, OP_PUTFH, decode_putfh_maxsz, hdr); in encode_putfh()
1569 encode_string(xdr, fh->size, fh->data); in encode_putfh()
1572 static void encode_putrootfh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_putrootfh() argument
1574 encode_op_hdr(xdr, OP_PUTROOTFH, decode_putrootfh_maxsz, hdr); in encode_putrootfh()
1577 static void encode_read(struct xdr_stream *xdr, const struct nfs_pgio_args *args, in encode_read() argument
1582 encode_op_hdr(xdr, OP_READ, decode_read_maxsz, hdr); in encode_read()
1583 encode_nfs4_stateid(xdr, &args->stateid); in encode_read()
1585 p = reserve_space(xdr, 12); in encode_read()
1590 static void encode_readdir(struct xdr_stream *xdr, const struct nfs4_readdir_arg *readdir, struct r… in encode_readdir() argument
1620 encode_op_hdr(xdr, OP_READDIR, decode_readdir_maxsz, hdr); in encode_readdir()
1621 encode_uint64(xdr, readdir->cookie); in encode_readdir()
1622 encode_nfs4_verifier(xdr, &readdir->verifier); in encode_readdir()
1623 p = reserve_space(xdr, 12 + (attrlen << 2)); in encode_readdir()
1640 static void encode_readlink(struct xdr_stream *xdr, const struct nfs4_readlink *readlink, struct rp… in encode_readlink() argument
1642 encode_op_hdr(xdr, OP_READLINK, decode_readlink_maxsz, hdr); in encode_readlink()
1645 static void encode_remove(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) in encode_remove() argument
1647 encode_op_hdr(xdr, OP_REMOVE, decode_remove_maxsz, hdr); in encode_remove()
1648 encode_string(xdr, name->len, name->name); in encode_remove()
1651 static void encode_rename(struct xdr_stream *xdr, const struct qstr *oldname, const struct qstr *ne… in encode_rename() argument
1653 encode_op_hdr(xdr, OP_RENAME, decode_rename_maxsz, hdr); in encode_rename()
1654 encode_string(xdr, oldname->len, oldname->name); in encode_rename()
1655 encode_string(xdr, newname->len, newname->name); in encode_rename()
1658 static void encode_renew(struct xdr_stream *xdr, clientid4 clid, in encode_renew() argument
1661 encode_op_hdr(xdr, OP_RENEW, decode_renew_maxsz, hdr); in encode_renew()
1662 encode_uint64(xdr, clid); in encode_renew()
1666 encode_restorefh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_restorefh() argument
1668 encode_op_hdr(xdr, OP_RESTOREFH, decode_restorefh_maxsz, hdr); in encode_restorefh()
1672 encode_setacl(struct xdr_stream *xdr, const struct nfs_setaclargs *arg, in encode_setacl() argument
1677 encode_op_hdr(xdr, OP_SETATTR, decode_setacl_maxsz, hdr); in encode_setacl()
1678 encode_nfs4_stateid(xdr, &zero_stateid); in encode_setacl()
1679 p = reserve_space(xdr, 2*4); in encode_setacl()
1682 p = reserve_space(xdr, 4); in encode_setacl()
1684 xdr_write_pages(xdr, arg->acl_pages, 0, arg->acl_len); in encode_setacl()
1688 encode_savefh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_savefh() argument
1690 encode_op_hdr(xdr, OP_SAVEFH, decode_savefh_maxsz, hdr); in encode_savefh()
1693 static void encode_setattr(struct xdr_stream *xdr, const struct nfs_setattrargs *arg, const struct … in encode_setattr() argument
1695 encode_op_hdr(xdr, OP_SETATTR, decode_setattr_maxsz, hdr); in encode_setattr()
1696 encode_nfs4_stateid(xdr, &arg->stateid); in encode_setattr()
1697 encode_attrs(xdr, arg->iap, arg->label, NULL, server, in encode_setattr()
1701 static void encode_setclientid(struct xdr_stream *xdr, const struct nfs4_setclientid *setclientid, … in encode_setclientid() argument
1705 encode_op_hdr(xdr, OP_SETCLIENTID, decode_setclientid_maxsz, hdr); in encode_setclientid()
1706 encode_nfs4_verifier(xdr, setclientid->sc_verifier); in encode_setclientid()
1708 encode_string(xdr, strlen(setclientid->sc_clnt->cl_owner_id), in encode_setclientid()
1710 p = reserve_space(xdr, 4); in encode_setclientid()
1712 encode_string(xdr, setclientid->sc_netid_len, setclientid->sc_netid); in encode_setclientid()
1713 encode_string(xdr, setclientid->sc_uaddr_len, setclientid->sc_uaddr); in encode_setclientid()
1714 p = reserve_space(xdr, 4); in encode_setclientid()
1718 static void encode_setclientid_confirm(struct xdr_stream *xdr, const struct nfs4_setclientid_res *a… in encode_setclientid_confirm() argument
1720 encode_op_hdr(xdr, OP_SETCLIENTID_CONFIRM, in encode_setclientid_confirm()
1722 encode_uint64(xdr, arg->clientid); in encode_setclientid_confirm()
1723 encode_nfs4_verifier(xdr, &arg->confirm); in encode_setclientid_confirm()
1726 static void encode_write(struct xdr_stream *xdr, const struct nfs_pgio_args *args, in encode_write() argument
1731 encode_op_hdr(xdr, OP_WRITE, decode_write_maxsz, hdr); in encode_write()
1732 encode_nfs4_stateid(xdr, &args->stateid); in encode_write()
1734 p = reserve_space(xdr, 16); in encode_write()
1739 xdr_write_pages(xdr, args->pages, args->pgbase, args->count); in encode_write()
1742 static void encode_delegreturn(struct xdr_stream *xdr, const nfs4_stateid *stateid, struct compound… in encode_delegreturn() argument
1744 encode_op_hdr(xdr, OP_DELEGRETURN, decode_delegreturn_maxsz, hdr); in encode_delegreturn()
1745 encode_nfs4_stateid(xdr, stateid); in encode_delegreturn()
1748 static void encode_secinfo(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hd… in encode_secinfo() argument
1750 encode_op_hdr(xdr, OP_SECINFO, decode_secinfo_maxsz, hdr); in encode_secinfo()
1751 encode_string(xdr, name->len, name->name); in encode_secinfo()
1756 static void encode_bind_conn_to_session(struct xdr_stream *xdr, in encode_bind_conn_to_session() argument
1762 encode_op_hdr(xdr, OP_BIND_CONN_TO_SESSION, in encode_bind_conn_to_session()
1764 encode_opaque_fixed(xdr, args->sessionid.data, NFS4_MAX_SESSIONID_LEN); in encode_bind_conn_to_session()
1765 p = xdr_reserve_space(xdr, 8); in encode_bind_conn_to_session()
1770 static void encode_op_map(struct xdr_stream *xdr, const struct nfs4_op_map *op_map) in encode_op_map() argument
1773 encode_uint32(xdr, NFS4_OP_MAP_NUM_WORDS); in encode_op_map()
1775 encode_uint32(xdr, op_map->u.words[i]); in encode_op_map()
1778 static void encode_exchange_id(struct xdr_stream *xdr, in encode_exchange_id() argument
1786 encode_op_hdr(xdr, OP_EXCHANGE_ID, decode_exchange_id_maxsz, hdr); in encode_exchange_id()
1787 encode_nfs4_verifier(xdr, &args->verifier); in encode_exchange_id()
1789 encode_string(xdr, strlen(args->client->cl_owner_id), in encode_exchange_id()
1792 encode_uint32(xdr, args->flags); in encode_exchange_id()
1793 encode_uint32(xdr, args->state_protect.how); in encode_exchange_id()
1799 encode_op_map(xdr, &args->state_protect.enforce); in encode_exchange_id()
1800 encode_op_map(xdr, &args->state_protect.allow); in encode_exchange_id()
1816 encode_uint32(xdr, 1); /* implementation id array length=1 */ in encode_exchange_id()
1818 encode_string(xdr, in encode_exchange_id()
1821 encode_string(xdr, len, impl_name); in encode_exchange_id()
1823 p = reserve_space(xdr, 12); in encode_exchange_id()
1827 encode_uint32(xdr, 0); /* implementation id array length=0 */ in encode_exchange_id()
1830 static void encode_create_session(struct xdr_stream *xdr, in encode_create_session() argument
1847 encode_op_hdr(xdr, OP_CREATE_SESSION, decode_create_session_maxsz, hdr); in encode_create_session()
1848 p = reserve_space(xdr, 16 + 2*28 + 20 + clnt->cl_nodelen + 12); in encode_create_session()
1883 static void encode_destroy_session(struct xdr_stream *xdr, in encode_destroy_session() argument
1887 encode_op_hdr(xdr, OP_DESTROY_SESSION, decode_destroy_session_maxsz, hdr); in encode_destroy_session()
1888 encode_opaque_fixed(xdr, session->sess_id.data, NFS4_MAX_SESSIONID_LEN); in encode_destroy_session()
1891 static void encode_destroy_clientid(struct xdr_stream *xdr, in encode_destroy_clientid() argument
1895 encode_op_hdr(xdr, OP_DESTROY_CLIENTID, decode_destroy_clientid_maxsz, hdr); in encode_destroy_clientid()
1896 encode_uint64(xdr, clientid); in encode_destroy_clientid()
1899 static void encode_reclaim_complete(struct xdr_stream *xdr, in encode_reclaim_complete() argument
1903 encode_op_hdr(xdr, OP_RECLAIM_COMPLETE, decode_reclaim_complete_maxsz, hdr); in encode_reclaim_complete()
1904 encode_uint32(xdr, args->one_fs); in encode_reclaim_complete()
1908 static void encode_sequence(struct xdr_stream *xdr, in encode_sequence() argument
1923 encode_op_hdr(xdr, OP_SEQUENCE, decode_sequence_maxsz, hdr); in encode_sequence()
1937 p = reserve_space(xdr, NFS4_MAX_SESSIONID_LEN + 16); in encode_sequence()
1948 encode_getdeviceinfo(struct xdr_stream *xdr, in encode_getdeviceinfo() argument
1954 encode_op_hdr(xdr, OP_GETDEVICEINFO, decode_getdeviceinfo_maxsz, hdr); in encode_getdeviceinfo()
1955 p = reserve_space(xdr, NFS4_DEVICEID4_SIZE + 4 + 4); in encode_getdeviceinfo()
1961 p = reserve_space(xdr, 4 + 4); in encode_getdeviceinfo()
1967 encode_layoutget(struct xdr_stream *xdr, in encode_layoutget() argument
1973 encode_op_hdr(xdr, OP_LAYOUTGET, decode_layoutget_maxsz, hdr); in encode_layoutget()
1974 p = reserve_space(xdr, 36); in encode_layoutget()
1981 encode_nfs4_stateid(xdr, &args->stateid); in encode_layoutget()
1982 encode_uint32(xdr, args->maxcount); in encode_layoutget()
1994 encode_layoutcommit(struct xdr_stream *xdr, in encode_layoutcommit() argument
2004 encode_op_hdr(xdr, OP_LAYOUTCOMMIT, decode_layoutcommit_maxsz, hdr); in encode_layoutcommit()
2005 p = reserve_space(xdr, 20); in encode_layoutcommit()
2010 encode_nfs4_stateid(xdr, &args->stateid); in encode_layoutcommit()
2012 p = reserve_space(xdr, 20); in encode_layoutcommit()
2016 p = reserve_space(xdr, 12); in encode_layoutcommit()
2022 encode_uint32(xdr, args->layoutupdate_len); in encode_layoutcommit()
2024 xdr_write_pages(xdr, args->layoutupdate_pages, 0, in encode_layoutcommit()
2031 encode_layoutreturn(struct xdr_stream *xdr, in encode_layoutreturn() argument
2037 encode_op_hdr(xdr, OP_LAYOUTRETURN, decode_layoutreturn_maxsz, hdr); in encode_layoutreturn()
2038 p = reserve_space(xdr, 16); in encode_layoutreturn()
2043 p = reserve_space(xdr, 16); in encode_layoutreturn()
2047 encode_nfs4_stateid(xdr, &args->stateid); in encode_layoutreturn()
2050 args->ld_private->ops->encode(xdr, args, args->ld_private); in encode_layoutreturn()
2052 encode_uint32(xdr, 0); in encode_layoutreturn()
2056 encode_secinfo_no_name(struct xdr_stream *xdr, in encode_secinfo_no_name() argument
2060 encode_op_hdr(xdr, OP_SECINFO_NO_NAME, decode_secinfo_no_name_maxsz, hdr); in encode_secinfo_no_name()
2061 encode_uint32(xdr, args->style); in encode_secinfo_no_name()
2065 static void encode_test_stateid(struct xdr_stream *xdr, in encode_test_stateid() argument
2069 encode_op_hdr(xdr, OP_TEST_STATEID, decode_test_stateid_maxsz, hdr); in encode_test_stateid()
2070 encode_uint32(xdr, 1); in encode_test_stateid()
2071 encode_nfs4_stateid(xdr, args->stateid); in encode_test_stateid()
2074 static void encode_free_stateid(struct xdr_stream *xdr, in encode_free_stateid() argument
2078 encode_op_hdr(xdr, OP_FREE_STATEID, decode_free_stateid_maxsz, hdr); in encode_free_stateid()
2079 encode_nfs4_stateid(xdr, &args->stateid); in encode_free_stateid()
2083 encode_layoutreturn(struct xdr_stream *xdr, in encode_layoutreturn() argument
2090 encode_layoutget(struct xdr_stream *xdr, in encode_layoutget() argument
2114 static void nfs4_xdr_enc_access(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_access() argument
2122 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_access()
2123 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_access()
2124 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_access()
2125 encode_access(xdr, args->access, &hdr); in nfs4_xdr_enc_access()
2127 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_access()
2134 static void nfs4_xdr_enc_lookup(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_lookup() argument
2142 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lookup()
2143 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lookup()
2144 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_lookup()
2145 encode_lookup(xdr, args->name, &hdr); in nfs4_xdr_enc_lookup()
2146 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_lookup()
2147 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_lookup()
2154 static void nfs4_xdr_enc_lookupp(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_lookupp() argument
2162 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lookupp()
2163 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lookupp()
2164 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_lookupp()
2165 encode_lookupp(xdr, &hdr); in nfs4_xdr_enc_lookupp()
2166 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_lookupp()
2167 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_lookupp()
2175 struct xdr_stream *xdr, in nfs4_xdr_enc_lookup_root() argument
2183 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lookup_root()
2184 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lookup_root()
2185 encode_putrootfh(xdr, &hdr); in nfs4_xdr_enc_lookup_root()
2186 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_lookup_root()
2187 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_lookup_root()
2194 static void nfs4_xdr_enc_remove(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_remove() argument
2202 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_remove()
2203 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_remove()
2204 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_remove()
2205 encode_remove(xdr, &args->name, &hdr); in nfs4_xdr_enc_remove()
2212 static void nfs4_xdr_enc_rename(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_rename() argument
2220 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_rename()
2221 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_rename()
2222 encode_putfh(xdr, args->old_dir, &hdr); in nfs4_xdr_enc_rename()
2223 encode_savefh(xdr, &hdr); in nfs4_xdr_enc_rename()
2224 encode_putfh(xdr, args->new_dir, &hdr); in nfs4_xdr_enc_rename()
2225 encode_rename(xdr, args->old_name, args->new_name, &hdr); in nfs4_xdr_enc_rename()
2232 static void nfs4_xdr_enc_link(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_link() argument
2240 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_link()
2241 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_link()
2242 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_link()
2243 encode_savefh(xdr, &hdr); in nfs4_xdr_enc_link()
2244 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_link()
2245 encode_link(xdr, args->name, &hdr); in nfs4_xdr_enc_link()
2246 encode_restorefh(xdr, &hdr); in nfs4_xdr_enc_link()
2247 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_link()
2254 static void nfs4_xdr_enc_create(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_create() argument
2262 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_create()
2263 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_create()
2264 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_create()
2265 encode_create(xdr, args, &hdr); in nfs4_xdr_enc_create()
2266 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_create()
2267 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_create()
2274 static void nfs4_xdr_enc_symlink(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_symlink() argument
2279 nfs4_xdr_enc_create(req, xdr, args); in nfs4_xdr_enc_symlink()
2285 static void nfs4_xdr_enc_getattr(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_getattr() argument
2293 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_getattr()
2294 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_getattr()
2295 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_getattr()
2296 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_getattr()
2303 static void nfs4_xdr_enc_close(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_close() argument
2311 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_close()
2312 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_close()
2313 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_close()
2315 encode_layoutreturn(xdr, args->lr_args, &hdr); in nfs4_xdr_enc_close()
2317 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_close()
2318 encode_close(xdr, args, &hdr); in nfs4_xdr_enc_close()
2325 static void nfs4_xdr_enc_open(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_open() argument
2333 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open()
2334 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_open()
2335 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open()
2336 encode_open(xdr, args, &hdr); in nfs4_xdr_enc_open()
2337 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_open()
2339 encode_access(xdr, args->access, &hdr); in nfs4_xdr_enc_open()
2340 encode_getfattr_open(xdr, args->bitmask, args->open_bitmap, &hdr); in nfs4_xdr_enc_open()
2342 encode_layoutget(xdr, args->lg_args, &hdr); in nfs4_xdr_enc_open()
2354 struct xdr_stream *xdr, in nfs4_xdr_enc_open_confirm() argument
2362 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open_confirm()
2363 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open_confirm()
2364 encode_open_confirm(xdr, args, &hdr); in nfs4_xdr_enc_open_confirm()
2372 struct xdr_stream *xdr, in nfs4_xdr_enc_open_noattr() argument
2380 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open_noattr()
2381 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_open_noattr()
2382 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open_noattr()
2383 encode_open(xdr, args, &hdr); in nfs4_xdr_enc_open_noattr()
2385 encode_access(xdr, args->access, &hdr); in nfs4_xdr_enc_open_noattr()
2386 encode_getfattr_open(xdr, args->bitmask, args->open_bitmap, &hdr); in nfs4_xdr_enc_open_noattr()
2388 encode_layoutget(xdr, args->lg_args, &hdr); in nfs4_xdr_enc_open_noattr()
2400 struct xdr_stream *xdr, in nfs4_xdr_enc_open_downgrade() argument
2408 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open_downgrade()
2409 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_open_downgrade()
2410 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open_downgrade()
2412 encode_layoutreturn(xdr, args->lr_args, &hdr); in nfs4_xdr_enc_open_downgrade()
2413 encode_open_downgrade(xdr, args, &hdr); in nfs4_xdr_enc_open_downgrade()
2420 static void nfs4_xdr_enc_lock(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_lock() argument
2428 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lock()
2429 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lock()
2430 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_lock()
2431 encode_lock(xdr, args, &hdr); in nfs4_xdr_enc_lock()
2438 static void nfs4_xdr_enc_lockt(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_lockt() argument
2446 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lockt()
2447 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lockt()
2448 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_lockt()
2449 encode_lockt(xdr, args, &hdr); in nfs4_xdr_enc_lockt()
2456 static void nfs4_xdr_enc_locku(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_locku() argument
2464 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_locku()
2465 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_locku()
2466 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_locku()
2467 encode_locku(xdr, args, &hdr); in nfs4_xdr_enc_locku()
2472 struct xdr_stream *xdr, in nfs4_xdr_enc_release_lockowner() argument
2480 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_release_lockowner()
2481 encode_release_lockowner(xdr, &args->lock_owner, &hdr); in nfs4_xdr_enc_release_lockowner()
2488 static void nfs4_xdr_enc_readlink(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_readlink() argument
2496 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_readlink()
2497 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_readlink()
2498 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_readlink()
2499 encode_readlink(xdr, args, req, &hdr); in nfs4_xdr_enc_readlink()
2509 static void nfs4_xdr_enc_readdir(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_readdir() argument
2517 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_readdir()
2518 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_readdir()
2519 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_readdir()
2520 encode_readdir(xdr, args, req, &hdr); in nfs4_xdr_enc_readdir()
2530 static void nfs4_xdr_enc_read(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_read() argument
2538 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_read()
2539 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_read()
2540 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_read()
2541 encode_read(xdr, args, &hdr); in nfs4_xdr_enc_read()
2552 static void nfs4_xdr_enc_setattr(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_setattr() argument
2560 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setattr()
2561 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_setattr()
2562 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_setattr()
2563 encode_setattr(xdr, args, args->server, &hdr); in nfs4_xdr_enc_setattr()
2564 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_setattr()
2571 static void nfs4_xdr_enc_getacl(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_getacl() argument
2583 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_getacl()
2584 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_getacl()
2585 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_getacl()
2587 encode_getattr(xdr, nfs4_acl_bitmap, NULL, in nfs4_xdr_enc_getacl()
2598 static void nfs4_xdr_enc_write(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_write() argument
2606 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_write()
2607 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_write()
2608 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_write()
2609 encode_write(xdr, args, &hdr); in nfs4_xdr_enc_write()
2612 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_write()
2619 static void nfs4_xdr_enc_commit(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_commit() argument
2627 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_commit()
2628 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_commit()
2629 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_commit()
2630 encode_commit(xdr, args, &hdr); in nfs4_xdr_enc_commit()
2637 static void nfs4_xdr_enc_fsinfo(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_fsinfo() argument
2645 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_fsinfo()
2646 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_fsinfo()
2647 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_fsinfo()
2648 encode_fsinfo(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_fsinfo()
2655 static void nfs4_xdr_enc_pathconf(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_pathconf() argument
2663 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_pathconf()
2664 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_pathconf()
2665 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_pathconf()
2666 encode_getattr(xdr, nfs4_pathconf_bitmap, args->bitmask, in nfs4_xdr_enc_pathconf()
2674 static void nfs4_xdr_enc_statfs(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_statfs() argument
2682 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_statfs()
2683 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_statfs()
2684 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_statfs()
2685 encode_getattr(xdr, nfs4_statfs_bitmap, args->bitmask, in nfs4_xdr_enc_statfs()
2694 struct xdr_stream *xdr, in nfs4_xdr_enc_server_caps() argument
2703 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_server_caps()
2704 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_server_caps()
2705 encode_putfh(xdr, args->fhandle, &hdr); in nfs4_xdr_enc_server_caps()
2706 encode_getattr(xdr, bitmask, NULL, 3, &hdr); in nfs4_xdr_enc_server_caps()
2713 static void nfs4_xdr_enc_renew(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_renew() argument
2722 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_renew()
2723 encode_renew(xdr, clp->cl_clientid, &hdr); in nfs4_xdr_enc_renew()
2731 struct xdr_stream *xdr, in nfs4_xdr_enc_setclientid() argument
2739 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setclientid()
2740 encode_setclientid(xdr, sc, &hdr); in nfs4_xdr_enc_setclientid()
2748 struct xdr_stream *xdr, in nfs4_xdr_enc_setclientid_confirm() argument
2756 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setclientid_confirm()
2757 encode_setclientid_confirm(xdr, arg, &hdr); in nfs4_xdr_enc_setclientid_confirm()
2765 struct xdr_stream *xdr, in nfs4_xdr_enc_delegreturn() argument
2773 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_delegreturn()
2774 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_delegreturn()
2775 encode_putfh(xdr, args->fhandle, &hdr); in nfs4_xdr_enc_delegreturn()
2777 encode_layoutreturn(xdr, args->lr_args, &hdr); in nfs4_xdr_enc_delegreturn()
2779 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_delegreturn()
2780 encode_delegreturn(xdr, args->stateid, &hdr); in nfs4_xdr_enc_delegreturn()
2788 struct xdr_stream *xdr, in nfs4_xdr_enc_fs_locations() argument
2797 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_fs_locations()
2798 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_fs_locations()
2800 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_fs_locations()
2802 encode_fs_locations(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_fs_locations()
2804 encode_renew(xdr, args->clientid, &hdr); in nfs4_xdr_enc_fs_locations()
2806 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_fs_locations()
2807 encode_lookup(xdr, args->name, &hdr); in nfs4_xdr_enc_fs_locations()
2809 encode_fs_locations(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_fs_locations()
2821 struct xdr_stream *xdr, in nfs4_xdr_enc_secinfo() argument
2829 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_secinfo()
2830 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_secinfo()
2831 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_secinfo()
2832 encode_secinfo(xdr, args->name, &hdr); in nfs4_xdr_enc_secinfo()
2840 struct xdr_stream *xdr, in nfs4_xdr_enc_fsid_present() argument
2848 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_fsid_present()
2849 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_fsid_present()
2850 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_fsid_present()
2851 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_fsid_present()
2853 encode_renew(xdr, args->clientid, &hdr); in nfs4_xdr_enc_fsid_present()
2862 struct xdr_stream *xdr, in nfs4_xdr_enc_bind_conn_to_session() argument
2870 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_bind_conn_to_session()
2871 encode_bind_conn_to_session(xdr, args, &hdr); in nfs4_xdr_enc_bind_conn_to_session()
2879 struct xdr_stream *xdr, in nfs4_xdr_enc_exchange_id() argument
2887 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_exchange_id()
2888 encode_exchange_id(xdr, args, &hdr); in nfs4_xdr_enc_exchange_id()
2896 struct xdr_stream *xdr, in nfs4_xdr_enc_create_session() argument
2904 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_create_session()
2905 encode_create_session(xdr, args, &hdr); in nfs4_xdr_enc_create_session()
2913 struct xdr_stream *xdr, in nfs4_xdr_enc_destroy_session() argument
2921 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_destroy_session()
2922 encode_destroy_session(xdr, session, &hdr); in nfs4_xdr_enc_destroy_session()
2930 struct xdr_stream *xdr, in nfs4_xdr_enc_destroy_clientid() argument
2938 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_destroy_clientid()
2939 encode_destroy_clientid(xdr, clp->cl_clientid, &hdr); in nfs4_xdr_enc_destroy_clientid()
2946 static void nfs4_xdr_enc_sequence(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_sequence() argument
2954 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_sequence()
2955 encode_sequence(xdr, args, &hdr); in nfs4_xdr_enc_sequence()
2965 struct xdr_stream *xdr, in nfs4_xdr_enc_get_lease_time() argument
2974 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_get_lease_time()
2975 encode_sequence(xdr, &args->la_seq_args, &hdr); in nfs4_xdr_enc_get_lease_time()
2976 encode_putrootfh(xdr, &hdr); in nfs4_xdr_enc_get_lease_time()
2977 encode_fsinfo(xdr, lease_bitmap, &hdr); in nfs4_xdr_enc_get_lease_time()
2987 struct xdr_stream *xdr, in nfs4_xdr_enc_reclaim_complete() argument
2995 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_reclaim_complete()
2996 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_reclaim_complete()
2997 encode_reclaim_complete(xdr, args, &hdr); in nfs4_xdr_enc_reclaim_complete()
3005 struct xdr_stream *xdr, in nfs4_xdr_enc_getdeviceinfo() argument
3014 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_getdeviceinfo()
3015 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_getdeviceinfo()
3019 encode_getdeviceinfo(xdr, args, &hdr); in nfs4_xdr_enc_getdeviceinfo()
3032 struct xdr_stream *xdr, in nfs4_xdr_enc_layoutget() argument
3040 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_layoutget()
3041 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_layoutget()
3042 encode_putfh(xdr, NFS_FH(args->inode), &hdr); in nfs4_xdr_enc_layoutget()
3043 encode_layoutget(xdr, args, &hdr); in nfs4_xdr_enc_layoutget()
3054 struct xdr_stream *xdr, in nfs4_xdr_enc_layoutcommit() argument
3064 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_layoutcommit()
3065 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_layoutcommit()
3066 encode_putfh(xdr, NFS_FH(args->inode), &hdr); in nfs4_xdr_enc_layoutcommit()
3067 encode_layoutcommit(xdr, data->args.inode, args, &hdr); in nfs4_xdr_enc_layoutcommit()
3068 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_layoutcommit()
3076 struct xdr_stream *xdr, in nfs4_xdr_enc_layoutreturn() argument
3084 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_layoutreturn()
3085 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_layoutreturn()
3086 encode_putfh(xdr, NFS_FH(args->inode), &hdr); in nfs4_xdr_enc_layoutreturn()
3087 encode_layoutreturn(xdr, args, &hdr); in nfs4_xdr_enc_layoutreturn()
3095 struct xdr_stream *xdr, in nfs4_xdr_enc_secinfo_no_name() argument
3103 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_secinfo_no_name()
3104 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_secinfo_no_name()
3105 encode_putrootfh(xdr, &hdr); in nfs4_xdr_enc_secinfo_no_name()
3106 encode_secinfo_no_name(xdr, args, &hdr); in nfs4_xdr_enc_secinfo_no_name()
3114 struct xdr_stream *xdr, in nfs4_xdr_enc_test_stateid() argument
3122 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_test_stateid()
3123 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_test_stateid()
3124 encode_test_stateid(xdr, args, &hdr); in nfs4_xdr_enc_test_stateid()
3132 struct xdr_stream *xdr, in nfs4_xdr_enc_free_stateid() argument
3140 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_free_stateid()
3141 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_free_stateid()
3142 encode_free_stateid(xdr, args, &hdr); in nfs4_xdr_enc_free_stateid()
3147 static int decode_opaque_inline(struct xdr_stream *xdr, unsigned int *len, char **string) in decode_opaque_inline() argument
3149 ssize_t ret = xdr_stream_decode_opaque_inline(xdr, (void **)string, in decode_opaque_inline()
3157 static int decode_compound_hdr(struct xdr_stream *xdr, struct compound_hdr *hdr) in decode_compound_hdr() argument
3161 p = xdr_inline_decode(xdr, 8); in decode_compound_hdr()
3167 p = xdr_inline_decode(xdr, hdr->taglen + 4); in decode_compound_hdr()
3178 static bool __decode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 expected, in __decode_op_hdr() argument
3185 p = xdr_inline_decode(xdr, 8); in __decode_op_hdr()
3197 trace_nfs4_xdr_status(xdr, opnum, nfserr); in __decode_op_hdr()
3211 static int decode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 expected) in decode_op_hdr() argument
3215 __decode_op_hdr(xdr, expected, &retval); in decode_op_hdr()
3220 static int decode_ace(struct xdr_stream *xdr, void *ace) in decode_ace() argument
3226 p = xdr_inline_decode(xdr, 12); in decode_ace()
3229 return decode_opaque_inline(xdr, &strlen, &str); in decode_ace()
3233 decode_bitmap4(struct xdr_stream *xdr, uint32_t *bitmap, size_t sz) in decode_bitmap4() argument
3237 ret = xdr_stream_decode_uint32_array(xdr, bitmap, sz); in decode_bitmap4()
3245 static int decode_attr_bitmap(struct xdr_stream *xdr, uint32_t *bitmap) in decode_attr_bitmap() argument
3248 ret = decode_bitmap4(xdr, bitmap, 3); in decode_attr_bitmap()
3252 static int decode_attr_length(struct xdr_stream *xdr, uint32_t *attrlen, unsigned int *savep) in decode_attr_length() argument
3256 p = xdr_inline_decode(xdr, 4); in decode_attr_length()
3260 *savep = xdr_stream_pos(xdr); in decode_attr_length()
3264 static int decode_attr_supported(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *bitmask) in decode_attr_supported() argument
3268 ret = decode_attr_bitmap(xdr, bitmask); in decode_attr_supported()
3279 static int decode_attr_type(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *type) in decode_attr_type() argument
3288 p = xdr_inline_decode(xdr, 4); in decode_attr_type()
3303 static int decode_attr_fh_expire_type(struct xdr_stream *xdr, in decode_attr_fh_expire_type() argument
3312 p = xdr_inline_decode(xdr, 4); in decode_attr_fh_expire_type()
3322 static int decode_attr_change(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *change) in decode_attr_change() argument
3331 p = xdr_inline_decode(xdr, 8); in decode_attr_change()
3343 static int decode_attr_size(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *size) in decode_attr_size() argument
3352 p = xdr_inline_decode(xdr, 8); in decode_attr_size()
3363 static int decode_attr_link_support(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_link_support() argument
3371 p = xdr_inline_decode(xdr, 4); in decode_attr_link_support()
3381 static int decode_attr_symlink_support(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_symlink_support() argument
3389 p = xdr_inline_decode(xdr, 4); in decode_attr_symlink_support()
3399 static int decode_attr_fsid(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs_fsid *fsid) in decode_attr_fsid() argument
3409 p = xdr_inline_decode(xdr, 16); in decode_attr_fsid()
3423 static int decode_attr_lease_time(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_lease_time() argument
3431 p = xdr_inline_decode(xdr, 4); in decode_attr_lease_time()
3441 static int decode_attr_error(struct xdr_stream *xdr, uint32_t *bitmap, int32_t *res) in decode_attr_error() argument
3448 p = xdr_inline_decode(xdr, 4); in decode_attr_error()
3457 static int decode_attr_exclcreat_supported(struct xdr_stream *xdr, in decode_attr_exclcreat_supported() argument
3462 ret = decode_attr_bitmap(xdr, bitmask); in decode_attr_exclcreat_supported()
3473 static int decode_attr_filehandle(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs_fh *fh) in decode_attr_filehandle() argument
3484 p = xdr_inline_decode(xdr, 4); in decode_attr_filehandle()
3490 p = xdr_inline_decode(xdr, len); in decode_attr_filehandle()
3502 static int decode_attr_aclsupport(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_aclsupport() argument
3510 p = xdr_inline_decode(xdr, 4); in decode_attr_aclsupport()
3520 static int decode_attr_fileid(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *fileid) in decode_attr_fileid() argument
3529 p = xdr_inline_decode(xdr, 8); in decode_attr_fileid()
3540 static int decode_attr_mounted_on_fileid(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *fileid) in decode_attr_mounted_on_fileid() argument
3549 p = xdr_inline_decode(xdr, 8); in decode_attr_mounted_on_fileid()
3560 static int decode_attr_files_avail(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_avail() argument
3569 p = xdr_inline_decode(xdr, 8); in decode_attr_files_avail()
3579 static int decode_attr_files_free(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_free() argument
3588 p = xdr_inline_decode(xdr, 8); in decode_attr_files_free()
3598 static int decode_attr_files_total(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_total() argument
3607 p = xdr_inline_decode(xdr, 8); in decode_attr_files_total()
3617 static int decode_pathname(struct xdr_stream *xdr, struct nfs4_pathname *path) in decode_pathname() argument
3623 p = xdr_inline_decode(xdr, 4); in decode_pathname()
3636 status = decode_opaque_inline(xdr, &component->len, &component->data); in decode_pathname()
3659 static int decode_attr_fs_locations(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs4_fs_locati… in decode_attr_fs_locations() argument
3676 status = decode_pathname(xdr, &res->fs_path); in decode_attr_fs_locations()
3679 p = xdr_inline_decode(xdr, 4); in decode_attr_fs_locations()
3690 p = xdr_inline_decode(xdr, 4); in decode_attr_fs_locations()
3709 status = decode_opaque_inline(xdr, &len, &data); in decode_attr_fs_locations()
3716 status = decode_opaque_inline(xdr, &server->len, &server->data); in decode_attr_fs_locations()
3721 status = decode_pathname(xdr, &loc->rootpath); in decode_attr_fs_locations()
3735 static int decode_attr_maxfilesize(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_maxfilesize() argument
3744 p = xdr_inline_decode(xdr, 8); in decode_attr_maxfilesize()
3754 static int decode_attr_maxlink(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *maxlink) in decode_attr_maxlink() argument
3763 p = xdr_inline_decode(xdr, 4); in decode_attr_maxlink()
3773 static int decode_attr_maxname(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *maxname) in decode_attr_maxname() argument
3782 p = xdr_inline_decode(xdr, 4); in decode_attr_maxname()
3792 static int decode_attr_maxread(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_maxread() argument
3802 p = xdr_inline_decode(xdr, 8); in decode_attr_maxread()
3815 static int decode_attr_maxwrite(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_maxwrite() argument
3825 p = xdr_inline_decode(xdr, 8); in decode_attr_maxwrite()
3838 static int decode_attr_mode(struct xdr_stream *xdr, uint32_t *bitmap, umode_t *mode) in decode_attr_mode() argument
3848 p = xdr_inline_decode(xdr, 4); in decode_attr_mode()
3860 static int decode_attr_nlink(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *nlink) in decode_attr_nlink() argument
3869 p = xdr_inline_decode(xdr, 4); in decode_attr_nlink()
3880 static ssize_t decode_nfs4_string(struct xdr_stream *xdr, in decode_nfs4_string() argument
3885 ret = xdr_stream_decode_string_dup(xdr, &name->data, in decode_nfs4_string()
3893 static int decode_attr_owner(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_owner() argument
3908 len = decode_nfs4_string(xdr, owner_name, GFP_NOIO); in decode_attr_owner()
3914 len = xdr_stream_decode_opaque_inline(xdr, (void **)&p, in decode_attr_owner()
3927 static int decode_attr_group(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_group() argument
3942 len = decode_nfs4_string(xdr, group_name, GFP_NOIO); in decode_attr_group()
3948 len = xdr_stream_decode_opaque_inline(xdr, (void **)&p, in decode_attr_group()
3961 static int decode_attr_rdev(struct xdr_stream *xdr, uint32_t *bitmap, dev_t *rdev) in decode_attr_rdev() argument
3973 p = xdr_inline_decode(xdr, 8); in decode_attr_rdev()
3988 static int decode_attr_space_avail(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_avail() argument
3997 p = xdr_inline_decode(xdr, 8); in decode_attr_space_avail()
4007 static int decode_attr_space_free(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_free() argument
4016 p = xdr_inline_decode(xdr, 8); in decode_attr_space_free()
4026 static int decode_attr_space_total(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_total() argument
4035 p = xdr_inline_decode(xdr, 8); in decode_attr_space_total()
4045 static int decode_attr_space_used(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *used) in decode_attr_space_used() argument
4054 p = xdr_inline_decode(xdr, 8); in decode_attr_space_used()
4077 static int decode_attr_time(struct xdr_stream *xdr, struct timespec64 *time) in decode_attr_time() argument
4081 p = xdr_inline_decode(xdr, nfstime4_maxsz << 2); in decode_attr_time()
4088 static int decode_attr_time_access(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec64 *tim… in decode_attr_time_access() argument
4097 status = decode_attr_time(xdr, time); in decode_attr_time_access()
4106 static int decode_attr_time_metadata(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec64 *t… in decode_attr_time_metadata() argument
4115 status = decode_attr_time(xdr, time); in decode_attr_time_metadata()
4124 static int decode_attr_time_delta(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_time_delta() argument
4134 status = decode_attr_time(xdr, time); in decode_attr_time_delta()
4142 static int decode_attr_security_label(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_security_label() argument
4154 p = xdr_inline_decode(xdr, 4); in decode_attr_security_label()
4158 p = xdr_inline_decode(xdr, 4); in decode_attr_security_label()
4162 p = xdr_inline_decode(xdr, 4); in decode_attr_security_label()
4166 p = xdr_inline_decode(xdr, len); in decode_attr_security_label()
4193 static int decode_attr_time_modify(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec64 *tim… in decode_attr_time_modify() argument
4202 status = decode_attr_time(xdr, time); in decode_attr_time_modify()
4211 static int decode_attr_xattrsupport(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_xattrsupport() argument
4220 p = xdr_inline_decode(xdr, 4); in decode_attr_xattrsupport()
4231 static int verify_attr_len(struct xdr_stream *xdr, unsigned int savep, uint32_t attrlen) in verify_attr_len() argument
4234 unsigned int nwords = (xdr_stream_pos(xdr) - savep) >> 2; in verify_attr_len()
4248 static int decode_change_info(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_change_info() argument
4252 p = xdr_inline_decode(xdr, 20); in decode_change_info()
4261 static int decode_access(struct xdr_stream *xdr, u32 *supported, u32 *access) in decode_access() argument
4267 status = decode_op_hdr(xdr, OP_ACCESS); in decode_access()
4270 p = xdr_inline_decode(xdr, 8); in decode_access()
4280 static int decode_opaque_fixed(struct xdr_stream *xdr, void *buf, size_t len) in decode_opaque_fixed() argument
4282 ssize_t ret = xdr_stream_decode_opaque_fixed(xdr, buf, len); in decode_opaque_fixed()
4288 static int decode_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_stateid() argument
4290 return decode_opaque_fixed(xdr, stateid, NFS4_STATEID_SIZE); in decode_stateid()
4293 static int decode_open_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_open_stateid() argument
4296 return decode_stateid(xdr, stateid); in decode_open_stateid()
4299 static int decode_lock_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_lock_stateid() argument
4302 return decode_stateid(xdr, stateid); in decode_lock_stateid()
4305 static int decode_delegation_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_delegation_stateid() argument
4308 return decode_stateid(xdr, stateid); in decode_delegation_stateid()
4311 static int decode_invalid_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_invalid_stateid() argument
4316 return decode_stateid(xdr, &dummy); in decode_invalid_stateid()
4319 static int decode_close(struct xdr_stream *xdr, struct nfs_closeres *res) in decode_close() argument
4323 status = decode_op_hdr(xdr, OP_CLOSE); in decode_close()
4327 status = decode_invalid_stateid(xdr, &res->stateid); in decode_close()
4331 static int decode_verifier(struct xdr_stream *xdr, void *verifier) in decode_verifier() argument
4333 return decode_opaque_fixed(xdr, verifier, NFS4_VERIFIER_SIZE); in decode_verifier()
4336 static int decode_write_verifier(struct xdr_stream *xdr, struct nfs_write_verifier *verifier) in decode_write_verifier() argument
4338 return decode_opaque_fixed(xdr, verifier->data, NFS4_VERIFIER_SIZE); in decode_write_verifier()
4341 static int decode_commit(struct xdr_stream *xdr, struct nfs_commitres *res) in decode_commit() argument
4346 status = decode_op_hdr(xdr, OP_COMMIT); in decode_commit()
4348 status = decode_write_verifier(xdr, &verf->verifier); in decode_commit()
4354 static int decode_create(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_create() argument
4360 status = decode_op_hdr(xdr, OP_CREATE); in decode_create()
4363 if ((status = decode_change_info(xdr, cinfo))) in decode_create()
4365 p = xdr_inline_decode(xdr, 4); in decode_create()
4369 p = xdr_inline_decode(xdr, bmlen << 2); in decode_create()
4375 static int decode_server_caps(struct xdr_stream *xdr, struct nfs4_server_caps_res *res) in decode_server_caps() argument
4381 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_server_caps()
4383 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_server_caps()
4385 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_server_caps()
4387 if ((status = decode_attr_supported(xdr, bitmap, res->attr_bitmask)) != 0) in decode_server_caps()
4389 if ((status = decode_attr_fh_expire_type(xdr, bitmap, in decode_server_caps()
4392 if ((status = decode_attr_link_support(xdr, bitmap, &res->has_links)) != 0) in decode_server_caps()
4394 if ((status = decode_attr_symlink_support(xdr, bitmap, &res->has_symlinks)) != 0) in decode_server_caps()
4396 if ((status = decode_attr_aclsupport(xdr, bitmap, &res->acl_bitmask)) != 0) in decode_server_caps()
4398 if ((status = decode_attr_exclcreat_supported(xdr, bitmap, in decode_server_caps()
4401 status = verify_attr_len(xdr, savep, attrlen); in decode_server_caps()
4407 static int decode_statfs(struct xdr_stream *xdr, struct nfs_fsstat *fsstat) in decode_statfs() argument
4413 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_statfs()
4415 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_statfs()
4417 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_statfs()
4420 if ((status = decode_attr_files_avail(xdr, bitmap, &fsstat->afiles)) != 0) in decode_statfs()
4422 if ((status = decode_attr_files_free(xdr, bitmap, &fsstat->ffiles)) != 0) in decode_statfs()
4424 if ((status = decode_attr_files_total(xdr, bitmap, &fsstat->tfiles)) != 0) in decode_statfs()
4431 if ((status = decode_attr_space_avail(xdr, bitmap, &fsstat->abytes)) != 0) in decode_statfs()
4433 if ((status = decode_attr_space_free(xdr, bitmap, &fsstat->fbytes)) != 0) in decode_statfs()
4435 if ((status = decode_attr_space_total(xdr, bitmap, &fsstat->tbytes)) != 0) in decode_statfs()
4438 status = verify_attr_len(xdr, savep, attrlen); in decode_statfs()
4444 static int decode_pathconf(struct xdr_stream *xdr, struct nfs_pathconf *pathconf) in decode_pathconf() argument
4450 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_pathconf()
4452 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_pathconf()
4454 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_pathconf()
4457 if ((status = decode_attr_maxlink(xdr, bitmap, &pathconf->max_link)) != 0) in decode_pathconf()
4459 if ((status = decode_attr_maxname(xdr, bitmap, &pathconf->max_namelen)) != 0) in decode_pathconf()
4462 status = verify_attr_len(xdr, savep, attrlen); in decode_pathconf()
4468 static int decode_threshold_hint(struct xdr_stream *xdr, in decode_threshold_hint() argument
4477 p = xdr_inline_decode(xdr, 8); in decode_threshold_hint()
4485 static int decode_first_threshold_item4(struct xdr_stream *xdr, in decode_first_threshold_item4() argument
4494 p = xdr_inline_decode(xdr, 4); in decode_first_threshold_item4()
4500 status = decode_attr_bitmap(xdr, bitmap); in decode_first_threshold_item4()
4505 status = decode_attr_length(xdr, &attrlen, &savep); in decode_first_threshold_item4()
4509 status = decode_threshold_hint(xdr, bitmap, &res->rd_sz, THRESHOLD_RD); in decode_first_threshold_item4()
4512 status = decode_threshold_hint(xdr, bitmap, &res->wr_sz, THRESHOLD_WR); in decode_first_threshold_item4()
4515 status = decode_threshold_hint(xdr, bitmap, &res->rd_io_sz, in decode_first_threshold_item4()
4519 status = decode_threshold_hint(xdr, bitmap, &res->wr_io_sz, in decode_first_threshold_item4()
4524 status = verify_attr_len(xdr, savep, attrlen); in decode_first_threshold_item4()
4538 static int decode_attr_mdsthreshold(struct xdr_stream *xdr, in decode_attr_mdsthreshold() argument
4552 p = xdr_inline_decode(xdr, 4); in decode_attr_mdsthreshold()
4563 status = decode_first_threshold_item4(xdr, res); in decode_attr_mdsthreshold()
4569 static int decode_getfattr_attrs(struct xdr_stream *xdr, uint32_t *bitmap, in decode_getfattr_attrs() argument
4579 status = decode_attr_type(xdr, bitmap, &type); in decode_getfattr_attrs()
4588 status = decode_attr_change(xdr, bitmap, &fattr->change_attr); in decode_getfattr_attrs()
4593 status = decode_attr_size(xdr, bitmap, &fattr->size); in decode_getfattr_attrs()
4598 status = decode_attr_fsid(xdr, bitmap, &fattr->fsid); in decode_getfattr_attrs()
4604 status = decode_attr_error(xdr, bitmap, &err); in decode_getfattr_attrs()
4608 status = decode_attr_filehandle(xdr, bitmap, fh); in decode_getfattr_attrs()
4612 status = decode_attr_fileid(xdr, bitmap, &fattr->fileid); in decode_getfattr_attrs()
4617 status = decode_attr_fs_locations(xdr, bitmap, fs_loc); in decode_getfattr_attrs()
4626 status = decode_attr_mode(xdr, bitmap, &fmode); in decode_getfattr_attrs()
4634 status = decode_attr_nlink(xdr, bitmap, &fattr->nlink); in decode_getfattr_attrs()
4639 status = decode_attr_owner(xdr, bitmap, server, &fattr->uid, fattr->owner_name); in decode_getfattr_attrs()
4644 status = decode_attr_group(xdr, bitmap, server, &fattr->gid, fattr->group_name); in decode_getfattr_attrs()
4649 status = decode_attr_rdev(xdr, bitmap, &fattr->rdev); in decode_getfattr_attrs()
4654 status = decode_attr_space_used(xdr, bitmap, &fattr->du.nfs3.used); in decode_getfattr_attrs()
4659 status = decode_attr_time_access(xdr, bitmap, &fattr->atime); in decode_getfattr_attrs()
4664 status = decode_attr_time_metadata(xdr, bitmap, &fattr->ctime); in decode_getfattr_attrs()
4669 status = decode_attr_time_modify(xdr, bitmap, &fattr->mtime); in decode_getfattr_attrs()
4674 status = decode_attr_mounted_on_fileid(xdr, bitmap, &fattr->mounted_on_fileid); in decode_getfattr_attrs()
4683 status = decode_attr_mdsthreshold(xdr, bitmap, fattr->mdsthreshold); in decode_getfattr_attrs()
4688 status = decode_attr_security_label(xdr, bitmap, label); in decode_getfattr_attrs()
4699 static int decode_getfattr_generic(struct xdr_stream *xdr, struct nfs_fattr *fattr, in decode_getfattr_generic() argument
4708 status = decode_op_hdr(xdr, OP_GETATTR); in decode_getfattr_generic()
4712 status = decode_attr_bitmap(xdr, bitmap); in decode_getfattr_generic()
4716 status = decode_attr_length(xdr, &attrlen, &savep); in decode_getfattr_generic()
4720 status = decode_getfattr_attrs(xdr, bitmap, fattr, fh, fs_loc, in decode_getfattr_generic()
4725 status = verify_attr_len(xdr, savep, attrlen); in decode_getfattr_generic()
4731 static int decode_getfattr_label(struct xdr_stream *xdr, struct nfs_fattr *fattr, in decode_getfattr_label() argument
4734 return decode_getfattr_generic(xdr, fattr, NULL, NULL, label, server); in decode_getfattr_label()
4737 static int decode_getfattr(struct xdr_stream *xdr, struct nfs_fattr *fattr, in decode_getfattr() argument
4740 return decode_getfattr_generic(xdr, fattr, NULL, NULL, NULL, server); in decode_getfattr()
4746 static int decode_pnfs_layout_types(struct xdr_stream *xdr, in decode_pnfs_layout_types() argument
4752 p = xdr_inline_decode(xdr, 4); in decode_pnfs_layout_types()
4762 p = xdr_inline_decode(xdr, fsinfo->nlayouttypes * 4); in decode_pnfs_layout_types()
4782 static int decode_attr_pnfstype(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_pnfstype() argument
4791 status = decode_pnfs_layout_types(xdr, fsinfo); in decode_attr_pnfstype()
4800 static int decode_attr_layout_blksize(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_layout_blksize() argument
4808 p = xdr_inline_decode(xdr, 4); in decode_attr_layout_blksize()
4820 static int decode_attr_clone_blksize(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_clone_blksize() argument
4828 p = xdr_inline_decode(xdr, 4); in decode_attr_clone_blksize()
4837 static int decode_fsinfo(struct xdr_stream *xdr, struct nfs_fsinfo *fsinfo) in decode_fsinfo() argument
4843 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_fsinfo()
4845 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_fsinfo()
4847 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_fsinfo()
4852 if ((status = decode_attr_lease_time(xdr, bitmap, &fsinfo->lease_time)) != 0) in decode_fsinfo()
4854 if ((status = decode_attr_maxfilesize(xdr, bitmap, &fsinfo->maxfilesize)) != 0) in decode_fsinfo()
4856 if ((status = decode_attr_maxread(xdr, bitmap, &fsinfo->rtmax)) != 0) in decode_fsinfo()
4859 if ((status = decode_attr_maxwrite(xdr, bitmap, &fsinfo->wtmax)) != 0) in decode_fsinfo()
4867 status = decode_attr_time_delta(xdr, bitmap, &fsinfo->time_delta); in decode_fsinfo()
4870 status = decode_attr_pnfstype(xdr, bitmap, fsinfo); in decode_fsinfo()
4878 status = decode_attr_layout_blksize(xdr, bitmap, &fsinfo->blksize); in decode_fsinfo()
4881 status = decode_attr_clone_blksize(xdr, bitmap, &fsinfo->clone_blksize); in decode_fsinfo()
4885 status = decode_attr_xattrsupport(xdr, bitmap, in decode_fsinfo()
4890 status = verify_attr_len(xdr, savep, attrlen); in decode_fsinfo()
4896 static int decode_getfh(struct xdr_stream *xdr, struct nfs_fh *fh) in decode_getfh() argument
4905 status = decode_op_hdr(xdr, OP_GETFH); in decode_getfh()
4909 p = xdr_inline_decode(xdr, 4); in decode_getfh()
4916 p = xdr_inline_decode(xdr, len); in decode_getfh()
4923 static int decode_link(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_link() argument
4927 status = decode_op_hdr(xdr, OP_LINK); in decode_link()
4930 return decode_change_info(xdr, cinfo); in decode_link()
4936 static int decode_lock_denied (struct xdr_stream *xdr, struct file_lock *fl) in decode_lock_denied() argument
4942 p = xdr_inline_decode(xdr, 32); /* read 32 bytes */ in decode_lock_denied()
4960 p = xdr_inline_decode(xdr, namelen); /* variable size field */ in decode_lock_denied()
4966 static int decode_lock(struct xdr_stream *xdr, struct nfs_lock_res *res) in decode_lock() argument
4970 status = decode_op_hdr(xdr, OP_LOCK); in decode_lock()
4974 status = decode_lock_stateid(xdr, &res->stateid); in decode_lock()
4978 status = decode_lock_denied(xdr, NULL); in decode_lock()
4986 static int decode_lockt(struct xdr_stream *xdr, struct nfs_lockt_res *res) in decode_lockt() argument
4989 status = decode_op_hdr(xdr, OP_LOCKT); in decode_lockt()
4991 return decode_lock_denied(xdr, res->denied); in decode_lockt()
4995 static int decode_locku(struct xdr_stream *xdr, struct nfs_locku_res *res) in decode_locku() argument
4999 status = decode_op_hdr(xdr, OP_LOCKU); in decode_locku()
5003 status = decode_lock_stateid(xdr, &res->stateid); in decode_locku()
5007 static int decode_release_lockowner(struct xdr_stream *xdr) in decode_release_lockowner() argument
5009 return decode_op_hdr(xdr, OP_RELEASE_LOCKOWNER); in decode_release_lockowner()
5012 static int decode_lookup(struct xdr_stream *xdr) in decode_lookup() argument
5014 return decode_op_hdr(xdr, OP_LOOKUP); in decode_lookup()
5017 static int decode_lookupp(struct xdr_stream *xdr) in decode_lookupp() argument
5019 return decode_op_hdr(xdr, OP_LOOKUPP); in decode_lookupp()
5023 static int decode_space_limit(struct xdr_stream *xdr, in decode_space_limit() argument
5030 p = xdr_inline_decode(xdr, 12); in decode_space_limit()
5048 static int decode_rw_delegation(struct xdr_stream *xdr, in decode_rw_delegation() argument
5055 status = decode_delegation_stateid(xdr, &res->delegation); in decode_rw_delegation()
5058 p = xdr_inline_decode(xdr, 4); in decode_rw_delegation()
5069 if (decode_space_limit(xdr, &res->pagemod_limit) < 0) in decode_rw_delegation()
5072 return decode_ace(xdr, NULL); in decode_rw_delegation()
5075 static int decode_no_delegation(struct xdr_stream *xdr, struct nfs_openres *res) in decode_no_delegation() argument
5080 p = xdr_inline_decode(xdr, 4); in decode_no_delegation()
5087 xdr_inline_decode(xdr, 4); in decode_no_delegation()
5093 static int decode_delegation(struct xdr_stream *xdr, struct nfs_openres *res) in decode_delegation() argument
5098 p = xdr_inline_decode(xdr, 4); in decode_delegation()
5108 return decode_rw_delegation(xdr, delegation_type, res); in decode_delegation()
5110 return decode_no_delegation(xdr, res); in decode_delegation()
5115 static int decode_open(struct xdr_stream *xdr, struct nfs_openres *res) in decode_open() argument
5121 if (!__decode_op_hdr(xdr, OP_OPEN, &status)) in decode_open()
5126 status = decode_open_stateid(xdr, &res->stateid); in decode_open()
5130 decode_change_info(xdr, &res->cinfo); in decode_open()
5132 p = xdr_inline_decode(xdr, 8); in decode_open()
5140 p = xdr_inline_decode(xdr, bmlen << 2); in decode_open()
5149 return decode_delegation(xdr, res); in decode_open()
5155 static int decode_open_confirm(struct xdr_stream *xdr, struct nfs_open_confirmres *res) in decode_open_confirm() argument
5159 status = decode_op_hdr(xdr, OP_OPEN_CONFIRM); in decode_open_confirm()
5163 status = decode_open_stateid(xdr, &res->stateid); in decode_open_confirm()
5167 static int decode_open_downgrade(struct xdr_stream *xdr, struct nfs_closeres *res) in decode_open_downgrade() argument
5171 status = decode_op_hdr(xdr, OP_OPEN_DOWNGRADE); in decode_open_downgrade()
5175 status = decode_open_stateid(xdr, &res->stateid); in decode_open_downgrade()
5179 static int decode_putfh(struct xdr_stream *xdr) in decode_putfh() argument
5181 return decode_op_hdr(xdr, OP_PUTFH); in decode_putfh()
5184 static int decode_putrootfh(struct xdr_stream *xdr) in decode_putrootfh() argument
5186 return decode_op_hdr(xdr, OP_PUTROOTFH); in decode_putrootfh()
5189 static int decode_read(struct xdr_stream *xdr, struct rpc_rqst *req, in decode_read() argument
5196 status = decode_op_hdr(xdr, OP_READ); in decode_read()
5199 p = xdr_inline_decode(xdr, 8); in decode_read()
5204 recvd = xdr_read_pages(xdr, count); in decode_read()
5216 static int decode_readdir(struct xdr_stream *xdr, struct rpc_rqst *req, struct nfs4_readdir_res *re… in decode_readdir() argument
5221 status = decode_op_hdr(xdr, OP_READDIR); in decode_readdir()
5223 status = decode_verifier(xdr, readdir->verifier.data); in decode_readdir()
5229 return xdr_read_pages(xdr, xdr->buf->page_len); in decode_readdir()
5232 static int decode_readlink(struct xdr_stream *xdr, struct rpc_rqst *req) in decode_readlink() argument
5239 status = decode_op_hdr(xdr, OP_READLINK); in decode_readlink()
5244 p = xdr_inline_decode(xdr, 4); in decode_readlink()
5252 recvd = xdr_read_pages(xdr, len); in decode_readlink()
5269 static int decode_remove(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_remove() argument
5273 status = decode_op_hdr(xdr, OP_REMOVE); in decode_remove()
5276 status = decode_change_info(xdr, cinfo); in decode_remove()
5281 static int decode_rename(struct xdr_stream *xdr, struct nfs4_change_info *old_cinfo, in decode_rename() argument
5286 status = decode_op_hdr(xdr, OP_RENAME); in decode_rename()
5289 if ((status = decode_change_info(xdr, old_cinfo))) in decode_rename()
5291 status = decode_change_info(xdr, new_cinfo); in decode_rename()
5296 static int decode_renew(struct xdr_stream *xdr) in decode_renew() argument
5298 return decode_op_hdr(xdr, OP_RENEW); in decode_renew()
5302 decode_restorefh(struct xdr_stream *xdr) in decode_restorefh() argument
5304 return decode_op_hdr(xdr, OP_RESTOREFH); in decode_restorefh()
5307 static int decode_getacl(struct xdr_stream *xdr, struct rpc_rqst *req, in decode_getacl() argument
5316 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_getacl()
5319 xdr_enter_page(xdr, xdr->buf->page_len); in decode_getacl()
5321 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_getacl()
5323 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_getacl()
5333 res->acl_data_offset = xdr_page_pos(xdr); in decode_getacl()
5337 if (res->acl_len > (xdr->nwords << 2) || in decode_getacl()
5338 res->acl_len + res->acl_data_offset > xdr->buf->page_len) { in decode_getacl()
5341 attrlen, xdr->nwords << 2); in decode_getacl()
5351 decode_savefh(struct xdr_stream *xdr) in decode_savefh() argument
5353 return decode_op_hdr(xdr, OP_SAVEFH); in decode_savefh()
5356 static int decode_setattr(struct xdr_stream *xdr) in decode_setattr() argument
5360 status = decode_op_hdr(xdr, OP_SETATTR); in decode_setattr()
5363 if (decode_bitmap4(xdr, NULL, 0) >= 0) in decode_setattr()
5368 static int decode_setclientid(struct xdr_stream *xdr, struct nfs4_setclientid_res *res) in decode_setclientid() argument
5374 p = xdr_inline_decode(xdr, 8); in decode_setclientid()
5385 p = xdr_inline_decode(xdr, 8 + NFS4_VERIFIER_SIZE); in decode_setclientid()
5394 p = xdr_inline_decode(xdr, 4); in decode_setclientid()
5398 p = xdr_inline_decode(xdr, len); in decode_setclientid()
5403 p = xdr_inline_decode(xdr, 4); in decode_setclientid()
5407 p = xdr_inline_decode(xdr, len); in decode_setclientid()
5417 static int decode_setclientid_confirm(struct xdr_stream *xdr) in decode_setclientid_confirm() argument
5419 return decode_op_hdr(xdr, OP_SETCLIENTID_CONFIRM); in decode_setclientid_confirm()
5422 static int decode_write(struct xdr_stream *xdr, struct nfs_pgio_res *res) in decode_write() argument
5427 status = decode_op_hdr(xdr, OP_WRITE); in decode_write()
5431 p = xdr_inline_decode(xdr, 8); in decode_write()
5436 return decode_write_verifier(xdr, &res->verf->verifier); in decode_write()
5439 static int decode_delegreturn(struct xdr_stream *xdr) in decode_delegreturn() argument
5441 return decode_op_hdr(xdr, OP_DELEGRETURN); in decode_delegreturn()
5444 static int decode_secinfo_gss(struct xdr_stream *xdr, in decode_secinfo_gss() argument
5450 p = xdr_inline_decode(xdr, 4); in decode_secinfo_gss()
5457 p = xdr_inline_decode(xdr, oid_len); in decode_secinfo_gss()
5463 p = xdr_inline_decode(xdr, 8); in decode_secinfo_gss()
5472 static int decode_secinfo_common(struct xdr_stream *xdr, struct nfs4_secinfo_res *res) in decode_secinfo_common() argument
5479 p = xdr_inline_decode(xdr, 4); in decode_secinfo_common()
5491 p = xdr_inline_decode(xdr, 4); in decode_secinfo_common()
5497 status = decode_secinfo_gss(xdr, sec_flavor); in decode_secinfo_common()
5509 static int decode_secinfo(struct xdr_stream *xdr, struct nfs4_secinfo_res *res) in decode_secinfo() argument
5511 int status = decode_op_hdr(xdr, OP_SECINFO); in decode_secinfo()
5514 return decode_secinfo_common(xdr, res); in decode_secinfo()
5518 static int decode_secinfo_no_name(struct xdr_stream *xdr, struct nfs4_secinfo_res *res) in decode_secinfo_no_name() argument
5520 int status = decode_op_hdr(xdr, OP_SECINFO_NO_NAME); in decode_secinfo_no_name()
5523 return decode_secinfo_common(xdr, res); in decode_secinfo_no_name()
5526 static int decode_op_map(struct xdr_stream *xdr, struct nfs4_op_map *op_map) in decode_op_map() argument
5532 p = xdr_inline_decode(xdr, 4); in decode_op_map()
5538 p = xdr_inline_decode(xdr, 4 * bitmap_words); in decode_op_map()
5545 static int decode_exchange_id(struct xdr_stream *xdr, in decode_exchange_id() argument
5554 status = decode_op_hdr(xdr, OP_EXCHANGE_ID); in decode_exchange_id()
5558 p = xdr_inline_decode(xdr, 8); in decode_exchange_id()
5562 p = xdr_inline_decode(xdr, 12); in decode_exchange_id()
5573 status = decode_op_map(xdr, &res->state_protect.enforce); in decode_exchange_id()
5576 status = decode_op_map(xdr, &res->state_protect.allow); in decode_exchange_id()
5586 p = xdr_inline_decode(xdr, 8); in decode_exchange_id()
5592 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5599 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5606 p = xdr_inline_decode(xdr, 4); in decode_exchange_id()
5613 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5619 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5625 p = xdr_inline_decode(xdr, 12); in decode_exchange_id()
5636 static int decode_chan_attrs(struct xdr_stream *xdr, in decode_chan_attrs() argument
5642 p = xdr_inline_decode(xdr, 28); in decode_chan_attrs()
5660 p = xdr_inline_decode(xdr, 4); /* skip rdma_attrs */ in decode_chan_attrs()
5667 static int decode_sessionid(struct xdr_stream *xdr, struct nfs4_sessionid *sid) in decode_sessionid() argument
5669 return decode_opaque_fixed(xdr, sid->data, NFS4_MAX_SESSIONID_LEN); in decode_sessionid()
5672 static int decode_bind_conn_to_session(struct xdr_stream *xdr, in decode_bind_conn_to_session() argument
5678 status = decode_op_hdr(xdr, OP_BIND_CONN_TO_SESSION); in decode_bind_conn_to_session()
5680 status = decode_sessionid(xdr, &res->sessionid); in decode_bind_conn_to_session()
5685 p = xdr_inline_decode(xdr, 8); in decode_bind_conn_to_session()
5700 static int decode_create_session(struct xdr_stream *xdr, in decode_create_session() argument
5706 status = decode_op_hdr(xdr, OP_CREATE_SESSION); in decode_create_session()
5708 status = decode_sessionid(xdr, &res->sessionid); in decode_create_session()
5713 p = xdr_inline_decode(xdr, 8); in decode_create_session()
5720 status = decode_chan_attrs(xdr, &res->fc_attrs); in decode_create_session()
5722 status = decode_chan_attrs(xdr, &res->bc_attrs); in decode_create_session()
5726 static int decode_destroy_session(struct xdr_stream *xdr, void *dummy) in decode_destroy_session() argument
5728 return decode_op_hdr(xdr, OP_DESTROY_SESSION); in decode_destroy_session()
5731 static int decode_destroy_clientid(struct xdr_stream *xdr, void *dummy) in decode_destroy_clientid() argument
5733 return decode_op_hdr(xdr, OP_DESTROY_CLIENTID); in decode_destroy_clientid()
5736 static int decode_reclaim_complete(struct xdr_stream *xdr, void *dummy) in decode_reclaim_complete() argument
5738 return decode_op_hdr(xdr, OP_RECLAIM_COMPLETE); in decode_reclaim_complete()
5742 static int decode_sequence(struct xdr_stream *xdr, in decode_sequence() argument
5758 status = decode_op_hdr(xdr, OP_SEQUENCE); in decode_sequence()
5760 status = decode_sessionid(xdr, &id); in decode_sequence()
5777 p = xdr_inline_decode(xdr, 20); in decode_sequence()
5812 static int decode_layout_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_layout_stateid() argument
5815 return decode_stateid(xdr, stateid); in decode_layout_stateid()
5818 static int decode_getdeviceinfo(struct xdr_stream *xdr, in decode_getdeviceinfo() argument
5826 status = decode_op_hdr(xdr, OP_GETDEVICEINFO); in decode_getdeviceinfo()
5829 p = xdr_inline_decode(xdr, 4); in decode_getdeviceinfo()
5839 p = xdr_inline_decode(xdr, 8); in decode_getdeviceinfo()
5854 if (xdr_read_pages(xdr, pdev->mincount) != pdev->mincount) in decode_getdeviceinfo()
5858 p = xdr_inline_decode(xdr, 4); in decode_getdeviceinfo()
5865 p = xdr_inline_decode(xdr, 4 * len); in decode_getdeviceinfo()
5881 static int decode_layoutget(struct xdr_stream *xdr, struct rpc_rqst *req, in decode_layoutget() argument
5889 status = decode_op_hdr(xdr, OP_LAYOUTGET); in decode_layoutget()
5892 p = xdr_inline_decode(xdr, 4); in decode_layoutget()
5896 decode_layout_stateid(xdr, &res->stateid); in decode_layoutget()
5897 p = xdr_inline_decode(xdr, 4); in decode_layoutget()
5908 p = xdr_inline_decode(xdr, 28); in decode_layoutget()
5925 recvd = xdr_read_pages(xdr, res->layoutp->len); in decode_layoutget()
5952 static int decode_layoutreturn(struct xdr_stream *xdr, in decode_layoutreturn() argument
5958 status = decode_op_hdr(xdr, OP_LAYOUTRETURN); in decode_layoutreturn()
5961 p = xdr_inline_decode(xdr, 4); in decode_layoutreturn()
5966 status = decode_layout_stateid(xdr, &res->stateid); in decode_layoutreturn()
5972 static int decode_layoutcommit(struct xdr_stream *xdr, in decode_layoutcommit() argument
5980 status = decode_op_hdr(xdr, OP_LAYOUTCOMMIT); in decode_layoutcommit()
5985 p = xdr_inline_decode(xdr, 4); in decode_layoutcommit()
5992 p = xdr_inline_decode(xdr, 8); in decode_layoutcommit()
5999 static int decode_test_stateid(struct xdr_stream *xdr, in decode_test_stateid() argument
6006 status = decode_op_hdr(xdr, OP_TEST_STATEID); in decode_test_stateid()
6010 p = xdr_inline_decode(xdr, 4); in decode_test_stateid()
6017 p = xdr_inline_decode(xdr, 4); in decode_test_stateid()
6025 static int decode_free_stateid(struct xdr_stream *xdr, in decode_free_stateid() argument
6028 res->status = decode_op_hdr(xdr, OP_FREE_STATEID); in decode_free_stateid()
6033 int decode_layoutreturn(struct xdr_stream *xdr, in decode_layoutreturn() argument
6039 static int decode_layoutget(struct xdr_stream *xdr, struct rpc_rqst *req, in decode_layoutget() argument
6055 struct xdr_stream *xdr, in nfs4_xdr_dec_open_downgrade() argument
6062 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open_downgrade()
6065 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_open_downgrade()
6068 status = decode_putfh(xdr); in nfs4_xdr_dec_open_downgrade()
6072 status = decode_layoutreturn(xdr, res->lr_res); in nfs4_xdr_dec_open_downgrade()
6077 status = decode_open_downgrade(xdr, res); in nfs4_xdr_dec_open_downgrade()
6085 static int nfs4_xdr_dec_access(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_access() argument
6092 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_access()
6095 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_access()
6098 status = decode_putfh(xdr); in nfs4_xdr_dec_access()
6101 status = decode_access(xdr, &res->supported, &res->access); in nfs4_xdr_dec_access()
6105 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_access()
6113 static int nfs4_xdr_dec_lookup(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_lookup() argument
6120 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lookup()
6123 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lookup()
6126 status = decode_putfh(xdr); in nfs4_xdr_dec_lookup()
6129 status = decode_lookup(xdr); in nfs4_xdr_dec_lookup()
6132 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_lookup()
6135 status = decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_lookup()
6143 static int nfs4_xdr_dec_lookupp(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_lookupp() argument
6150 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lookupp()
6153 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lookupp()
6156 status = decode_putfh(xdr); in nfs4_xdr_dec_lookupp()
6159 status = decode_lookupp(xdr); in nfs4_xdr_dec_lookupp()
6162 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_lookupp()
6165 status = decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_lookupp()
6174 struct xdr_stream *xdr, in nfs4_xdr_dec_lookup_root() argument
6181 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lookup_root()
6184 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lookup_root()
6187 status = decode_putrootfh(xdr); in nfs4_xdr_dec_lookup_root()
6190 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_lookup_root()
6192 status = decode_getfattr_label(xdr, res->fattr, in nfs4_xdr_dec_lookup_root()
6201 static int nfs4_xdr_dec_remove(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_remove() argument
6208 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_remove()
6211 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_remove()
6214 status = decode_putfh(xdr); in nfs4_xdr_dec_remove()
6217 status = decode_remove(xdr, &res->cinfo); in nfs4_xdr_dec_remove()
6225 static int nfs4_xdr_dec_rename(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_rename() argument
6232 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_rename()
6235 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_rename()
6238 status = decode_putfh(xdr); in nfs4_xdr_dec_rename()
6241 status = decode_savefh(xdr); in nfs4_xdr_dec_rename()
6244 status = decode_putfh(xdr); in nfs4_xdr_dec_rename()
6247 status = decode_rename(xdr, &res->old_cinfo, &res->new_cinfo); in nfs4_xdr_dec_rename()
6255 static int nfs4_xdr_dec_link(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_link() argument
6262 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_link()
6265 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_link()
6268 status = decode_putfh(xdr); in nfs4_xdr_dec_link()
6271 status = decode_savefh(xdr); in nfs4_xdr_dec_link()
6274 status = decode_putfh(xdr); in nfs4_xdr_dec_link()
6277 status = decode_link(xdr, &res->cinfo); in nfs4_xdr_dec_link()
6284 status = decode_restorefh(xdr); in nfs4_xdr_dec_link()
6287 decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_link()
6295 static int nfs4_xdr_dec_create(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_create() argument
6302 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_create()
6305 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_create()
6308 status = decode_putfh(xdr); in nfs4_xdr_dec_create()
6311 status = decode_create(xdr, &res->dir_cinfo); in nfs4_xdr_dec_create()
6314 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_create()
6317 decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_create()
6325 static int nfs4_xdr_dec_symlink(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_symlink() argument
6328 return nfs4_xdr_dec_create(rqstp, xdr, res); in nfs4_xdr_dec_symlink()
6334 static int nfs4_xdr_dec_getattr(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_getattr() argument
6341 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_getattr()
6344 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_getattr()
6347 status = decode_putfh(xdr); in nfs4_xdr_dec_getattr()
6350 status = decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_getattr()
6358 static void nfs4_xdr_enc_setacl(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_setacl() argument
6366 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setacl()
6367 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_setacl()
6368 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_setacl()
6369 encode_setacl(xdr, args, &hdr); in nfs4_xdr_enc_setacl()
6377 nfs4_xdr_dec_setacl(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_setacl() argument
6384 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setacl()
6387 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_setacl()
6390 status = decode_putfh(xdr); in nfs4_xdr_dec_setacl()
6393 status = decode_setattr(xdr); in nfs4_xdr_dec_setacl()
6402 nfs4_xdr_dec_getacl(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_getacl() argument
6411 xdr_set_scratch_buffer(xdr, p, PAGE_SIZE); in nfs4_xdr_dec_getacl()
6413 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_getacl()
6416 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_getacl()
6419 status = decode_putfh(xdr); in nfs4_xdr_dec_getacl()
6422 status = decode_getacl(xdr, rqstp, res); in nfs4_xdr_dec_getacl()
6431 static int nfs4_xdr_dec_close(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_close() argument
6438 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_close()
6441 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_close()
6444 status = decode_putfh(xdr); in nfs4_xdr_dec_close()
6448 status = decode_layoutreturn(xdr, res->lr_res); in nfs4_xdr_dec_close()
6454 status = decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_close()
6458 status = decode_close(xdr, res); in nfs4_xdr_dec_close()
6466 static int nfs4_xdr_dec_open(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_open() argument
6473 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open()
6476 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_open()
6479 status = decode_putfh(xdr); in nfs4_xdr_dec_open()
6482 status = decode_open(xdr, res); in nfs4_xdr_dec_open()
6485 status = decode_getfh(xdr, &res->fh); in nfs4_xdr_dec_open()
6489 decode_access(xdr, &res->access_supported, &res->access_result); in nfs4_xdr_dec_open()
6490 decode_getfattr_label(xdr, res->f_attr, res->f_label, res->server); in nfs4_xdr_dec_open()
6492 decode_layoutget(xdr, rqstp, res->lg_res); in nfs4_xdr_dec_open()
6501 struct xdr_stream *xdr, in nfs4_xdr_dec_open_confirm() argument
6508 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open_confirm()
6511 status = decode_putfh(xdr); in nfs4_xdr_dec_open_confirm()
6514 status = decode_open_confirm(xdr, res); in nfs4_xdr_dec_open_confirm()
6523 struct xdr_stream *xdr, in nfs4_xdr_dec_open_noattr() argument
6530 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open_noattr()
6533 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_open_noattr()
6536 status = decode_putfh(xdr); in nfs4_xdr_dec_open_noattr()
6539 status = decode_open(xdr, res); in nfs4_xdr_dec_open_noattr()
6543 decode_access(xdr, &res->access_supported, &res->access_result); in nfs4_xdr_dec_open_noattr()
6544 decode_getfattr(xdr, res->f_attr, res->server); in nfs4_xdr_dec_open_noattr()
6546 decode_layoutget(xdr, rqstp, res->lg_res); in nfs4_xdr_dec_open_noattr()
6555 struct xdr_stream *xdr, in nfs4_xdr_dec_setattr() argument
6562 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setattr()
6565 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_setattr()
6568 status = decode_putfh(xdr); in nfs4_xdr_dec_setattr()
6571 status = decode_setattr(xdr); in nfs4_xdr_dec_setattr()
6574 decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_setattr()
6582 static int nfs4_xdr_dec_lock(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_lock() argument
6589 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lock()
6592 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lock()
6595 status = decode_putfh(xdr); in nfs4_xdr_dec_lock()
6598 status = decode_lock(xdr, res); in nfs4_xdr_dec_lock()
6606 static int nfs4_xdr_dec_lockt(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_lockt() argument
6613 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lockt()
6616 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lockt()
6619 status = decode_putfh(xdr); in nfs4_xdr_dec_lockt()
6622 status = decode_lockt(xdr, res); in nfs4_xdr_dec_lockt()
6630 static int nfs4_xdr_dec_locku(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_locku() argument
6637 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_locku()
6640 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_locku()
6643 status = decode_putfh(xdr); in nfs4_xdr_dec_locku()
6646 status = decode_locku(xdr, res); in nfs4_xdr_dec_locku()
6652 struct xdr_stream *xdr, void *dummy) in nfs4_xdr_dec_release_lockowner() argument
6657 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_release_lockowner()
6659 status = decode_release_lockowner(xdr); in nfs4_xdr_dec_release_lockowner()
6667 struct xdr_stream *xdr, in nfs4_xdr_dec_readlink() argument
6674 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_readlink()
6677 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_readlink()
6680 status = decode_putfh(xdr); in nfs4_xdr_dec_readlink()
6683 status = decode_readlink(xdr, rqstp); in nfs4_xdr_dec_readlink()
6691 static int nfs4_xdr_dec_readdir(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_readdir() argument
6698 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_readdir()
6701 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_readdir()
6704 status = decode_putfh(xdr); in nfs4_xdr_dec_readdir()
6707 status = decode_readdir(xdr, rqstp, res); in nfs4_xdr_dec_readdir()
6715 static int nfs4_xdr_dec_read(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_read() argument
6722 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_read()
6726 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_read()
6729 status = decode_putfh(xdr); in nfs4_xdr_dec_read()
6732 status = decode_read(xdr, rqstp, res); in nfs4_xdr_dec_read()
6742 static int nfs4_xdr_dec_write(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_write() argument
6749 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_write()
6753 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_write()
6756 status = decode_putfh(xdr); in nfs4_xdr_dec_write()
6759 status = decode_write(xdr, res); in nfs4_xdr_dec_write()
6763 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_write()
6773 static int nfs4_xdr_dec_commit(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_commit() argument
6780 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_commit()
6784 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_commit()
6787 status = decode_putfh(xdr); in nfs4_xdr_dec_commit()
6790 status = decode_commit(xdr, res); in nfs4_xdr_dec_commit()
6798 static int nfs4_xdr_dec_fsinfo(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_dec_fsinfo() argument
6805 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_fsinfo()
6807 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_fsinfo()
6809 status = decode_putfh(xdr); in nfs4_xdr_dec_fsinfo()
6811 status = decode_fsinfo(xdr, res->fsinfo); in nfs4_xdr_dec_fsinfo()
6818 static int nfs4_xdr_dec_pathconf(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_dec_pathconf() argument
6825 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_pathconf()
6827 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_pathconf()
6829 status = decode_putfh(xdr); in nfs4_xdr_dec_pathconf()
6831 status = decode_pathconf(xdr, res->pathconf); in nfs4_xdr_dec_pathconf()
6838 static int nfs4_xdr_dec_statfs(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_dec_statfs() argument
6845 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_statfs()
6847 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_statfs()
6849 status = decode_putfh(xdr); in nfs4_xdr_dec_statfs()
6851 status = decode_statfs(xdr, res->fsstat); in nfs4_xdr_dec_statfs()
6859 struct xdr_stream *xdr, in nfs4_xdr_dec_server_caps() argument
6866 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_server_caps()
6869 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_server_caps()
6872 status = decode_putfh(xdr); in nfs4_xdr_dec_server_caps()
6875 status = decode_server_caps(xdr, res); in nfs4_xdr_dec_server_caps()
6883 static int nfs4_xdr_dec_renew(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_renew() argument
6889 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_renew()
6891 status = decode_renew(xdr); in nfs4_xdr_dec_renew()
6899 struct xdr_stream *xdr, in nfs4_xdr_dec_setclientid() argument
6906 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setclientid()
6908 status = decode_setclientid(xdr, res); in nfs4_xdr_dec_setclientid()
6916 struct xdr_stream *xdr, in nfs4_xdr_dec_setclientid_confirm() argument
6922 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setclientid_confirm()
6924 status = decode_setclientid_confirm(xdr); in nfs4_xdr_dec_setclientid_confirm()
6932 struct xdr_stream *xdr, in nfs4_xdr_dec_delegreturn() argument
6939 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_delegreturn()
6942 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_delegreturn()
6945 status = decode_putfh(xdr); in nfs4_xdr_dec_delegreturn()
6949 status = decode_layoutreturn(xdr, res->lr_res); in nfs4_xdr_dec_delegreturn()
6955 status = decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_delegreturn()
6959 status = decode_delegreturn(xdr); in nfs4_xdr_dec_delegreturn()
6968 struct xdr_stream *xdr, in nfs4_xdr_dec_fs_locations() argument
6975 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_fs_locations()
6978 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_fs_locations()
6981 status = decode_putfh(xdr); in nfs4_xdr_dec_fs_locations()
6985 xdr_enter_page(xdr, PAGE_SIZE); in nfs4_xdr_dec_fs_locations()
6986 status = decode_getfattr_generic(xdr, in nfs4_xdr_dec_fs_locations()
6993 status = decode_renew(xdr); in nfs4_xdr_dec_fs_locations()
6995 status = decode_lookup(xdr); in nfs4_xdr_dec_fs_locations()
6998 xdr_enter_page(xdr, PAGE_SIZE); in nfs4_xdr_dec_fs_locations()
6999 status = decode_getfattr_generic(xdr, in nfs4_xdr_dec_fs_locations()
7012 struct xdr_stream *xdr, in nfs4_xdr_dec_secinfo() argument
7019 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_secinfo()
7022 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_secinfo()
7025 status = decode_putfh(xdr); in nfs4_xdr_dec_secinfo()
7028 status = decode_secinfo(xdr, res); in nfs4_xdr_dec_secinfo()
7037 struct xdr_stream *xdr, in nfs4_xdr_dec_fsid_present() argument
7044 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_fsid_present()
7047 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_fsid_present()
7050 status = decode_putfh(xdr); in nfs4_xdr_dec_fsid_present()
7053 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_fsid_present()
7057 status = decode_renew(xdr); in nfs4_xdr_dec_fsid_present()
7067 struct xdr_stream *xdr, in nfs4_xdr_dec_bind_conn_to_session() argument
7073 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_bind_conn_to_session()
7075 status = decode_bind_conn_to_session(xdr, res); in nfs4_xdr_dec_bind_conn_to_session()
7083 struct xdr_stream *xdr, in nfs4_xdr_dec_exchange_id() argument
7089 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_exchange_id()
7091 status = decode_exchange_id(xdr, res); in nfs4_xdr_dec_exchange_id()
7099 struct xdr_stream *xdr, in nfs4_xdr_dec_create_session() argument
7105 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_create_session()
7107 status = decode_create_session(xdr, res); in nfs4_xdr_dec_create_session()
7115 struct xdr_stream *xdr, in nfs4_xdr_dec_destroy_session() argument
7121 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_destroy_session()
7123 status = decode_destroy_session(xdr, res); in nfs4_xdr_dec_destroy_session()
7131 struct xdr_stream *xdr, in nfs4_xdr_dec_destroy_clientid() argument
7137 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_destroy_clientid()
7139 status = decode_destroy_clientid(xdr, res); in nfs4_xdr_dec_destroy_clientid()
7147 struct xdr_stream *xdr, in nfs4_xdr_dec_sequence() argument
7153 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_sequence()
7155 status = decode_sequence(xdr, res, rqstp); in nfs4_xdr_dec_sequence()
7165 struct xdr_stream *xdr, in nfs4_xdr_dec_get_lease_time() argument
7172 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_get_lease_time()
7174 status = decode_sequence(xdr, &res->lr_seq_res, rqstp); in nfs4_xdr_dec_get_lease_time()
7176 status = decode_putrootfh(xdr); in nfs4_xdr_dec_get_lease_time()
7178 status = decode_fsinfo(xdr, res->lr_fsinfo); in nfs4_xdr_dec_get_lease_time()
7188 struct xdr_stream *xdr, in nfs4_xdr_dec_reclaim_complete() argument
7195 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_reclaim_complete()
7197 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_reclaim_complete()
7199 status = decode_reclaim_complete(xdr, NULL); in nfs4_xdr_dec_reclaim_complete()
7207 struct xdr_stream *xdr, in nfs4_xdr_dec_getdeviceinfo() argument
7214 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_getdeviceinfo()
7217 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_getdeviceinfo()
7220 status = decode_getdeviceinfo(xdr, res); in nfs4_xdr_dec_getdeviceinfo()
7229 struct xdr_stream *xdr, in nfs4_xdr_dec_layoutget() argument
7236 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_layoutget()
7239 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_layoutget()
7242 status = decode_putfh(xdr); in nfs4_xdr_dec_layoutget()
7245 status = decode_layoutget(xdr, rqstp, res); in nfs4_xdr_dec_layoutget()
7254 struct xdr_stream *xdr, in nfs4_xdr_dec_layoutreturn() argument
7261 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_layoutreturn()
7264 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_layoutreturn()
7267 status = decode_putfh(xdr); in nfs4_xdr_dec_layoutreturn()
7270 status = decode_layoutreturn(xdr, res); in nfs4_xdr_dec_layoutreturn()
7279 struct xdr_stream *xdr, in nfs4_xdr_dec_layoutcommit() argument
7286 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_layoutcommit()
7289 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_layoutcommit()
7292 status = decode_putfh(xdr); in nfs4_xdr_dec_layoutcommit()
7295 status = decode_layoutcommit(xdr, rqstp, res); in nfs4_xdr_dec_layoutcommit()
7298 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_layoutcommit()
7307 struct xdr_stream *xdr, in nfs4_xdr_dec_secinfo_no_name() argument
7314 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_secinfo_no_name()
7317 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_secinfo_no_name()
7320 status = decode_putrootfh(xdr); in nfs4_xdr_dec_secinfo_no_name()
7323 status = decode_secinfo_no_name(xdr, res); in nfs4_xdr_dec_secinfo_no_name()
7332 struct xdr_stream *xdr, in nfs4_xdr_dec_test_stateid() argument
7339 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_test_stateid()
7342 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_test_stateid()
7345 status = decode_test_stateid(xdr, res); in nfs4_xdr_dec_test_stateid()
7354 struct xdr_stream *xdr, in nfs4_xdr_dec_free_stateid() argument
7361 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_free_stateid()
7364 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_free_stateid()
7367 status = decode_free_stateid(xdr, res); in nfs4_xdr_dec_free_stateid()
7387 int nfs4_decode_dirent(struct xdr_stream *xdr, struct nfs_entry *entry, in nfs4_decode_dirent() argument
7394 __be32 *p = xdr_inline_decode(xdr, 4); in nfs4_decode_dirent()
7398 p = xdr_inline_decode(xdr, 4); in nfs4_decode_dirent()
7407 p = xdr_inline_decode(xdr, 12); in nfs4_decode_dirent()
7413 p = xdr_inline_decode(xdr, entry->len); in nfs4_decode_dirent()
7426 if (decode_attr_bitmap(xdr, bitmap) < 0) in nfs4_decode_dirent()
7429 if (decode_attr_length(xdr, &len, &savep) < 0) in nfs4_decode_dirent()
7432 if (decode_getfattr_attrs(xdr, bitmap, entry->fattr, entry->fh, in nfs4_decode_dirent()