• Home
  • Raw
  • Download

Lines Matching refs:xdr

910 static __be32 *reserve_space(struct xdr_stream *xdr, size_t nbytes)  in reserve_space()  argument
912 __be32 *p = xdr_reserve_space(xdr, nbytes); in reserve_space()
917 static void encode_opaque_fixed(struct xdr_stream *xdr, const void *buf, size_t len) in encode_opaque_fixed() argument
921 p = xdr_reserve_space(xdr, len); in encode_opaque_fixed()
925 static void encode_string(struct xdr_stream *xdr, unsigned int len, const char *str) in encode_string() argument
929 p = reserve_space(xdr, 4 + len); in encode_string()
933 static void encode_uint32(struct xdr_stream *xdr, u32 n) in encode_uint32() argument
937 p = reserve_space(xdr, 4); in encode_uint32()
941 static void encode_uint64(struct xdr_stream *xdr, u64 n) in encode_uint64() argument
945 p = reserve_space(xdr, 8); in encode_uint64()
949 static void encode_nfs4_seqid(struct xdr_stream *xdr, in encode_nfs4_seqid() argument
953 encode_uint32(xdr, seqid->sequence->counter); in encode_nfs4_seqid()
955 encode_uint32(xdr, 0); in encode_nfs4_seqid()
958 static void encode_compound_hdr(struct xdr_stream *xdr, in encode_compound_hdr() argument
971 encode_string(xdr, hdr->taglen, hdr->tag); in encode_compound_hdr()
972 p = reserve_space(xdr, 8); in encode_compound_hdr()
978 static void encode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 op, in encode_op_hdr() argument
982 encode_uint32(xdr, op); in encode_op_hdr()
993 static void encode_nfs4_stateid(struct xdr_stream *xdr, const nfs4_stateid *stateid) in encode_nfs4_stateid() argument
995 encode_opaque_fixed(xdr, stateid, NFS4_STATEID_SIZE); in encode_nfs4_stateid()
998 static void encode_nfs4_verifier(struct xdr_stream *xdr, const nfs4_verifier *verf) in encode_nfs4_verifier() argument
1000 encode_opaque_fixed(xdr, verf->data, NFS4_VERIFIER_SIZE); in encode_nfs4_verifier()
1003 static void encode_attrs(struct xdr_stream *xdr, const struct iattr *iap, in encode_attrs() argument
1095 p = reserve_space(xdr, 4 + (bmval_len << 2) + 4 + len); in encode_attrs()
1136 static void encode_access(struct xdr_stream *xdr, u32 access, struct compound_hdr *hdr) in encode_access() argument
1138 encode_op_hdr(xdr, OP_ACCESS, decode_access_maxsz, hdr); in encode_access()
1139 encode_uint32(xdr, access); in encode_access()
1142 static void encode_close(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct compound_h… in encode_close() argument
1144 encode_op_hdr(xdr, OP_CLOSE, decode_close_maxsz, hdr); in encode_close()
1145 encode_nfs4_seqid(xdr, arg->seqid); in encode_close()
1146 encode_nfs4_stateid(xdr, &arg->stateid); in encode_close()
1149 static void encode_commit(struct xdr_stream *xdr, const struct nfs_commitargs *args, struct compoun… in encode_commit() argument
1153 encode_op_hdr(xdr, OP_COMMIT, decode_commit_maxsz, hdr); in encode_commit()
1154 p = reserve_space(xdr, 12); in encode_commit()
1159 static void encode_create(struct xdr_stream *xdr, const struct nfs4_create_arg *create, struct comp… in encode_create() argument
1163 encode_op_hdr(xdr, OP_CREATE, decode_create_maxsz, hdr); in encode_create()
1164 encode_uint32(xdr, create->ftype); in encode_create()
1168 p = reserve_space(xdr, 4); in encode_create()
1170 xdr_write_pages(xdr, create->u.symlink.pages, 0, in encode_create()
1172 xdr->buf->flags |= XDRBUF_WRITE; in encode_create()
1176 p = reserve_space(xdr, 8); in encode_create()
1185 encode_string(xdr, create->name->len, create->name->name); in encode_create()
1186 encode_attrs(xdr, create->attrs, create->label, create->server, false); in encode_create()
1189 static void encode_getattr_one(struct xdr_stream *xdr, uint32_t bitmap, struct compound_hdr *hdr) in encode_getattr_one() argument
1193 encode_op_hdr(xdr, OP_GETATTR, decode_getattr_maxsz, hdr); in encode_getattr_one()
1194 p = reserve_space(xdr, 8); in encode_getattr_one()
1199 static void encode_getattr_two(struct xdr_stream *xdr, uint32_t bm0, uint32_t bm1, struct compound_… in encode_getattr_two() argument
1203 encode_op_hdr(xdr, OP_GETATTR, decode_getattr_maxsz, hdr); in encode_getattr_two()
1204 p = reserve_space(xdr, 12); in encode_getattr_two()
1211 encode_getattr_three(struct xdr_stream *xdr, in encode_getattr_three() argument
1217 encode_op_hdr(xdr, OP_GETATTR, decode_getattr_maxsz, hdr); in encode_getattr_three()
1219 p = reserve_space(xdr, 16); in encode_getattr_three()
1225 p = reserve_space(xdr, 12); in encode_getattr_three()
1230 p = reserve_space(xdr, 8); in encode_getattr_three()
1236 static void encode_getfattr(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) in encode_getfattr() argument
1238 encode_getattr_three(xdr, bitmask[0] & nfs4_fattr_bitmap[0], in encode_getfattr()
1244 static void encode_getfattr_open(struct xdr_stream *xdr, const u32 *bitmask, in encode_getfattr_open() argument
1248 encode_getattr_three(xdr, in encode_getfattr_open()
1255 static void encode_fsinfo(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hdr) in encode_fsinfo() argument
1257 encode_getattr_three(xdr, in encode_fsinfo()
1264 static void encode_fs_locations(struct xdr_stream *xdr, const u32* bitmask, struct compound_hdr *hd… in encode_fs_locations() argument
1266 encode_getattr_two(xdr, bitmask[0] & nfs4_fs_locations_bitmap[0], in encode_fs_locations()
1270 static void encode_getfh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_getfh() argument
1272 encode_op_hdr(xdr, OP_GETFH, decode_getfh_maxsz, hdr); in encode_getfh()
1275 static void encode_link(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) in encode_link() argument
1277 encode_op_hdr(xdr, OP_LINK, decode_link_maxsz, hdr); in encode_link()
1278 encode_string(xdr, name->len, name->name); in encode_link()
1295 static void encode_lockowner(struct xdr_stream *xdr, const struct nfs_lowner *lowner) in encode_lockowner() argument
1299 p = reserve_space(xdr, 32); in encode_lockowner()
1311 static void encode_lock(struct xdr_stream *xdr, const struct nfs_lock_args *args, struct compound_h… in encode_lock() argument
1315 encode_op_hdr(xdr, OP_LOCK, decode_lock_maxsz, hdr); in encode_lock()
1316 p = reserve_space(xdr, 28); in encode_lock()
1323 encode_nfs4_seqid(xdr, args->open_seqid); in encode_lock()
1324 encode_nfs4_stateid(xdr, &args->open_stateid); in encode_lock()
1325 encode_nfs4_seqid(xdr, args->lock_seqid); in encode_lock()
1326 encode_lockowner(xdr, &args->lock_owner); in encode_lock()
1329 encode_nfs4_stateid(xdr, &args->lock_stateid); in encode_lock()
1330 encode_nfs4_seqid(xdr, args->lock_seqid); in encode_lock()
1334 static void encode_lockt(struct xdr_stream *xdr, const struct nfs_lockt_args *args, struct compound… in encode_lockt() argument
1338 encode_op_hdr(xdr, OP_LOCKT, decode_lockt_maxsz, hdr); in encode_lockt()
1339 p = reserve_space(xdr, 20); in encode_lockt()
1343 encode_lockowner(xdr, &args->lock_owner); in encode_lockt()
1346 static void encode_locku(struct xdr_stream *xdr, const struct nfs_locku_args *args, struct compound… in encode_locku() argument
1350 encode_op_hdr(xdr, OP_LOCKU, decode_locku_maxsz, hdr); in encode_locku()
1351 encode_uint32(xdr, nfs4_lock_type(args->fl, 0)); in encode_locku()
1352 encode_nfs4_seqid(xdr, args->seqid); in encode_locku()
1353 encode_nfs4_stateid(xdr, &args->stateid); in encode_locku()
1354 p = reserve_space(xdr, 16); in encode_locku()
1359 static void encode_release_lockowner(struct xdr_stream *xdr, const struct nfs_lowner *lowner, struc… in encode_release_lockowner() argument
1361 encode_op_hdr(xdr, OP_RELEASE_LOCKOWNER, decode_release_lockowner_maxsz, hdr); in encode_release_lockowner()
1362 encode_lockowner(xdr, lowner); in encode_release_lockowner()
1365 static void encode_lookup(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) in encode_lookup() argument
1367 encode_op_hdr(xdr, OP_LOOKUP, decode_lookup_maxsz, hdr); in encode_lookup()
1368 encode_string(xdr, name->len, name->name); in encode_lookup()
1371 static void encode_share_access(struct xdr_stream *xdr, u32 share_access) in encode_share_access() argument
1375 p = reserve_space(xdr, 8); in encode_share_access()
1380 static inline void encode_openhdr(struct xdr_stream *xdr, const struct nfs_openargs *arg) in encode_openhdr() argument
1387 encode_nfs4_seqid(xdr, arg->seqid); in encode_openhdr()
1388 encode_share_access(xdr, arg->share_access); in encode_openhdr()
1389 p = reserve_space(xdr, 36); in encode_openhdr()
1398 static inline void encode_createmode(struct xdr_stream *xdr, const struct nfs_openargs *arg) in encode_createmode() argument
1402 p = reserve_space(xdr, 4); in encode_createmode()
1406 encode_attrs(xdr, arg->u.attrs, arg->label, arg->server, false); in encode_createmode()
1410 encode_attrs(xdr, arg->u.attrs, arg->label, arg->server, false); in encode_createmode()
1414 encode_nfs4_verifier(xdr, &arg->u.verifier); in encode_createmode()
1418 encode_nfs4_verifier(xdr, &arg->u.verifier); in encode_createmode()
1419 encode_attrs(xdr, arg->u.attrs, arg->label, arg->server, true); in encode_createmode()
1423 static void encode_opentype(struct xdr_stream *xdr, const struct nfs_openargs *arg) in encode_opentype() argument
1427 p = reserve_space(xdr, 4); in encode_opentype()
1434 encode_createmode(xdr, arg); in encode_opentype()
1438 static inline void encode_delegation_type(struct xdr_stream *xdr, fmode_t delegation_type) in encode_delegation_type() argument
1442 p = reserve_space(xdr, 4); in encode_delegation_type()
1458 static inline void encode_claim_null(struct xdr_stream *xdr, const struct qstr *name) in encode_claim_null() argument
1462 p = reserve_space(xdr, 4); in encode_claim_null()
1464 encode_string(xdr, name->len, name->name); in encode_claim_null()
1467 static inline void encode_claim_previous(struct xdr_stream *xdr, fmode_t type) in encode_claim_previous() argument
1471 p = reserve_space(xdr, 4); in encode_claim_previous()
1473 encode_delegation_type(xdr, type); in encode_claim_previous()
1476 static inline void encode_claim_delegate_cur(struct xdr_stream *xdr, const struct qstr *name, const… in encode_claim_delegate_cur() argument
1480 p = reserve_space(xdr, 4); in encode_claim_delegate_cur()
1482 encode_nfs4_stateid(xdr, stateid); in encode_claim_delegate_cur()
1483 encode_string(xdr, name->len, name->name); in encode_claim_delegate_cur()
1486 static inline void encode_claim_fh(struct xdr_stream *xdr) in encode_claim_fh() argument
1490 p = reserve_space(xdr, 4); in encode_claim_fh()
1494 static inline void encode_claim_delegate_cur_fh(struct xdr_stream *xdr, const nfs4_stateid *stateid) in encode_claim_delegate_cur_fh() argument
1498 p = reserve_space(xdr, 4); in encode_claim_delegate_cur_fh()
1500 encode_nfs4_stateid(xdr, stateid); in encode_claim_delegate_cur_fh()
1503 static void encode_open(struct xdr_stream *xdr, const struct nfs_openargs *arg, struct compound_hdr… in encode_open() argument
1505 encode_op_hdr(xdr, OP_OPEN, decode_open_maxsz, hdr); in encode_open()
1506 encode_openhdr(xdr, arg); in encode_open()
1507 encode_opentype(xdr, arg); in encode_open()
1510 encode_claim_null(xdr, arg->name); in encode_open()
1513 encode_claim_previous(xdr, arg->u.delegation_type); in encode_open()
1516 encode_claim_delegate_cur(xdr, arg->name, &arg->u.delegation); in encode_open()
1519 encode_claim_fh(xdr); in encode_open()
1522 encode_claim_delegate_cur_fh(xdr, &arg->u.delegation); in encode_open()
1529 static void encode_open_confirm(struct xdr_stream *xdr, const struct nfs_open_confirmargs *arg, str… in encode_open_confirm() argument
1531 encode_op_hdr(xdr, OP_OPEN_CONFIRM, decode_open_confirm_maxsz, hdr); in encode_open_confirm()
1532 encode_nfs4_stateid(xdr, arg->stateid); in encode_open_confirm()
1533 encode_nfs4_seqid(xdr, arg->seqid); in encode_open_confirm()
1536 static void encode_open_downgrade(struct xdr_stream *xdr, const struct nfs_closeargs *arg, struct c… in encode_open_downgrade() argument
1538 encode_op_hdr(xdr, OP_OPEN_DOWNGRADE, decode_open_downgrade_maxsz, hdr); in encode_open_downgrade()
1539 encode_nfs4_stateid(xdr, &arg->stateid); in encode_open_downgrade()
1540 encode_nfs4_seqid(xdr, arg->seqid); in encode_open_downgrade()
1541 encode_share_access(xdr, arg->share_access); in encode_open_downgrade()
1545 encode_putfh(struct xdr_stream *xdr, const struct nfs_fh *fh, struct compound_hdr *hdr) in encode_putfh() argument
1547 encode_op_hdr(xdr, OP_PUTFH, decode_putfh_maxsz, hdr); in encode_putfh()
1548 encode_string(xdr, fh->size, fh->data); in encode_putfh()
1551 static void encode_putrootfh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_putrootfh() argument
1553 encode_op_hdr(xdr, OP_PUTROOTFH, decode_putrootfh_maxsz, hdr); in encode_putrootfh()
1556 static void encode_read(struct xdr_stream *xdr, const struct nfs_pgio_args *args, in encode_read() argument
1561 encode_op_hdr(xdr, OP_READ, decode_read_maxsz, hdr); in encode_read()
1562 encode_nfs4_stateid(xdr, &args->stateid); in encode_read()
1564 p = reserve_space(xdr, 12); in encode_read()
1569 static void encode_readdir(struct xdr_stream *xdr, const struct nfs4_readdir_arg *readdir, struct r… in encode_readdir() argument
1599 encode_op_hdr(xdr, OP_READDIR, decode_readdir_maxsz, hdr); in encode_readdir()
1600 encode_uint64(xdr, readdir->cookie); in encode_readdir()
1601 encode_nfs4_verifier(xdr, &readdir->verifier); in encode_readdir()
1602 p = reserve_space(xdr, 12 + (attrlen << 2)); in encode_readdir()
1619 static void encode_readlink(struct xdr_stream *xdr, const struct nfs4_readlink *readlink, struct rp… in encode_readlink() argument
1621 encode_op_hdr(xdr, OP_READLINK, decode_readlink_maxsz, hdr); in encode_readlink()
1624 static void encode_remove(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hdr) in encode_remove() argument
1626 encode_op_hdr(xdr, OP_REMOVE, decode_remove_maxsz, hdr); in encode_remove()
1627 encode_string(xdr, name->len, name->name); in encode_remove()
1630 static void encode_rename(struct xdr_stream *xdr, const struct qstr *oldname, const struct qstr *ne… in encode_rename() argument
1632 encode_op_hdr(xdr, OP_RENAME, decode_rename_maxsz, hdr); in encode_rename()
1633 encode_string(xdr, oldname->len, oldname->name); in encode_rename()
1634 encode_string(xdr, newname->len, newname->name); in encode_rename()
1637 static void encode_renew(struct xdr_stream *xdr, clientid4 clid, in encode_renew() argument
1640 encode_op_hdr(xdr, OP_RENEW, decode_renew_maxsz, hdr); in encode_renew()
1641 encode_uint64(xdr, clid); in encode_renew()
1645 encode_restorefh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_restorefh() argument
1647 encode_op_hdr(xdr, OP_RESTOREFH, decode_restorefh_maxsz, hdr); in encode_restorefh()
1651 encode_setacl(struct xdr_stream *xdr, struct nfs_setaclargs *arg, struct compound_hdr *hdr) in encode_setacl() argument
1655 encode_op_hdr(xdr, OP_SETATTR, decode_setacl_maxsz, hdr); in encode_setacl()
1656 encode_nfs4_stateid(xdr, &zero_stateid); in encode_setacl()
1657 p = reserve_space(xdr, 2*4); in encode_setacl()
1660 p = reserve_space(xdr, 4); in encode_setacl()
1662 xdr_write_pages(xdr, arg->acl_pages, 0, arg->acl_len); in encode_setacl()
1666 encode_savefh(struct xdr_stream *xdr, struct compound_hdr *hdr) in encode_savefh() argument
1668 encode_op_hdr(xdr, OP_SAVEFH, decode_savefh_maxsz, hdr); in encode_savefh()
1671 static void encode_setattr(struct xdr_stream *xdr, const struct nfs_setattrargs *arg, const struct … in encode_setattr() argument
1673 encode_op_hdr(xdr, OP_SETATTR, decode_setattr_maxsz, hdr); in encode_setattr()
1674 encode_nfs4_stateid(xdr, &arg->stateid); in encode_setattr()
1675 encode_attrs(xdr, arg->iap, arg->label, server, false); in encode_setattr()
1678 static void encode_setclientid(struct xdr_stream *xdr, const struct nfs4_setclientid *setclientid, … in encode_setclientid() argument
1682 encode_op_hdr(xdr, OP_SETCLIENTID, decode_setclientid_maxsz, hdr); in encode_setclientid()
1683 encode_nfs4_verifier(xdr, setclientid->sc_verifier); in encode_setclientid()
1685 encode_string(xdr, strlen(setclientid->sc_clnt->cl_owner_id), in encode_setclientid()
1687 p = reserve_space(xdr, 4); in encode_setclientid()
1689 encode_string(xdr, setclientid->sc_netid_len, setclientid->sc_netid); in encode_setclientid()
1690 encode_string(xdr, setclientid->sc_uaddr_len, setclientid->sc_uaddr); in encode_setclientid()
1691 p = reserve_space(xdr, 4); in encode_setclientid()
1695 static void encode_setclientid_confirm(struct xdr_stream *xdr, const struct nfs4_setclientid_res *a… in encode_setclientid_confirm() argument
1697 encode_op_hdr(xdr, OP_SETCLIENTID_CONFIRM, in encode_setclientid_confirm()
1699 encode_uint64(xdr, arg->clientid); in encode_setclientid_confirm()
1700 encode_nfs4_verifier(xdr, &arg->confirm); in encode_setclientid_confirm()
1703 static void encode_write(struct xdr_stream *xdr, const struct nfs_pgio_args *args, in encode_write() argument
1708 encode_op_hdr(xdr, OP_WRITE, decode_write_maxsz, hdr); in encode_write()
1709 encode_nfs4_stateid(xdr, &args->stateid); in encode_write()
1711 p = reserve_space(xdr, 16); in encode_write()
1716 xdr_write_pages(xdr, args->pages, args->pgbase, args->count); in encode_write()
1719 static void encode_delegreturn(struct xdr_stream *xdr, const nfs4_stateid *stateid, struct compound… in encode_delegreturn() argument
1721 encode_op_hdr(xdr, OP_DELEGRETURN, decode_delegreturn_maxsz, hdr); in encode_delegreturn()
1722 encode_nfs4_stateid(xdr, stateid); in encode_delegreturn()
1725 static void encode_secinfo(struct xdr_stream *xdr, const struct qstr *name, struct compound_hdr *hd… in encode_secinfo() argument
1727 encode_op_hdr(xdr, OP_SECINFO, decode_secinfo_maxsz, hdr); in encode_secinfo()
1728 encode_string(xdr, name->len, name->name); in encode_secinfo()
1733 static void encode_bind_conn_to_session(struct xdr_stream *xdr, in encode_bind_conn_to_session() argument
1739 encode_op_hdr(xdr, OP_BIND_CONN_TO_SESSION, in encode_bind_conn_to_session()
1741 encode_opaque_fixed(xdr, args->sessionid.data, NFS4_MAX_SESSIONID_LEN); in encode_bind_conn_to_session()
1742 p = xdr_reserve_space(xdr, 8); in encode_bind_conn_to_session()
1747 static void encode_op_map(struct xdr_stream *xdr, struct nfs4_op_map *op_map) in encode_op_map() argument
1750 encode_uint32(xdr, NFS4_OP_MAP_NUM_WORDS); in encode_op_map()
1752 encode_uint32(xdr, op_map->u.words[i]); in encode_op_map()
1755 static void encode_exchange_id(struct xdr_stream *xdr, in encode_exchange_id() argument
1763 encode_op_hdr(xdr, OP_EXCHANGE_ID, decode_exchange_id_maxsz, hdr); in encode_exchange_id()
1764 encode_nfs4_verifier(xdr, &args->verifier); in encode_exchange_id()
1766 encode_string(xdr, strlen(args->client->cl_owner_id), in encode_exchange_id()
1769 encode_uint32(xdr, args->flags); in encode_exchange_id()
1770 encode_uint32(xdr, args->state_protect.how); in encode_exchange_id()
1776 encode_op_map(xdr, &args->state_protect.enforce); in encode_exchange_id()
1777 encode_op_map(xdr, &args->state_protect.allow); in encode_exchange_id()
1793 encode_uint32(xdr, 1); /* implementation id array length=1 */ in encode_exchange_id()
1795 encode_string(xdr, in encode_exchange_id()
1798 encode_string(xdr, len, impl_name); in encode_exchange_id()
1800 p = reserve_space(xdr, 12); in encode_exchange_id()
1804 encode_uint32(xdr, 0); /* implementation id array length=0 */ in encode_exchange_id()
1807 static void encode_create_session(struct xdr_stream *xdr, in encode_create_session() argument
1824 encode_op_hdr(xdr, OP_CREATE_SESSION, decode_create_session_maxsz, hdr); in encode_create_session()
1825 p = reserve_space(xdr, 16 + 2*28 + 20 + clnt->cl_nodelen + 12); in encode_create_session()
1860 static void encode_destroy_session(struct xdr_stream *xdr, in encode_destroy_session() argument
1864 encode_op_hdr(xdr, OP_DESTROY_SESSION, decode_destroy_session_maxsz, hdr); in encode_destroy_session()
1865 encode_opaque_fixed(xdr, session->sess_id.data, NFS4_MAX_SESSIONID_LEN); in encode_destroy_session()
1868 static void encode_destroy_clientid(struct xdr_stream *xdr, in encode_destroy_clientid() argument
1872 encode_op_hdr(xdr, OP_DESTROY_CLIENTID, decode_destroy_clientid_maxsz, hdr); in encode_destroy_clientid()
1873 encode_uint64(xdr, clientid); in encode_destroy_clientid()
1876 static void encode_reclaim_complete(struct xdr_stream *xdr, in encode_reclaim_complete() argument
1880 encode_op_hdr(xdr, OP_RECLAIM_COMPLETE, decode_reclaim_complete_maxsz, hdr); in encode_reclaim_complete()
1881 encode_uint32(xdr, args->one_fs); in encode_reclaim_complete()
1885 static void encode_sequence(struct xdr_stream *xdr, in encode_sequence() argument
1900 encode_op_hdr(xdr, OP_SEQUENCE, decode_sequence_maxsz, hdr); in encode_sequence()
1914 p = reserve_space(xdr, NFS4_MAX_SESSIONID_LEN + 16); in encode_sequence()
1925 encode_getdeviceinfo(struct xdr_stream *xdr, in encode_getdeviceinfo() argument
1931 encode_op_hdr(xdr, OP_GETDEVICEINFO, decode_getdeviceinfo_maxsz, hdr); in encode_getdeviceinfo()
1932 p = reserve_space(xdr, NFS4_DEVICEID4_SIZE + 4 + 4); in encode_getdeviceinfo()
1938 p = reserve_space(xdr, 4 + 4); in encode_getdeviceinfo()
1944 encode_layoutget(struct xdr_stream *xdr, in encode_layoutget() argument
1950 encode_op_hdr(xdr, OP_LAYOUTGET, decode_layoutget_maxsz, hdr); in encode_layoutget()
1951 p = reserve_space(xdr, 36); in encode_layoutget()
1958 encode_nfs4_stateid(xdr, &args->stateid); in encode_layoutget()
1959 encode_uint32(xdr, args->maxcount); in encode_layoutget()
1971 encode_layoutcommit(struct xdr_stream *xdr, in encode_layoutcommit() argument
1981 encode_op_hdr(xdr, OP_LAYOUTCOMMIT, decode_layoutcommit_maxsz, hdr); in encode_layoutcommit()
1982 p = reserve_space(xdr, 20); in encode_layoutcommit()
1987 encode_nfs4_stateid(xdr, &args->stateid); in encode_layoutcommit()
1989 p = reserve_space(xdr, 20); in encode_layoutcommit()
1993 p = reserve_space(xdr, 12); in encode_layoutcommit()
2001 NFS_I(inode)->layout, xdr, args); in encode_layoutcommit()
2003 encode_uint32(xdr, args->layoutupdate_len); in encode_layoutcommit()
2005 xdr_write_pages(xdr, args->layoutupdate_pages, 0, in encode_layoutcommit()
2014 encode_layoutreturn(struct xdr_stream *xdr, in encode_layoutreturn() argument
2020 encode_op_hdr(xdr, OP_LAYOUTRETURN, decode_layoutreturn_maxsz, hdr); in encode_layoutreturn()
2021 p = reserve_space(xdr, 16); in encode_layoutreturn()
2026 p = reserve_space(xdr, 16); in encode_layoutreturn()
2030 encode_nfs4_stateid(xdr, &args->stateid); in encode_layoutreturn()
2034 NFS_I(args->inode)->layout, xdr, args); in encode_layoutreturn()
2036 encode_uint32(xdr, 0); in encode_layoutreturn()
2040 encode_secinfo_no_name(struct xdr_stream *xdr, in encode_secinfo_no_name() argument
2044 encode_op_hdr(xdr, OP_SECINFO_NO_NAME, decode_secinfo_no_name_maxsz, hdr); in encode_secinfo_no_name()
2045 encode_uint32(xdr, args->style); in encode_secinfo_no_name()
2049 static void encode_test_stateid(struct xdr_stream *xdr, in encode_test_stateid() argument
2053 encode_op_hdr(xdr, OP_TEST_STATEID, decode_test_stateid_maxsz, hdr); in encode_test_stateid()
2054 encode_uint32(xdr, 1); in encode_test_stateid()
2055 encode_nfs4_stateid(xdr, args->stateid); in encode_test_stateid()
2058 static void encode_free_stateid(struct xdr_stream *xdr, in encode_free_stateid() argument
2062 encode_op_hdr(xdr, OP_FREE_STATEID, decode_free_stateid_maxsz, hdr); in encode_free_stateid()
2063 encode_nfs4_stateid(xdr, &args->stateid); in encode_free_stateid()
2084 static void nfs4_xdr_enc_access(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_access() argument
2091 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_access()
2092 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_access()
2093 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_access()
2094 encode_access(xdr, args->access, &hdr); in nfs4_xdr_enc_access()
2095 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_access()
2102 static void nfs4_xdr_enc_lookup(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_lookup() argument
2109 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lookup()
2110 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lookup()
2111 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_lookup()
2112 encode_lookup(xdr, args->name, &hdr); in nfs4_xdr_enc_lookup()
2113 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_lookup()
2114 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_lookup()
2122 struct xdr_stream *xdr, in nfs4_xdr_enc_lookup_root() argument
2129 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lookup_root()
2130 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lookup_root()
2131 encode_putrootfh(xdr, &hdr); in nfs4_xdr_enc_lookup_root()
2132 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_lookup_root()
2133 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_lookup_root()
2140 static void nfs4_xdr_enc_remove(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_remove() argument
2147 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_remove()
2148 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_remove()
2149 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_remove()
2150 encode_remove(xdr, &args->name, &hdr); in nfs4_xdr_enc_remove()
2157 static void nfs4_xdr_enc_rename(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_rename() argument
2164 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_rename()
2165 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_rename()
2166 encode_putfh(xdr, args->old_dir, &hdr); in nfs4_xdr_enc_rename()
2167 encode_savefh(xdr, &hdr); in nfs4_xdr_enc_rename()
2168 encode_putfh(xdr, args->new_dir, &hdr); in nfs4_xdr_enc_rename()
2169 encode_rename(xdr, args->old_name, args->new_name, &hdr); in nfs4_xdr_enc_rename()
2176 static void nfs4_xdr_enc_link(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_link() argument
2183 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_link()
2184 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_link()
2185 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_link()
2186 encode_savefh(xdr, &hdr); in nfs4_xdr_enc_link()
2187 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_link()
2188 encode_link(xdr, args->name, &hdr); in nfs4_xdr_enc_link()
2189 encode_restorefh(xdr, &hdr); in nfs4_xdr_enc_link()
2190 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_link()
2197 static void nfs4_xdr_enc_create(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_create() argument
2204 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_create()
2205 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_create()
2206 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_create()
2207 encode_create(xdr, args, &hdr); in nfs4_xdr_enc_create()
2208 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_create()
2209 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_create()
2216 static void nfs4_xdr_enc_symlink(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_symlink() argument
2219 nfs4_xdr_enc_create(req, xdr, args); in nfs4_xdr_enc_symlink()
2225 static void nfs4_xdr_enc_getattr(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_getattr() argument
2232 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_getattr()
2233 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_getattr()
2234 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_getattr()
2235 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_getattr()
2242 static void nfs4_xdr_enc_close(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_close() argument
2249 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_close()
2250 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_close()
2251 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_close()
2252 encode_close(xdr, args, &hdr); in nfs4_xdr_enc_close()
2253 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_close()
2260 static void nfs4_xdr_enc_open(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_open() argument
2267 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open()
2268 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_open()
2269 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open()
2270 encode_open(xdr, args, &hdr); in nfs4_xdr_enc_open()
2271 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_open()
2273 encode_access(xdr, args->access, &hdr); in nfs4_xdr_enc_open()
2274 encode_getfattr_open(xdr, args->bitmask, args->open_bitmap, &hdr); in nfs4_xdr_enc_open()
2282 struct xdr_stream *xdr, in nfs4_xdr_enc_open_confirm() argument
2289 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open_confirm()
2290 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open_confirm()
2291 encode_open_confirm(xdr, args, &hdr); in nfs4_xdr_enc_open_confirm()
2299 struct xdr_stream *xdr, in nfs4_xdr_enc_open_noattr() argument
2306 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open_noattr()
2307 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_open_noattr()
2308 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open_noattr()
2309 encode_open(xdr, args, &hdr); in nfs4_xdr_enc_open_noattr()
2311 encode_access(xdr, args->access, &hdr); in nfs4_xdr_enc_open_noattr()
2312 encode_getfattr_open(xdr, args->bitmask, args->open_bitmap, &hdr); in nfs4_xdr_enc_open_noattr()
2320 struct xdr_stream *xdr, in nfs4_xdr_enc_open_downgrade() argument
2327 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_open_downgrade()
2328 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_open_downgrade()
2329 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_open_downgrade()
2330 encode_open_downgrade(xdr, args, &hdr); in nfs4_xdr_enc_open_downgrade()
2331 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_open_downgrade()
2338 static void nfs4_xdr_enc_lock(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_lock() argument
2345 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lock()
2346 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lock()
2347 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_lock()
2348 encode_lock(xdr, args, &hdr); in nfs4_xdr_enc_lock()
2355 static void nfs4_xdr_enc_lockt(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_lockt() argument
2362 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_lockt()
2363 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_lockt()
2364 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_lockt()
2365 encode_lockt(xdr, args, &hdr); in nfs4_xdr_enc_lockt()
2372 static void nfs4_xdr_enc_locku(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_locku() argument
2379 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_locku()
2380 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_locku()
2381 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_locku()
2382 encode_locku(xdr, args, &hdr); in nfs4_xdr_enc_locku()
2387 struct xdr_stream *xdr, in nfs4_xdr_enc_release_lockowner() argument
2394 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_release_lockowner()
2395 encode_release_lockowner(xdr, &args->lock_owner, &hdr); in nfs4_xdr_enc_release_lockowner()
2402 static void nfs4_xdr_enc_readlink(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_readlink() argument
2409 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_readlink()
2410 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_readlink()
2411 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_readlink()
2412 encode_readlink(xdr, args, req, &hdr); in nfs4_xdr_enc_readlink()
2422 static void nfs4_xdr_enc_readdir(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_readdir() argument
2429 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_readdir()
2430 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_readdir()
2431 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_readdir()
2432 encode_readdir(xdr, args, req, &hdr); in nfs4_xdr_enc_readdir()
2445 static void nfs4_xdr_enc_read(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_read() argument
2452 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_read()
2453 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_read()
2454 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_read()
2455 encode_read(xdr, args, &hdr); in nfs4_xdr_enc_read()
2466 static void nfs4_xdr_enc_setattr(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_setattr() argument
2473 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setattr()
2474 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_setattr()
2475 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_setattr()
2476 encode_setattr(xdr, args, args->server, &hdr); in nfs4_xdr_enc_setattr()
2477 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_setattr()
2484 static void nfs4_xdr_enc_getacl(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_getacl() argument
2492 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_getacl()
2493 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_getacl()
2494 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_getacl()
2496 encode_getattr_two(xdr, FATTR4_WORD0_ACL, 0, &hdr); in nfs4_xdr_enc_getacl()
2507 static void nfs4_xdr_enc_write(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_write() argument
2514 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_write()
2515 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_write()
2516 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_write()
2517 encode_write(xdr, args, &hdr); in nfs4_xdr_enc_write()
2520 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_write()
2527 static void nfs4_xdr_enc_commit(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_commit() argument
2534 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_commit()
2535 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_commit()
2536 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_commit()
2537 encode_commit(xdr, args, &hdr); in nfs4_xdr_enc_commit()
2544 static void nfs4_xdr_enc_fsinfo(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_fsinfo() argument
2551 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_fsinfo()
2552 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_fsinfo()
2553 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_fsinfo()
2554 encode_fsinfo(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_fsinfo()
2561 static void nfs4_xdr_enc_pathconf(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_pathconf() argument
2568 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_pathconf()
2569 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_pathconf()
2570 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_pathconf()
2571 encode_getattr_one(xdr, args->bitmask[0] & nfs4_pathconf_bitmap[0], in nfs4_xdr_enc_pathconf()
2579 static void nfs4_xdr_enc_statfs(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_statfs() argument
2586 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_statfs()
2587 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_statfs()
2588 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_statfs()
2589 encode_getattr_two(xdr, args->bitmask[0] & nfs4_statfs_bitmap[0], in nfs4_xdr_enc_statfs()
2598 struct xdr_stream *xdr, in nfs4_xdr_enc_server_caps() argument
2606 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_server_caps()
2607 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_server_caps()
2608 encode_putfh(xdr, args->fhandle, &hdr); in nfs4_xdr_enc_server_caps()
2609 encode_getattr_three(xdr, bitmask[0], bitmask[1], bitmask[2], &hdr); in nfs4_xdr_enc_server_caps()
2616 static void nfs4_xdr_enc_renew(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_renew() argument
2623 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_renew()
2624 encode_renew(xdr, clp->cl_clientid, &hdr); in nfs4_xdr_enc_renew()
2632 struct xdr_stream *xdr, in nfs4_xdr_enc_setclientid() argument
2639 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setclientid()
2640 encode_setclientid(xdr, sc, &hdr); in nfs4_xdr_enc_setclientid()
2648 struct xdr_stream *xdr, in nfs4_xdr_enc_setclientid_confirm() argument
2655 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setclientid_confirm()
2656 encode_setclientid_confirm(xdr, arg, &hdr); in nfs4_xdr_enc_setclientid_confirm()
2664 struct xdr_stream *xdr, in nfs4_xdr_enc_delegreturn() argument
2671 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_delegreturn()
2672 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_delegreturn()
2673 encode_putfh(xdr, args->fhandle, &hdr); in nfs4_xdr_enc_delegreturn()
2674 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_delegreturn()
2675 encode_delegreturn(xdr, args->stateid, &hdr); in nfs4_xdr_enc_delegreturn()
2683 struct xdr_stream *xdr, in nfs4_xdr_enc_fs_locations() argument
2691 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_fs_locations()
2692 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_fs_locations()
2694 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_fs_locations()
2696 encode_fs_locations(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_fs_locations()
2698 encode_renew(xdr, args->clientid, &hdr); in nfs4_xdr_enc_fs_locations()
2700 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_fs_locations()
2701 encode_lookup(xdr, args->name, &hdr); in nfs4_xdr_enc_fs_locations()
2703 encode_fs_locations(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_fs_locations()
2716 struct xdr_stream *xdr, in nfs4_xdr_enc_secinfo() argument
2723 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_secinfo()
2724 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_secinfo()
2725 encode_putfh(xdr, args->dir_fh, &hdr); in nfs4_xdr_enc_secinfo()
2726 encode_secinfo(xdr, args->name, &hdr); in nfs4_xdr_enc_secinfo()
2734 struct xdr_stream *xdr, in nfs4_xdr_enc_fsid_present() argument
2741 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_fsid_present()
2742 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_fsid_present()
2743 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_fsid_present()
2744 encode_getfh(xdr, &hdr); in nfs4_xdr_enc_fsid_present()
2746 encode_renew(xdr, args->clientid, &hdr); in nfs4_xdr_enc_fsid_present()
2755 struct xdr_stream *xdr, in nfs4_xdr_enc_bind_conn_to_session() argument
2762 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_bind_conn_to_session()
2763 encode_bind_conn_to_session(xdr, args, &hdr); in nfs4_xdr_enc_bind_conn_to_session()
2771 struct xdr_stream *xdr, in nfs4_xdr_enc_exchange_id() argument
2778 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_exchange_id()
2779 encode_exchange_id(xdr, args, &hdr); in nfs4_xdr_enc_exchange_id()
2787 struct xdr_stream *xdr, in nfs4_xdr_enc_create_session() argument
2794 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_create_session()
2795 encode_create_session(xdr, args, &hdr); in nfs4_xdr_enc_create_session()
2803 struct xdr_stream *xdr, in nfs4_xdr_enc_destroy_session() argument
2810 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_destroy_session()
2811 encode_destroy_session(xdr, session, &hdr); in nfs4_xdr_enc_destroy_session()
2819 struct xdr_stream *xdr, in nfs4_xdr_enc_destroy_clientid() argument
2826 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_destroy_clientid()
2827 encode_destroy_clientid(xdr, clp->cl_clientid, &hdr); in nfs4_xdr_enc_destroy_clientid()
2834 static void nfs4_xdr_enc_sequence(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_sequence() argument
2841 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_sequence()
2842 encode_sequence(xdr, args, &hdr); in nfs4_xdr_enc_sequence()
2850 struct xdr_stream *xdr, in nfs4_xdr_enc_get_lease_time() argument
2858 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_get_lease_time()
2859 encode_sequence(xdr, &args->la_seq_args, &hdr); in nfs4_xdr_enc_get_lease_time()
2860 encode_putrootfh(xdr, &hdr); in nfs4_xdr_enc_get_lease_time()
2861 encode_fsinfo(xdr, lease_bitmap, &hdr); in nfs4_xdr_enc_get_lease_time()
2869 struct xdr_stream *xdr, in nfs4_xdr_enc_reclaim_complete() argument
2876 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_reclaim_complete()
2877 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_reclaim_complete()
2878 encode_reclaim_complete(xdr, args, &hdr); in nfs4_xdr_enc_reclaim_complete()
2886 struct xdr_stream *xdr, in nfs4_xdr_enc_getdeviceinfo() argument
2893 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_getdeviceinfo()
2894 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_getdeviceinfo()
2895 encode_getdeviceinfo(xdr, args, &hdr); in nfs4_xdr_enc_getdeviceinfo()
2910 struct xdr_stream *xdr, in nfs4_xdr_enc_layoutget() argument
2917 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_layoutget()
2918 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_layoutget()
2919 encode_putfh(xdr, NFS_FH(args->inode), &hdr); in nfs4_xdr_enc_layoutget()
2920 encode_layoutget(xdr, args, &hdr); in nfs4_xdr_enc_layoutget()
2932 struct xdr_stream *xdr, in nfs4_xdr_enc_layoutcommit() argument
2941 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_layoutcommit()
2942 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_layoutcommit()
2943 encode_putfh(xdr, NFS_FH(args->inode), &hdr); in nfs4_xdr_enc_layoutcommit()
2944 encode_layoutcommit(xdr, data->args.inode, args, &hdr); in nfs4_xdr_enc_layoutcommit()
2945 encode_getfattr(xdr, args->bitmask, &hdr); in nfs4_xdr_enc_layoutcommit()
2953 struct xdr_stream *xdr, in nfs4_xdr_enc_layoutreturn() argument
2960 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_layoutreturn()
2961 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_layoutreturn()
2962 encode_putfh(xdr, NFS_FH(args->inode), &hdr); in nfs4_xdr_enc_layoutreturn()
2963 encode_layoutreturn(xdr, args, &hdr); in nfs4_xdr_enc_layoutreturn()
2971 struct xdr_stream *xdr, in nfs4_xdr_enc_secinfo_no_name() argument
2978 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_secinfo_no_name()
2979 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_secinfo_no_name()
2980 encode_putrootfh(xdr, &hdr); in nfs4_xdr_enc_secinfo_no_name()
2981 encode_secinfo_no_name(xdr, args, &hdr); in nfs4_xdr_enc_secinfo_no_name()
2990 struct xdr_stream *xdr, in nfs4_xdr_enc_test_stateid() argument
2997 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_test_stateid()
2998 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_test_stateid()
2999 encode_test_stateid(xdr, args, &hdr); in nfs4_xdr_enc_test_stateid()
3007 struct xdr_stream *xdr, in nfs4_xdr_enc_free_stateid() argument
3014 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_free_stateid()
3015 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_free_stateid()
3016 encode_free_stateid(xdr, args, &hdr); in nfs4_xdr_enc_free_stateid()
3021 static void print_overflow_msg(const char *func, const struct xdr_stream *xdr) in print_overflow_msg() argument
3025 func, xdr->end - xdr->p); in print_overflow_msg()
3028 static int decode_opaque_inline(struct xdr_stream *xdr, unsigned int *len, char **string) in decode_opaque_inline() argument
3032 p = xdr_inline_decode(xdr, 4); in decode_opaque_inline()
3036 p = xdr_inline_decode(xdr, *len); in decode_opaque_inline()
3042 print_overflow_msg(__func__, xdr); in decode_opaque_inline()
3046 static int decode_compound_hdr(struct xdr_stream *xdr, struct compound_hdr *hdr) in decode_compound_hdr() argument
3050 p = xdr_inline_decode(xdr, 8); in decode_compound_hdr()
3056 p = xdr_inline_decode(xdr, hdr->taglen + 4); in decode_compound_hdr()
3066 print_overflow_msg(__func__, xdr); in decode_compound_hdr()
3070 static bool __decode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 expected, in __decode_op_hdr() argument
3077 p = xdr_inline_decode(xdr, 8); in __decode_op_hdr()
3096 print_overflow_msg(__func__, xdr); in __decode_op_hdr()
3101 static int decode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 expected) in decode_op_hdr() argument
3105 __decode_op_hdr(xdr, expected, &retval); in decode_op_hdr()
3110 static int decode_ace(struct xdr_stream *xdr, void *ace, struct nfs_client *clp) in decode_ace() argument
3116 p = xdr_inline_decode(xdr, 12); in decode_ace()
3118 return decode_opaque_inline(xdr, &strlen, &str); in decode_ace()
3119 print_overflow_msg(__func__, xdr); in decode_ace()
3123 static int decode_attr_bitmap(struct xdr_stream *xdr, uint32_t *bitmap) in decode_attr_bitmap() argument
3128 p = xdr_inline_decode(xdr, 4); in decode_attr_bitmap()
3134 p = xdr_inline_decode(xdr, (bmlen << 2)); in decode_attr_bitmap()
3147 print_overflow_msg(__func__, xdr); in decode_attr_bitmap()
3151 static int decode_attr_length(struct xdr_stream *xdr, uint32_t *attrlen, unsigned int *savep) in decode_attr_length() argument
3155 p = xdr_inline_decode(xdr, 4); in decode_attr_length()
3159 *savep = xdr_stream_pos(xdr); in decode_attr_length()
3162 print_overflow_msg(__func__, xdr); in decode_attr_length()
3166 static int decode_attr_supported(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *bitmask) in decode_attr_supported() argument
3170 ret = decode_attr_bitmap(xdr, bitmask); in decode_attr_supported()
3181 static int decode_attr_type(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *type) in decode_attr_type() argument
3190 p = xdr_inline_decode(xdr, 4); in decode_attr_type()
3204 print_overflow_msg(__func__, xdr); in decode_attr_type()
3208 static int decode_attr_fh_expire_type(struct xdr_stream *xdr, in decode_attr_fh_expire_type() argument
3217 p = xdr_inline_decode(xdr, 4); in decode_attr_fh_expire_type()
3226 print_overflow_msg(__func__, xdr); in decode_attr_fh_expire_type()
3230 static int decode_attr_change(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *change) in decode_attr_change() argument
3239 p = xdr_inline_decode(xdr, 8); in decode_attr_change()
3250 print_overflow_msg(__func__, xdr); in decode_attr_change()
3254 static int decode_attr_size(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *size) in decode_attr_size() argument
3263 p = xdr_inline_decode(xdr, 8); in decode_attr_size()
3273 print_overflow_msg(__func__, xdr); in decode_attr_size()
3277 static int decode_attr_link_support(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_link_support() argument
3285 p = xdr_inline_decode(xdr, 4); in decode_attr_link_support()
3294 print_overflow_msg(__func__, xdr); in decode_attr_link_support()
3298 static int decode_attr_symlink_support(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_symlink_support() argument
3306 p = xdr_inline_decode(xdr, 4); in decode_attr_symlink_support()
3315 print_overflow_msg(__func__, xdr); in decode_attr_symlink_support()
3319 static int decode_attr_fsid(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs_fsid *fsid) in decode_attr_fsid() argument
3329 p = xdr_inline_decode(xdr, 16); in decode_attr_fsid()
3342 print_overflow_msg(__func__, xdr); in decode_attr_fsid()
3346 static int decode_attr_lease_time(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_lease_time() argument
3354 p = xdr_inline_decode(xdr, 4); in decode_attr_lease_time()
3363 print_overflow_msg(__func__, xdr); in decode_attr_lease_time()
3367 static int decode_attr_error(struct xdr_stream *xdr, uint32_t *bitmap, int32_t *res) in decode_attr_error() argument
3374 p = xdr_inline_decode(xdr, 4); in decode_attr_error()
3382 print_overflow_msg(__func__, xdr); in decode_attr_error()
3386 static int decode_attr_exclcreat_supported(struct xdr_stream *xdr, in decode_attr_exclcreat_supported() argument
3391 ret = decode_attr_bitmap(xdr, bitmask); in decode_attr_exclcreat_supported()
3402 static int decode_attr_filehandle(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs_fh *fh) in decode_attr_filehandle() argument
3413 p = xdr_inline_decode(xdr, 4); in decode_attr_filehandle()
3419 p = xdr_inline_decode(xdr, len); in decode_attr_filehandle()
3430 print_overflow_msg(__func__, xdr); in decode_attr_filehandle()
3434 static int decode_attr_aclsupport(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_aclsupport() argument
3442 p = xdr_inline_decode(xdr, 4); in decode_attr_aclsupport()
3451 print_overflow_msg(__func__, xdr); in decode_attr_aclsupport()
3455 static int decode_attr_fileid(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *fileid) in decode_attr_fileid() argument
3464 p = xdr_inline_decode(xdr, 8); in decode_attr_fileid()
3474 print_overflow_msg(__func__, xdr); in decode_attr_fileid()
3478 static int decode_attr_mounted_on_fileid(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *fileid) in decode_attr_mounted_on_fileid() argument
3487 p = xdr_inline_decode(xdr, 8); in decode_attr_mounted_on_fileid()
3497 print_overflow_msg(__func__, xdr); in decode_attr_mounted_on_fileid()
3501 static int decode_attr_files_avail(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_avail() argument
3510 p = xdr_inline_decode(xdr, 8); in decode_attr_files_avail()
3519 print_overflow_msg(__func__, xdr); in decode_attr_files_avail()
3523 static int decode_attr_files_free(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_free() argument
3532 p = xdr_inline_decode(xdr, 8); in decode_attr_files_free()
3541 print_overflow_msg(__func__, xdr); in decode_attr_files_free()
3545 static int decode_attr_files_total(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_files_total() argument
3554 p = xdr_inline_decode(xdr, 8); in decode_attr_files_total()
3563 print_overflow_msg(__func__, xdr); in decode_attr_files_total()
3567 static int decode_pathname(struct xdr_stream *xdr, struct nfs4_pathname *path) in decode_pathname() argument
3573 p = xdr_inline_decode(xdr, 4); in decode_pathname()
3586 status = decode_opaque_inline(xdr, &component->len, &component->data); in decode_pathname()
3608 print_overflow_msg(__func__, xdr); in decode_pathname()
3612 static int decode_attr_fs_locations(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs4_fs_locati… in decode_attr_fs_locations() argument
3629 status = decode_pathname(xdr, &res->fs_path); in decode_attr_fs_locations()
3632 p = xdr_inline_decode(xdr, 4); in decode_attr_fs_locations()
3645 p = xdr_inline_decode(xdr, 4); in decode_attr_fs_locations()
3664 status = decode_opaque_inline(xdr, &len, &data); in decode_attr_fs_locations()
3671 status = decode_opaque_inline(xdr, &server->len, &server->data); in decode_attr_fs_locations()
3676 status = decode_pathname(xdr, &loc->rootpath); in decode_attr_fs_locations()
3686 print_overflow_msg(__func__, xdr); in decode_attr_fs_locations()
3692 static int decode_attr_maxfilesize(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_maxfilesize() argument
3701 p = xdr_inline_decode(xdr, 8); in decode_attr_maxfilesize()
3710 print_overflow_msg(__func__, xdr); in decode_attr_maxfilesize()
3714 static int decode_attr_maxlink(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *maxlink) in decode_attr_maxlink() argument
3723 p = xdr_inline_decode(xdr, 4); in decode_attr_maxlink()
3732 print_overflow_msg(__func__, xdr); in decode_attr_maxlink()
3736 static int decode_attr_maxname(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *maxname) in decode_attr_maxname() argument
3745 p = xdr_inline_decode(xdr, 4); in decode_attr_maxname()
3754 print_overflow_msg(__func__, xdr); in decode_attr_maxname()
3758 static int decode_attr_maxread(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_maxread() argument
3768 p = xdr_inline_decode(xdr, 8); in decode_attr_maxread()
3780 print_overflow_msg(__func__, xdr); in decode_attr_maxread()
3784 static int decode_attr_maxwrite(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *res) in decode_attr_maxwrite() argument
3794 p = xdr_inline_decode(xdr, 8); in decode_attr_maxwrite()
3806 print_overflow_msg(__func__, xdr); in decode_attr_maxwrite()
3810 static int decode_attr_mode(struct xdr_stream *xdr, uint32_t *bitmap, umode_t *mode) in decode_attr_mode() argument
3820 p = xdr_inline_decode(xdr, 4); in decode_attr_mode()
3831 print_overflow_msg(__func__, xdr); in decode_attr_mode()
3835 static int decode_attr_nlink(struct xdr_stream *xdr, uint32_t *bitmap, uint32_t *nlink) in decode_attr_nlink() argument
3844 p = xdr_inline_decode(xdr, 4); in decode_attr_nlink()
3854 print_overflow_msg(__func__, xdr); in decode_attr_nlink()
3858 static int decode_attr_owner(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_owner() argument
3870 p = xdr_inline_decode(xdr, 4); in decode_attr_owner()
3874 p = xdr_inline_decode(xdr, len); in decode_attr_owner()
3897 print_overflow_msg(__func__, xdr); in decode_attr_owner()
3901 static int decode_attr_group(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_group() argument
3913 p = xdr_inline_decode(xdr, 4); in decode_attr_group()
3917 p = xdr_inline_decode(xdr, len); in decode_attr_group()
3940 print_overflow_msg(__func__, xdr); in decode_attr_group()
3944 static int decode_attr_rdev(struct xdr_stream *xdr, uint32_t *bitmap, dev_t *rdev) in decode_attr_rdev() argument
3956 p = xdr_inline_decode(xdr, 8); in decode_attr_rdev()
3970 print_overflow_msg(__func__, xdr); in decode_attr_rdev()
3974 static int decode_attr_space_avail(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_avail() argument
3983 p = xdr_inline_decode(xdr, 8); in decode_attr_space_avail()
3992 print_overflow_msg(__func__, xdr); in decode_attr_space_avail()
3996 static int decode_attr_space_free(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_free() argument
4005 p = xdr_inline_decode(xdr, 8); in decode_attr_space_free()
4014 print_overflow_msg(__func__, xdr); in decode_attr_space_free()
4018 static int decode_attr_space_total(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *res) in decode_attr_space_total() argument
4027 p = xdr_inline_decode(xdr, 8); in decode_attr_space_total()
4036 print_overflow_msg(__func__, xdr); in decode_attr_space_total()
4040 static int decode_attr_space_used(struct xdr_stream *xdr, uint32_t *bitmap, uint64_t *used) in decode_attr_space_used() argument
4049 p = xdr_inline_decode(xdr, 8); in decode_attr_space_used()
4060 print_overflow_msg(__func__, xdr); in decode_attr_space_used()
4064 static int decode_attr_time(struct xdr_stream *xdr, struct timespec *time) in decode_attr_time() argument
4070 p = xdr_inline_decode(xdr, 12); in decode_attr_time()
4079 print_overflow_msg(__func__, xdr); in decode_attr_time()
4083 static int decode_attr_time_access(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec *time) in decode_attr_time_access() argument
4092 status = decode_attr_time(xdr, time); in decode_attr_time_access()
4101 static int decode_attr_time_metadata(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec *tim… in decode_attr_time_metadata() argument
4110 status = decode_attr_time(xdr, time); in decode_attr_time_metadata()
4119 static int decode_attr_time_delta(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_time_delta() argument
4129 status = decode_attr_time(xdr, time); in decode_attr_time_delta()
4137 static int decode_attr_security_label(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_security_label() argument
4149 p = xdr_inline_decode(xdr, 4); in decode_attr_security_label()
4153 p = xdr_inline_decode(xdr, 4); in decode_attr_security_label()
4157 p = xdr_inline_decode(xdr, 4); in decode_attr_security_label()
4161 p = xdr_inline_decode(xdr, len); in decode_attr_security_label()
4183 print_overflow_msg(__func__, xdr); in decode_attr_security_label()
4187 static int decode_attr_time_modify(struct xdr_stream *xdr, uint32_t *bitmap, struct timespec *time) in decode_attr_time_modify() argument
4196 status = decode_attr_time(xdr, time); in decode_attr_time_modify()
4205 static int verify_attr_len(struct xdr_stream *xdr, unsigned int savep, uint32_t attrlen) in verify_attr_len() argument
4208 unsigned int nwords = (xdr_stream_pos(xdr) - savep) >> 2; in verify_attr_len()
4222 static int decode_change_info(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_change_info() argument
4226 p = xdr_inline_decode(xdr, 20); in decode_change_info()
4234 print_overflow_msg(__func__, xdr); in decode_change_info()
4238 static int decode_access(struct xdr_stream *xdr, u32 *supported, u32 *access) in decode_access() argument
4244 status = decode_op_hdr(xdr, OP_ACCESS); in decode_access()
4247 p = xdr_inline_decode(xdr, 8); in decode_access()
4256 print_overflow_msg(__func__, xdr); in decode_access()
4260 static int decode_opaque_fixed(struct xdr_stream *xdr, void *buf, size_t len) in decode_opaque_fixed() argument
4264 p = xdr_inline_decode(xdr, len); in decode_opaque_fixed()
4269 print_overflow_msg(__func__, xdr); in decode_opaque_fixed()
4273 static int decode_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_stateid() argument
4275 return decode_opaque_fixed(xdr, stateid, NFS4_STATEID_SIZE); in decode_stateid()
4278 static int decode_open_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_open_stateid() argument
4281 return decode_stateid(xdr, stateid); in decode_open_stateid()
4284 static int decode_lock_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_lock_stateid() argument
4287 return decode_stateid(xdr, stateid); in decode_lock_stateid()
4290 static int decode_delegation_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_delegation_stateid() argument
4293 return decode_stateid(xdr, stateid); in decode_delegation_stateid()
4296 static int decode_close(struct xdr_stream *xdr, struct nfs_closeres *res) in decode_close() argument
4300 status = decode_op_hdr(xdr, OP_CLOSE); in decode_close()
4304 status = decode_open_stateid(xdr, &res->stateid); in decode_close()
4308 static int decode_verifier(struct xdr_stream *xdr, void *verifier) in decode_verifier() argument
4310 return decode_opaque_fixed(xdr, verifier, NFS4_VERIFIER_SIZE); in decode_verifier()
4313 static int decode_write_verifier(struct xdr_stream *xdr, struct nfs_write_verifier *verifier) in decode_write_verifier() argument
4315 return decode_opaque_fixed(xdr, verifier->data, NFS4_VERIFIER_SIZE); in decode_write_verifier()
4318 static int decode_commit(struct xdr_stream *xdr, struct nfs_commitres *res) in decode_commit() argument
4322 status = decode_op_hdr(xdr, OP_COMMIT); in decode_commit()
4324 status = decode_write_verifier(xdr, &res->verf->verifier); in decode_commit()
4328 static int decode_create(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_create() argument
4334 status = decode_op_hdr(xdr, OP_CREATE); in decode_create()
4337 if ((status = decode_change_info(xdr, cinfo))) in decode_create()
4339 p = xdr_inline_decode(xdr, 4); in decode_create()
4343 p = xdr_inline_decode(xdr, bmlen << 2); in decode_create()
4347 print_overflow_msg(__func__, xdr); in decode_create()
4351 static int decode_server_caps(struct xdr_stream *xdr, struct nfs4_server_caps_res *res) in decode_server_caps() argument
4357 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_server_caps()
4359 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_server_caps()
4361 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_server_caps()
4363 if ((status = decode_attr_supported(xdr, bitmap, res->attr_bitmask)) != 0) in decode_server_caps()
4365 if ((status = decode_attr_fh_expire_type(xdr, bitmap, in decode_server_caps()
4368 if ((status = decode_attr_link_support(xdr, bitmap, &res->has_links)) != 0) in decode_server_caps()
4370 if ((status = decode_attr_symlink_support(xdr, bitmap, &res->has_symlinks)) != 0) in decode_server_caps()
4372 if ((status = decode_attr_aclsupport(xdr, bitmap, &res->acl_bitmask)) != 0) in decode_server_caps()
4374 if ((status = decode_attr_exclcreat_supported(xdr, bitmap, in decode_server_caps()
4377 status = verify_attr_len(xdr, savep, attrlen); in decode_server_caps()
4383 static int decode_statfs(struct xdr_stream *xdr, struct nfs_fsstat *fsstat) in decode_statfs() argument
4389 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_statfs()
4391 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_statfs()
4393 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_statfs()
4396 if ((status = decode_attr_files_avail(xdr, bitmap, &fsstat->afiles)) != 0) in decode_statfs()
4398 if ((status = decode_attr_files_free(xdr, bitmap, &fsstat->ffiles)) != 0) in decode_statfs()
4400 if ((status = decode_attr_files_total(xdr, bitmap, &fsstat->tfiles)) != 0) in decode_statfs()
4407 if ((status = decode_attr_space_avail(xdr, bitmap, &fsstat->abytes)) != 0) in decode_statfs()
4409 if ((status = decode_attr_space_free(xdr, bitmap, &fsstat->fbytes)) != 0) in decode_statfs()
4411 if ((status = decode_attr_space_total(xdr, bitmap, &fsstat->tbytes)) != 0) in decode_statfs()
4414 status = verify_attr_len(xdr, savep, attrlen); in decode_statfs()
4420 static int decode_pathconf(struct xdr_stream *xdr, struct nfs_pathconf *pathconf) in decode_pathconf() argument
4426 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_pathconf()
4428 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_pathconf()
4430 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_pathconf()
4433 if ((status = decode_attr_maxlink(xdr, bitmap, &pathconf->max_link)) != 0) in decode_pathconf()
4435 if ((status = decode_attr_maxname(xdr, bitmap, &pathconf->max_namelen)) != 0) in decode_pathconf()
4438 status = verify_attr_len(xdr, savep, attrlen); in decode_pathconf()
4444 static int decode_threshold_hint(struct xdr_stream *xdr, in decode_threshold_hint() argument
4453 p = xdr_inline_decode(xdr, 8); in decode_threshold_hint()
4460 print_overflow_msg(__func__, xdr); in decode_threshold_hint()
4464 static int decode_first_threshold_item4(struct xdr_stream *xdr, in decode_first_threshold_item4() argument
4473 p = xdr_inline_decode(xdr, 4); in decode_first_threshold_item4()
4475 print_overflow_msg(__func__, xdr); in decode_first_threshold_item4()
4481 status = decode_attr_bitmap(xdr, bitmap); in decode_first_threshold_item4()
4486 status = decode_attr_length(xdr, &attrlen, &savep); in decode_first_threshold_item4()
4490 status = decode_threshold_hint(xdr, bitmap, &res->rd_sz, THRESHOLD_RD); in decode_first_threshold_item4()
4493 status = decode_threshold_hint(xdr, bitmap, &res->wr_sz, THRESHOLD_WR); in decode_first_threshold_item4()
4496 status = decode_threshold_hint(xdr, bitmap, &res->rd_io_sz, in decode_first_threshold_item4()
4500 status = decode_threshold_hint(xdr, bitmap, &res->wr_io_sz, in decode_first_threshold_item4()
4505 status = verify_attr_len(xdr, savep, attrlen); in decode_first_threshold_item4()
4519 static int decode_attr_mdsthreshold(struct xdr_stream *xdr, in decode_attr_mdsthreshold() argument
4533 p = xdr_inline_decode(xdr, 4); in decode_attr_mdsthreshold()
4544 status = decode_first_threshold_item4(xdr, res); in decode_attr_mdsthreshold()
4549 print_overflow_msg(__func__, xdr); in decode_attr_mdsthreshold()
4553 static int decode_getfattr_attrs(struct xdr_stream *xdr, uint32_t *bitmap, in decode_getfattr_attrs() argument
4563 status = decode_attr_type(xdr, bitmap, &type); in decode_getfattr_attrs()
4572 status = decode_attr_change(xdr, bitmap, &fattr->change_attr); in decode_getfattr_attrs()
4577 status = decode_attr_size(xdr, bitmap, &fattr->size); in decode_getfattr_attrs()
4582 status = decode_attr_fsid(xdr, bitmap, &fattr->fsid); in decode_getfattr_attrs()
4588 status = decode_attr_error(xdr, bitmap, &err); in decode_getfattr_attrs()
4592 status = decode_attr_filehandle(xdr, bitmap, fh); in decode_getfattr_attrs()
4596 status = decode_attr_fileid(xdr, bitmap, &fattr->fileid); in decode_getfattr_attrs()
4601 status = decode_attr_fs_locations(xdr, bitmap, fs_loc); in decode_getfattr_attrs()
4610 status = decode_attr_mode(xdr, bitmap, &fmode); in decode_getfattr_attrs()
4618 status = decode_attr_nlink(xdr, bitmap, &fattr->nlink); in decode_getfattr_attrs()
4623 status = decode_attr_owner(xdr, bitmap, server, &fattr->uid, fattr->owner_name); in decode_getfattr_attrs()
4628 status = decode_attr_group(xdr, bitmap, server, &fattr->gid, fattr->group_name); in decode_getfattr_attrs()
4633 status = decode_attr_rdev(xdr, bitmap, &fattr->rdev); in decode_getfattr_attrs()
4638 status = decode_attr_space_used(xdr, bitmap, &fattr->du.nfs3.used); in decode_getfattr_attrs()
4643 status = decode_attr_time_access(xdr, bitmap, &fattr->atime); in decode_getfattr_attrs()
4648 status = decode_attr_time_metadata(xdr, bitmap, &fattr->ctime); in decode_getfattr_attrs()
4653 status = decode_attr_time_modify(xdr, bitmap, &fattr->mtime); in decode_getfattr_attrs()
4658 status = decode_attr_mounted_on_fileid(xdr, bitmap, &fattr->mounted_on_fileid); in decode_getfattr_attrs()
4667 status = decode_attr_mdsthreshold(xdr, bitmap, fattr->mdsthreshold); in decode_getfattr_attrs()
4672 status = decode_attr_security_label(xdr, bitmap, label); in decode_getfattr_attrs()
4683 static int decode_getfattr_generic(struct xdr_stream *xdr, struct nfs_fattr *fattr, in decode_getfattr_generic() argument
4692 status = decode_op_hdr(xdr, OP_GETATTR); in decode_getfattr_generic()
4696 status = decode_attr_bitmap(xdr, bitmap); in decode_getfattr_generic()
4700 status = decode_attr_length(xdr, &attrlen, &savep); in decode_getfattr_generic()
4704 status = decode_getfattr_attrs(xdr, bitmap, fattr, fh, fs_loc, in decode_getfattr_generic()
4709 status = verify_attr_len(xdr, savep, attrlen); in decode_getfattr_generic()
4715 static int decode_getfattr_label(struct xdr_stream *xdr, struct nfs_fattr *fattr, in decode_getfattr_label() argument
4718 return decode_getfattr_generic(xdr, fattr, NULL, NULL, label, server); in decode_getfattr_label()
4721 static int decode_getfattr(struct xdr_stream *xdr, struct nfs_fattr *fattr, in decode_getfattr() argument
4724 return decode_getfattr_generic(xdr, fattr, NULL, NULL, NULL, server); in decode_getfattr()
4730 static int decode_pnfs_layout_types(struct xdr_stream *xdr, in decode_pnfs_layout_types() argument
4736 p = xdr_inline_decode(xdr, 4); in decode_pnfs_layout_types()
4746 p = xdr_inline_decode(xdr, fsinfo->nlayouttypes * 4); in decode_pnfs_layout_types()
4761 print_overflow_msg(__func__, xdr); in decode_pnfs_layout_types()
4769 static int decode_attr_pnfstype(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_pnfstype() argument
4778 status = decode_pnfs_layout_types(xdr, fsinfo); in decode_attr_pnfstype()
4787 static int decode_attr_layout_blksize(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_layout_blksize() argument
4795 p = xdr_inline_decode(xdr, 4); in decode_attr_layout_blksize()
4797 print_overflow_msg(__func__, xdr); in decode_attr_layout_blksize()
4809 static int decode_attr_clone_blksize(struct xdr_stream *xdr, uint32_t *bitmap, in decode_attr_clone_blksize() argument
4817 p = xdr_inline_decode(xdr, 4); in decode_attr_clone_blksize()
4819 print_overflow_msg(__func__, xdr); in decode_attr_clone_blksize()
4828 static int decode_fsinfo(struct xdr_stream *xdr, struct nfs_fsinfo *fsinfo) in decode_fsinfo() argument
4834 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_fsinfo()
4836 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_fsinfo()
4838 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_fsinfo()
4843 if ((status = decode_attr_lease_time(xdr, bitmap, &fsinfo->lease_time)) != 0) in decode_fsinfo()
4845 if ((status = decode_attr_maxfilesize(xdr, bitmap, &fsinfo->maxfilesize)) != 0) in decode_fsinfo()
4847 if ((status = decode_attr_maxread(xdr, bitmap, &fsinfo->rtmax)) != 0) in decode_fsinfo()
4850 if ((status = decode_attr_maxwrite(xdr, bitmap, &fsinfo->wtmax)) != 0) in decode_fsinfo()
4858 status = decode_attr_time_delta(xdr, bitmap, &fsinfo->time_delta); in decode_fsinfo()
4861 status = decode_attr_pnfstype(xdr, bitmap, fsinfo); in decode_fsinfo()
4869 status = decode_attr_layout_blksize(xdr, bitmap, &fsinfo->blksize); in decode_fsinfo()
4872 status = decode_attr_clone_blksize(xdr, bitmap, &fsinfo->clone_blksize); in decode_fsinfo()
4876 status = verify_attr_len(xdr, savep, attrlen); in decode_fsinfo()
4882 static int decode_getfh(struct xdr_stream *xdr, struct nfs_fh *fh) in decode_getfh() argument
4891 status = decode_op_hdr(xdr, OP_GETFH); in decode_getfh()
4895 p = xdr_inline_decode(xdr, 4); in decode_getfh()
4902 p = xdr_inline_decode(xdr, len); in decode_getfh()
4908 print_overflow_msg(__func__, xdr); in decode_getfh()
4912 static int decode_link(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_link() argument
4916 status = decode_op_hdr(xdr, OP_LINK); in decode_link()
4919 return decode_change_info(xdr, cinfo); in decode_link()
4925 static int decode_lock_denied (struct xdr_stream *xdr, struct file_lock *fl) in decode_lock_denied() argument
4931 p = xdr_inline_decode(xdr, 32); /* read 32 bytes */ in decode_lock_denied()
4949 p = xdr_inline_decode(xdr, namelen); /* variable size field */ in decode_lock_denied()
4953 print_overflow_msg(__func__, xdr); in decode_lock_denied()
4957 static int decode_lock(struct xdr_stream *xdr, struct nfs_lock_res *res) in decode_lock() argument
4961 status = decode_op_hdr(xdr, OP_LOCK); in decode_lock()
4965 status = decode_lock_stateid(xdr, &res->stateid); in decode_lock()
4969 status = decode_lock_denied(xdr, NULL); in decode_lock()
4977 static int decode_lockt(struct xdr_stream *xdr, struct nfs_lockt_res *res) in decode_lockt() argument
4980 status = decode_op_hdr(xdr, OP_LOCKT); in decode_lockt()
4982 return decode_lock_denied(xdr, res->denied); in decode_lockt()
4986 static int decode_locku(struct xdr_stream *xdr, struct nfs_locku_res *res) in decode_locku() argument
4990 status = decode_op_hdr(xdr, OP_LOCKU); in decode_locku()
4994 status = decode_lock_stateid(xdr, &res->stateid); in decode_locku()
4998 static int decode_release_lockowner(struct xdr_stream *xdr) in decode_release_lockowner() argument
5000 return decode_op_hdr(xdr, OP_RELEASE_LOCKOWNER); in decode_release_lockowner()
5003 static int decode_lookup(struct xdr_stream *xdr) in decode_lookup() argument
5005 return decode_op_hdr(xdr, OP_LOOKUP); in decode_lookup()
5009 static int decode_space_limit(struct xdr_stream *xdr, in decode_space_limit() argument
5016 p = xdr_inline_decode(xdr, 12); in decode_space_limit()
5033 print_overflow_msg(__func__, xdr); in decode_space_limit()
5037 static int decode_rw_delegation(struct xdr_stream *xdr, in decode_rw_delegation() argument
5044 status = decode_delegation_stateid(xdr, &res->delegation); in decode_rw_delegation()
5047 p = xdr_inline_decode(xdr, 4); in decode_rw_delegation()
5058 if (decode_space_limit(xdr, &res->pagemod_limit) < 0) in decode_rw_delegation()
5061 return decode_ace(xdr, NULL, res->server->nfs_client); in decode_rw_delegation()
5063 print_overflow_msg(__func__, xdr); in decode_rw_delegation()
5067 static int decode_no_delegation(struct xdr_stream *xdr, struct nfs_openres *res) in decode_no_delegation() argument
5072 p = xdr_inline_decode(xdr, 4); in decode_no_delegation()
5079 xdr_inline_decode(xdr, 4); in decode_no_delegation()
5084 print_overflow_msg(__func__, xdr); in decode_no_delegation()
5088 static int decode_delegation(struct xdr_stream *xdr, struct nfs_openres *res) in decode_delegation() argument
5093 p = xdr_inline_decode(xdr, 4); in decode_delegation()
5103 return decode_rw_delegation(xdr, delegation_type, res); in decode_delegation()
5105 return decode_no_delegation(xdr, res); in decode_delegation()
5109 print_overflow_msg(__func__, xdr); in decode_delegation()
5113 static int decode_open(struct xdr_stream *xdr, struct nfs_openres *res) in decode_open() argument
5119 if (!__decode_op_hdr(xdr, OP_OPEN, &status)) in decode_open()
5124 status = decode_open_stateid(xdr, &res->stateid); in decode_open()
5128 decode_change_info(xdr, &res->cinfo); in decode_open()
5130 p = xdr_inline_decode(xdr, 8); in decode_open()
5138 p = xdr_inline_decode(xdr, bmlen << 2); in decode_open()
5147 return decode_delegation(xdr, res); in decode_open()
5152 print_overflow_msg(__func__, xdr); in decode_open()
5156 static int decode_open_confirm(struct xdr_stream *xdr, struct nfs_open_confirmres *res) in decode_open_confirm() argument
5160 status = decode_op_hdr(xdr, OP_OPEN_CONFIRM); in decode_open_confirm()
5164 status = decode_open_stateid(xdr, &res->stateid); in decode_open_confirm()
5168 static int decode_open_downgrade(struct xdr_stream *xdr, struct nfs_closeres *res) in decode_open_downgrade() argument
5172 status = decode_op_hdr(xdr, OP_OPEN_DOWNGRADE); in decode_open_downgrade()
5176 status = decode_open_stateid(xdr, &res->stateid); in decode_open_downgrade()
5180 static int decode_putfh(struct xdr_stream *xdr) in decode_putfh() argument
5182 return decode_op_hdr(xdr, OP_PUTFH); in decode_putfh()
5185 static int decode_putrootfh(struct xdr_stream *xdr) in decode_putrootfh() argument
5187 return decode_op_hdr(xdr, OP_PUTROOTFH); in decode_putrootfh()
5190 static int decode_read(struct xdr_stream *xdr, struct rpc_rqst *req, in decode_read() argument
5197 status = decode_op_hdr(xdr, OP_READ); in decode_read()
5200 p = xdr_inline_decode(xdr, 8); in decode_read()
5205 recvd = xdr_read_pages(xdr, count); in decode_read()
5216 print_overflow_msg(__func__, xdr); in decode_read()
5220 static int decode_readdir(struct xdr_stream *xdr, struct rpc_rqst *req, struct nfs4_readdir_res *re… in decode_readdir() argument
5225 status = decode_op_hdr(xdr, OP_READDIR); in decode_readdir()
5227 status = decode_verifier(xdr, readdir->verifier.data); in decode_readdir()
5233 return xdr_read_pages(xdr, xdr->buf->page_len); in decode_readdir()
5236 static int decode_readlink(struct xdr_stream *xdr, struct rpc_rqst *req) in decode_readlink() argument
5243 status = decode_op_hdr(xdr, OP_READLINK); in decode_readlink()
5248 p = xdr_inline_decode(xdr, 4); in decode_readlink()
5256 recvd = xdr_read_pages(xdr, len); in decode_readlink()
5272 print_overflow_msg(__func__, xdr); in decode_readlink()
5276 static int decode_remove(struct xdr_stream *xdr, struct nfs4_change_info *cinfo) in decode_remove() argument
5280 status = decode_op_hdr(xdr, OP_REMOVE); in decode_remove()
5283 status = decode_change_info(xdr, cinfo); in decode_remove()
5288 static int decode_rename(struct xdr_stream *xdr, struct nfs4_change_info *old_cinfo, in decode_rename() argument
5293 status = decode_op_hdr(xdr, OP_RENAME); in decode_rename()
5296 if ((status = decode_change_info(xdr, old_cinfo))) in decode_rename()
5298 status = decode_change_info(xdr, new_cinfo); in decode_rename()
5303 static int decode_renew(struct xdr_stream *xdr) in decode_renew() argument
5305 return decode_op_hdr(xdr, OP_RENEW); in decode_renew()
5309 decode_restorefh(struct xdr_stream *xdr) in decode_restorefh() argument
5311 return decode_op_hdr(xdr, OP_RESTOREFH); in decode_restorefh()
5314 static int decode_getacl(struct xdr_stream *xdr, struct rpc_rqst *req, in decode_getacl() argument
5324 if ((status = decode_op_hdr(xdr, OP_GETATTR)) != 0) in decode_getacl()
5327 xdr_enter_page(xdr, xdr->buf->page_len); in decode_getacl()
5330 pg_offset = xdr->buf->head[0].iov_len; in decode_getacl()
5332 if ((status = decode_attr_bitmap(xdr, bitmap)) != 0) in decode_getacl()
5334 if ((status = decode_attr_length(xdr, &attrlen, &savep)) != 0) in decode_getacl()
5344 res->acl_data_offset = xdr_stream_pos(xdr) - pg_offset; in decode_getacl()
5348 if (res->acl_len > (xdr->nwords << 2) || in decode_getacl()
5349 res->acl_len + res->acl_data_offset > xdr->buf->page_len) { in decode_getacl()
5352 attrlen, xdr->nwords << 2); in decode_getacl()
5362 decode_savefh(struct xdr_stream *xdr) in decode_savefh() argument
5364 return decode_op_hdr(xdr, OP_SAVEFH); in decode_savefh()
5367 static int decode_setattr(struct xdr_stream *xdr) in decode_setattr() argument
5373 status = decode_op_hdr(xdr, OP_SETATTR); in decode_setattr()
5376 p = xdr_inline_decode(xdr, 4); in decode_setattr()
5380 p = xdr_inline_decode(xdr, bmlen << 2); in decode_setattr()
5384 print_overflow_msg(__func__, xdr); in decode_setattr()
5388 static int decode_setclientid(struct xdr_stream *xdr, struct nfs4_setclientid_res *res) in decode_setclientid() argument
5394 p = xdr_inline_decode(xdr, 8); in decode_setclientid()
5405 p = xdr_inline_decode(xdr, 8 + NFS4_VERIFIER_SIZE); in decode_setclientid()
5414 p = xdr_inline_decode(xdr, 4); in decode_setclientid()
5418 p = xdr_inline_decode(xdr, len); in decode_setclientid()
5423 p = xdr_inline_decode(xdr, 4); in decode_setclientid()
5427 p = xdr_inline_decode(xdr, len); in decode_setclientid()
5436 print_overflow_msg(__func__, xdr); in decode_setclientid()
5440 static int decode_setclientid_confirm(struct xdr_stream *xdr) in decode_setclientid_confirm() argument
5442 return decode_op_hdr(xdr, OP_SETCLIENTID_CONFIRM); in decode_setclientid_confirm()
5445 static int decode_write(struct xdr_stream *xdr, struct nfs_pgio_res *res) in decode_write() argument
5450 status = decode_op_hdr(xdr, OP_WRITE); in decode_write()
5454 p = xdr_inline_decode(xdr, 8); in decode_write()
5459 return decode_write_verifier(xdr, &res->verf->verifier); in decode_write()
5461 print_overflow_msg(__func__, xdr); in decode_write()
5465 static int decode_delegreturn(struct xdr_stream *xdr) in decode_delegreturn() argument
5467 return decode_op_hdr(xdr, OP_DELEGRETURN); in decode_delegreturn()
5470 static int decode_secinfo_gss(struct xdr_stream *xdr, in decode_secinfo_gss() argument
5476 p = xdr_inline_decode(xdr, 4); in decode_secinfo_gss()
5483 p = xdr_inline_decode(xdr, oid_len); in decode_secinfo_gss()
5489 p = xdr_inline_decode(xdr, 8); in decode_secinfo_gss()
5498 print_overflow_msg(__func__, xdr); in decode_secinfo_gss()
5504 static int decode_secinfo_common(struct xdr_stream *xdr, struct nfs4_secinfo_res *res) in decode_secinfo_common() argument
5511 p = xdr_inline_decode(xdr, 4); in decode_secinfo_common()
5523 p = xdr_inline_decode(xdr, 4); in decode_secinfo_common()
5529 status = decode_secinfo_gss(xdr, sec_flavor); in decode_secinfo_common()
5540 print_overflow_msg(__func__, xdr); in decode_secinfo_common()
5544 static int decode_secinfo(struct xdr_stream *xdr, struct nfs4_secinfo_res *res) in decode_secinfo() argument
5546 int status = decode_op_hdr(xdr, OP_SECINFO); in decode_secinfo()
5549 return decode_secinfo_common(xdr, res); in decode_secinfo()
5553 static int decode_secinfo_no_name(struct xdr_stream *xdr, struct nfs4_secinfo_res *res) in decode_secinfo_no_name() argument
5555 int status = decode_op_hdr(xdr, OP_SECINFO_NO_NAME); in decode_secinfo_no_name()
5558 return decode_secinfo_common(xdr, res); in decode_secinfo_no_name()
5561 static int decode_op_map(struct xdr_stream *xdr, struct nfs4_op_map *op_map) in decode_op_map() argument
5567 p = xdr_inline_decode(xdr, 4); in decode_op_map()
5571 p = xdr_inline_decode(xdr, 4 * bitmap_words); in decode_op_map()
5578 static int decode_exchange_id(struct xdr_stream *xdr, in decode_exchange_id() argument
5587 status = decode_op_hdr(xdr, OP_EXCHANGE_ID); in decode_exchange_id()
5591 p = xdr_inline_decode(xdr, 8); in decode_exchange_id()
5595 p = xdr_inline_decode(xdr, 12); in decode_exchange_id()
5606 status = decode_op_map(xdr, &res->state_protect.enforce); in decode_exchange_id()
5609 status = decode_op_map(xdr, &res->state_protect.allow); in decode_exchange_id()
5619 p = xdr_inline_decode(xdr, 8); in decode_exchange_id()
5625 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5634 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5643 p = xdr_inline_decode(xdr, 4); in decode_exchange_id()
5650 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5658 status = decode_opaque_inline(xdr, &dummy, &dummy_str); in decode_exchange_id()
5666 p = xdr_inline_decode(xdr, 12); in decode_exchange_id()
5676 print_overflow_msg(__func__, xdr); in decode_exchange_id()
5680 static int decode_chan_attrs(struct xdr_stream *xdr, in decode_chan_attrs() argument
5686 p = xdr_inline_decode(xdr, 28); in decode_chan_attrs()
5704 p = xdr_inline_decode(xdr, 4); /* skip rdma_attrs */ in decode_chan_attrs()
5710 print_overflow_msg(__func__, xdr); in decode_chan_attrs()
5714 static int decode_sessionid(struct xdr_stream *xdr, struct nfs4_sessionid *sid) in decode_sessionid() argument
5716 return decode_opaque_fixed(xdr, sid->data, NFS4_MAX_SESSIONID_LEN); in decode_sessionid()
5719 static int decode_bind_conn_to_session(struct xdr_stream *xdr, in decode_bind_conn_to_session() argument
5725 status = decode_op_hdr(xdr, OP_BIND_CONN_TO_SESSION); in decode_bind_conn_to_session()
5727 status = decode_sessionid(xdr, &res->sessionid); in decode_bind_conn_to_session()
5732 p = xdr_inline_decode(xdr, 8); in decode_bind_conn_to_session()
5746 print_overflow_msg(__func__, xdr); in decode_bind_conn_to_session()
5750 static int decode_create_session(struct xdr_stream *xdr, in decode_create_session() argument
5756 status = decode_op_hdr(xdr, OP_CREATE_SESSION); in decode_create_session()
5758 status = decode_sessionid(xdr, &res->sessionid); in decode_create_session()
5763 p = xdr_inline_decode(xdr, 8); in decode_create_session()
5770 status = decode_chan_attrs(xdr, &res->fc_attrs); in decode_create_session()
5772 status = decode_chan_attrs(xdr, &res->bc_attrs); in decode_create_session()
5775 print_overflow_msg(__func__, xdr); in decode_create_session()
5779 static int decode_destroy_session(struct xdr_stream *xdr, void *dummy) in decode_destroy_session() argument
5781 return decode_op_hdr(xdr, OP_DESTROY_SESSION); in decode_destroy_session()
5784 static int decode_destroy_clientid(struct xdr_stream *xdr, void *dummy) in decode_destroy_clientid() argument
5786 return decode_op_hdr(xdr, OP_DESTROY_CLIENTID); in decode_destroy_clientid()
5789 static int decode_reclaim_complete(struct xdr_stream *xdr, void *dummy) in decode_reclaim_complete() argument
5791 return decode_op_hdr(xdr, OP_RECLAIM_COMPLETE); in decode_reclaim_complete()
5795 static int decode_sequence(struct xdr_stream *xdr, in decode_sequence() argument
5811 status = decode_op_hdr(xdr, OP_SEQUENCE); in decode_sequence()
5813 status = decode_sessionid(xdr, &id); in decode_sequence()
5830 p = xdr_inline_decode(xdr, 20); in decode_sequence()
5857 print_overflow_msg(__func__, xdr); in decode_sequence()
5866 static int decode_layout_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid) in decode_layout_stateid() argument
5869 return decode_stateid(xdr, stateid); in decode_layout_stateid()
5872 static int decode_getdeviceinfo(struct xdr_stream *xdr, in decode_getdeviceinfo() argument
5880 status = decode_op_hdr(xdr, OP_GETDEVICEINFO); in decode_getdeviceinfo()
5883 p = xdr_inline_decode(xdr, 4); in decode_getdeviceinfo()
5893 p = xdr_inline_decode(xdr, 8); in decode_getdeviceinfo()
5908 if (xdr_read_pages(xdr, pdev->mincount) != pdev->mincount) in decode_getdeviceinfo()
5912 p = xdr_inline_decode(xdr, 4); in decode_getdeviceinfo()
5919 p = xdr_inline_decode(xdr, 4 * len); in decode_getdeviceinfo()
5934 print_overflow_msg(__func__, xdr); in decode_getdeviceinfo()
5938 static int decode_layoutget(struct xdr_stream *xdr, struct rpc_rqst *req, in decode_layoutget() argument
5946 status = decode_op_hdr(xdr, OP_LAYOUTGET); in decode_layoutget()
5949 p = xdr_inline_decode(xdr, 4); in decode_layoutget()
5953 decode_layout_stateid(xdr, &res->stateid); in decode_layoutget()
5954 p = xdr_inline_decode(xdr, 4); in decode_layoutget()
5964 p = xdr_inline_decode(xdr, 28); in decode_layoutget()
5981 recvd = xdr_read_pages(xdr, res->layoutp->len); in decode_layoutget()
6001 print_overflow_msg(__func__, xdr); in decode_layoutget()
6005 static int decode_layoutreturn(struct xdr_stream *xdr, in decode_layoutreturn() argument
6011 status = decode_op_hdr(xdr, OP_LAYOUTRETURN); in decode_layoutreturn()
6014 p = xdr_inline_decode(xdr, 4); in decode_layoutreturn()
6019 status = decode_layout_stateid(xdr, &res->stateid); in decode_layoutreturn()
6022 print_overflow_msg(__func__, xdr); in decode_layoutreturn()
6026 static int decode_layoutcommit(struct xdr_stream *xdr, in decode_layoutcommit() argument
6034 status = decode_op_hdr(xdr, OP_LAYOUTCOMMIT); in decode_layoutcommit()
6039 p = xdr_inline_decode(xdr, 4); in decode_layoutcommit()
6046 p = xdr_inline_decode(xdr, 8); in decode_layoutcommit()
6052 print_overflow_msg(__func__, xdr); in decode_layoutcommit()
6056 static int decode_test_stateid(struct xdr_stream *xdr, in decode_test_stateid() argument
6063 status = decode_op_hdr(xdr, OP_TEST_STATEID); in decode_test_stateid()
6067 p = xdr_inline_decode(xdr, 4); in decode_test_stateid()
6074 p = xdr_inline_decode(xdr, 4); in decode_test_stateid()
6081 print_overflow_msg(__func__, xdr); in decode_test_stateid()
6086 static int decode_free_stateid(struct xdr_stream *xdr, in decode_free_stateid() argument
6089 res->status = decode_op_hdr(xdr, OP_FREE_STATEID); in decode_free_stateid()
6102 struct xdr_stream *xdr, in nfs4_xdr_dec_open_downgrade() argument
6108 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open_downgrade()
6111 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_open_downgrade()
6114 status = decode_putfh(xdr); in nfs4_xdr_dec_open_downgrade()
6117 status = decode_open_downgrade(xdr, res); in nfs4_xdr_dec_open_downgrade()
6120 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_open_downgrade()
6128 static int nfs4_xdr_dec_access(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_access() argument
6134 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_access()
6137 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_access()
6140 status = decode_putfh(xdr); in nfs4_xdr_dec_access()
6143 status = decode_access(xdr, &res->supported, &res->access); in nfs4_xdr_dec_access()
6146 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_access()
6154 static int nfs4_xdr_dec_lookup(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_lookup() argument
6160 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lookup()
6163 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lookup()
6166 status = decode_putfh(xdr); in nfs4_xdr_dec_lookup()
6169 status = decode_lookup(xdr); in nfs4_xdr_dec_lookup()
6172 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_lookup()
6175 status = decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_lookup()
6184 struct xdr_stream *xdr, in nfs4_xdr_dec_lookup_root() argument
6190 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lookup_root()
6193 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lookup_root()
6196 status = decode_putrootfh(xdr); in nfs4_xdr_dec_lookup_root()
6199 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_lookup_root()
6201 status = decode_getfattr_label(xdr, res->fattr, in nfs4_xdr_dec_lookup_root()
6210 static int nfs4_xdr_dec_remove(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_remove() argument
6216 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_remove()
6219 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_remove()
6222 status = decode_putfh(xdr); in nfs4_xdr_dec_remove()
6225 status = decode_remove(xdr, &res->cinfo); in nfs4_xdr_dec_remove()
6233 static int nfs4_xdr_dec_rename(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_rename() argument
6239 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_rename()
6242 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_rename()
6245 status = decode_putfh(xdr); in nfs4_xdr_dec_rename()
6248 status = decode_savefh(xdr); in nfs4_xdr_dec_rename()
6251 status = decode_putfh(xdr); in nfs4_xdr_dec_rename()
6254 status = decode_rename(xdr, &res->old_cinfo, &res->new_cinfo); in nfs4_xdr_dec_rename()
6262 static int nfs4_xdr_dec_link(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_link() argument
6268 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_link()
6271 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_link()
6274 status = decode_putfh(xdr); in nfs4_xdr_dec_link()
6277 status = decode_savefh(xdr); in nfs4_xdr_dec_link()
6280 status = decode_putfh(xdr); in nfs4_xdr_dec_link()
6283 status = decode_link(xdr, &res->cinfo); in nfs4_xdr_dec_link()
6290 status = decode_restorefh(xdr); in nfs4_xdr_dec_link()
6293 decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_link()
6301 static int nfs4_xdr_dec_create(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_create() argument
6307 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_create()
6310 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_create()
6313 status = decode_putfh(xdr); in nfs4_xdr_dec_create()
6316 status = decode_create(xdr, &res->dir_cinfo); in nfs4_xdr_dec_create()
6319 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_create()
6322 decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_create()
6330 static int nfs4_xdr_dec_symlink(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_symlink() argument
6333 return nfs4_xdr_dec_create(rqstp, xdr, res); in nfs4_xdr_dec_symlink()
6339 static int nfs4_xdr_dec_getattr(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_getattr() argument
6345 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_getattr()
6348 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_getattr()
6351 status = decode_putfh(xdr); in nfs4_xdr_dec_getattr()
6354 status = decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_getattr()
6362 static void nfs4_xdr_enc_setacl(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_enc_setacl() argument
6369 encode_compound_hdr(xdr, req, &hdr); in nfs4_xdr_enc_setacl()
6370 encode_sequence(xdr, &args->seq_args, &hdr); in nfs4_xdr_enc_setacl()
6371 encode_putfh(xdr, args->fh, &hdr); in nfs4_xdr_enc_setacl()
6372 encode_setacl(xdr, args, &hdr); in nfs4_xdr_enc_setacl()
6380 nfs4_xdr_dec_setacl(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_setacl() argument
6386 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setacl()
6389 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_setacl()
6392 status = decode_putfh(xdr); in nfs4_xdr_dec_setacl()
6395 status = decode_setattr(xdr); in nfs4_xdr_dec_setacl()
6404 nfs4_xdr_dec_getacl(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_getacl() argument
6412 xdr_set_scratch_buffer(xdr, p, PAGE_SIZE); in nfs4_xdr_dec_getacl()
6414 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_getacl()
6417 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_getacl()
6420 status = decode_putfh(xdr); in nfs4_xdr_dec_getacl()
6423 status = decode_getacl(xdr, rqstp, res); in nfs4_xdr_dec_getacl()
6432 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()
6447 status = decode_close(xdr, res); in nfs4_xdr_dec_close()
6456 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_close()
6464 static int nfs4_xdr_dec_open(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_open() argument
6470 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open()
6473 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_open()
6476 status = decode_putfh(xdr); in nfs4_xdr_dec_open()
6479 status = decode_open(xdr, res); in nfs4_xdr_dec_open()
6482 status = decode_getfh(xdr, &res->fh); in nfs4_xdr_dec_open()
6486 decode_access(xdr, &res->access_supported, &res->access_result); in nfs4_xdr_dec_open()
6487 decode_getfattr_label(xdr, res->f_attr, res->f_label, res->server); in nfs4_xdr_dec_open()
6496 struct xdr_stream *xdr, in nfs4_xdr_dec_open_confirm() argument
6502 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open_confirm()
6505 status = decode_putfh(xdr); in nfs4_xdr_dec_open_confirm()
6508 status = decode_open_confirm(xdr, res); in nfs4_xdr_dec_open_confirm()
6517 struct xdr_stream *xdr, in nfs4_xdr_dec_open_noattr() argument
6523 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_open_noattr()
6526 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_open_noattr()
6529 status = decode_putfh(xdr); in nfs4_xdr_dec_open_noattr()
6532 status = decode_open(xdr, res); in nfs4_xdr_dec_open_noattr()
6536 decode_access(xdr, &res->access_supported, &res->access_result); in nfs4_xdr_dec_open_noattr()
6537 decode_getfattr(xdr, res->f_attr, res->server); in nfs4_xdr_dec_open_noattr()
6546 struct xdr_stream *xdr, in nfs4_xdr_dec_setattr() argument
6552 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setattr()
6555 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_setattr()
6558 status = decode_putfh(xdr); in nfs4_xdr_dec_setattr()
6561 status = decode_setattr(xdr); in nfs4_xdr_dec_setattr()
6564 decode_getfattr_label(xdr, res->fattr, res->label, res->server); in nfs4_xdr_dec_setattr()
6572 static int nfs4_xdr_dec_lock(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_lock() argument
6578 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lock()
6581 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lock()
6584 status = decode_putfh(xdr); in nfs4_xdr_dec_lock()
6587 status = decode_lock(xdr, res); in nfs4_xdr_dec_lock()
6595 static int nfs4_xdr_dec_lockt(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_lockt() argument
6601 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_lockt()
6604 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_lockt()
6607 status = decode_putfh(xdr); in nfs4_xdr_dec_lockt()
6610 status = decode_lockt(xdr, res); in nfs4_xdr_dec_lockt()
6618 static int nfs4_xdr_dec_locku(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_locku() argument
6624 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_locku()
6627 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_locku()
6630 status = decode_putfh(xdr); in nfs4_xdr_dec_locku()
6633 status = decode_locku(xdr, res); in nfs4_xdr_dec_locku()
6639 struct xdr_stream *xdr, void *dummy) in nfs4_xdr_dec_release_lockowner() argument
6644 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_release_lockowner()
6646 status = decode_release_lockowner(xdr); in nfs4_xdr_dec_release_lockowner()
6654 struct xdr_stream *xdr, in nfs4_xdr_dec_readlink() argument
6660 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_readlink()
6663 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_readlink()
6666 status = decode_putfh(xdr); in nfs4_xdr_dec_readlink()
6669 status = decode_readlink(xdr, rqstp); in nfs4_xdr_dec_readlink()
6677 static int nfs4_xdr_dec_readdir(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_readdir() argument
6683 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_readdir()
6686 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_readdir()
6689 status = decode_putfh(xdr); in nfs4_xdr_dec_readdir()
6692 status = decode_readdir(xdr, rqstp, res); in nfs4_xdr_dec_readdir()
6700 static int nfs4_xdr_dec_read(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_read() argument
6706 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_read()
6710 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_read()
6713 status = decode_putfh(xdr); in nfs4_xdr_dec_read()
6716 status = decode_read(xdr, rqstp, res); in nfs4_xdr_dec_read()
6726 static int nfs4_xdr_dec_write(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_write() argument
6732 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_write()
6736 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_write()
6739 status = decode_putfh(xdr); in nfs4_xdr_dec_write()
6742 status = decode_write(xdr, res); in nfs4_xdr_dec_write()
6746 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_write()
6756 static int nfs4_xdr_dec_commit(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_commit() argument
6762 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_commit()
6766 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_commit()
6769 status = decode_putfh(xdr); in nfs4_xdr_dec_commit()
6772 status = decode_commit(xdr, res); in nfs4_xdr_dec_commit()
6780 static int nfs4_xdr_dec_fsinfo(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_dec_fsinfo() argument
6786 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_fsinfo()
6788 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_fsinfo()
6790 status = decode_putfh(xdr); in nfs4_xdr_dec_fsinfo()
6792 status = decode_fsinfo(xdr, res->fsinfo); in nfs4_xdr_dec_fsinfo()
6799 static int nfs4_xdr_dec_pathconf(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_dec_pathconf() argument
6805 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_pathconf()
6807 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_pathconf()
6809 status = decode_putfh(xdr); in nfs4_xdr_dec_pathconf()
6811 status = decode_pathconf(xdr, res->pathconf); in nfs4_xdr_dec_pathconf()
6818 static int nfs4_xdr_dec_statfs(struct rpc_rqst *req, struct xdr_stream *xdr, in nfs4_xdr_dec_statfs() argument
6824 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_statfs()
6826 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_statfs()
6828 status = decode_putfh(xdr); in nfs4_xdr_dec_statfs()
6830 status = decode_statfs(xdr, res->fsstat); in nfs4_xdr_dec_statfs()
6838 struct xdr_stream *xdr, in nfs4_xdr_dec_server_caps() argument
6844 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_server_caps()
6847 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_server_caps()
6850 status = decode_putfh(xdr); in nfs4_xdr_dec_server_caps()
6853 status = decode_server_caps(xdr, res); in nfs4_xdr_dec_server_caps()
6861 static int nfs4_xdr_dec_renew(struct rpc_rqst *rqstp, struct xdr_stream *xdr, in nfs4_xdr_dec_renew() argument
6867 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_renew()
6869 status = decode_renew(xdr); in nfs4_xdr_dec_renew()
6877 struct xdr_stream *xdr, in nfs4_xdr_dec_setclientid() argument
6883 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setclientid()
6885 status = decode_setclientid(xdr, res); in nfs4_xdr_dec_setclientid()
6893 struct xdr_stream *xdr) in nfs4_xdr_dec_setclientid_confirm() argument
6898 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_setclientid_confirm()
6900 status = decode_setclientid_confirm(xdr); in nfs4_xdr_dec_setclientid_confirm()
6908 struct xdr_stream *xdr, in nfs4_xdr_dec_delegreturn() argument
6914 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_delegreturn()
6917 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_delegreturn()
6920 status = decode_putfh(xdr); in nfs4_xdr_dec_delegreturn()
6923 status = decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_delegreturn()
6926 status = decode_delegreturn(xdr); in nfs4_xdr_dec_delegreturn()
6935 struct xdr_stream *xdr, in nfs4_xdr_dec_fs_locations() argument
6941 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_fs_locations()
6944 status = decode_sequence(xdr, &res->seq_res, req); in nfs4_xdr_dec_fs_locations()
6947 status = decode_putfh(xdr); in nfs4_xdr_dec_fs_locations()
6951 xdr_enter_page(xdr, PAGE_SIZE); in nfs4_xdr_dec_fs_locations()
6952 status = decode_getfattr_generic(xdr, in nfs4_xdr_dec_fs_locations()
6959 status = decode_renew(xdr); in nfs4_xdr_dec_fs_locations()
6961 status = decode_lookup(xdr); in nfs4_xdr_dec_fs_locations()
6964 xdr_enter_page(xdr, PAGE_SIZE); in nfs4_xdr_dec_fs_locations()
6965 status = decode_getfattr_generic(xdr, in nfs4_xdr_dec_fs_locations()
6978 struct xdr_stream *xdr, in nfs4_xdr_dec_secinfo() argument
6984 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_secinfo()
6987 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_secinfo()
6990 status = decode_putfh(xdr); in nfs4_xdr_dec_secinfo()
6993 status = decode_secinfo(xdr, res); in nfs4_xdr_dec_secinfo()
7002 struct xdr_stream *xdr, in nfs4_xdr_dec_fsid_present() argument
7008 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_fsid_present()
7011 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_fsid_present()
7014 status = decode_putfh(xdr); in nfs4_xdr_dec_fsid_present()
7017 status = decode_getfh(xdr, res->fh); in nfs4_xdr_dec_fsid_present()
7021 status = decode_renew(xdr); in nfs4_xdr_dec_fsid_present()
7031 struct xdr_stream *xdr, in nfs4_xdr_dec_bind_conn_to_session() argument
7037 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_bind_conn_to_session()
7039 status = decode_bind_conn_to_session(xdr, res); in nfs4_xdr_dec_bind_conn_to_session()
7047 struct xdr_stream *xdr, in nfs4_xdr_dec_exchange_id() argument
7053 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_exchange_id()
7055 status = decode_exchange_id(xdr, res); in nfs4_xdr_dec_exchange_id()
7063 struct xdr_stream *xdr, in nfs4_xdr_dec_create_session() argument
7069 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_create_session()
7071 status = decode_create_session(xdr, res); in nfs4_xdr_dec_create_session()
7079 struct xdr_stream *xdr, in nfs4_xdr_dec_destroy_session() argument
7085 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_destroy_session()
7087 status = decode_destroy_session(xdr, res); in nfs4_xdr_dec_destroy_session()
7095 struct xdr_stream *xdr, in nfs4_xdr_dec_destroy_clientid() argument
7101 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_destroy_clientid()
7103 status = decode_destroy_clientid(xdr, res); in nfs4_xdr_dec_destroy_clientid()
7111 struct xdr_stream *xdr, in nfs4_xdr_dec_sequence() argument
7117 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_sequence()
7119 status = decode_sequence(xdr, res, rqstp); in nfs4_xdr_dec_sequence()
7127 struct xdr_stream *xdr, in nfs4_xdr_dec_get_lease_time() argument
7133 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_get_lease_time()
7135 status = decode_sequence(xdr, &res->lr_seq_res, rqstp); in nfs4_xdr_dec_get_lease_time()
7137 status = decode_putrootfh(xdr); in nfs4_xdr_dec_get_lease_time()
7139 status = decode_fsinfo(xdr, res->lr_fsinfo); in nfs4_xdr_dec_get_lease_time()
7147 struct xdr_stream *xdr, in nfs4_xdr_dec_reclaim_complete() argument
7153 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_reclaim_complete()
7155 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_reclaim_complete()
7157 status = decode_reclaim_complete(xdr, NULL); in nfs4_xdr_dec_reclaim_complete()
7165 struct xdr_stream *xdr, in nfs4_xdr_dec_getdeviceinfo() argument
7171 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_getdeviceinfo()
7174 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_getdeviceinfo()
7177 status = decode_getdeviceinfo(xdr, res); in nfs4_xdr_dec_getdeviceinfo()
7186 struct xdr_stream *xdr, in nfs4_xdr_dec_layoutget() argument
7192 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_layoutget()
7195 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_layoutget()
7198 status = decode_putfh(xdr); in nfs4_xdr_dec_layoutget()
7201 status = decode_layoutget(xdr, rqstp, res); in nfs4_xdr_dec_layoutget()
7210 struct xdr_stream *xdr, in nfs4_xdr_dec_layoutreturn() argument
7216 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_layoutreturn()
7219 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_layoutreturn()
7222 status = decode_putfh(xdr); in nfs4_xdr_dec_layoutreturn()
7225 status = decode_layoutreturn(xdr, res); in nfs4_xdr_dec_layoutreturn()
7234 struct xdr_stream *xdr, in nfs4_xdr_dec_layoutcommit() argument
7240 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_layoutcommit()
7243 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_layoutcommit()
7246 status = decode_putfh(xdr); in nfs4_xdr_dec_layoutcommit()
7249 status = decode_layoutcommit(xdr, rqstp, res); in nfs4_xdr_dec_layoutcommit()
7252 decode_getfattr(xdr, res->fattr, res->server); in nfs4_xdr_dec_layoutcommit()
7261 struct xdr_stream *xdr, in nfs4_xdr_dec_secinfo_no_name() argument
7267 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_secinfo_no_name()
7270 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_secinfo_no_name()
7273 status = decode_putrootfh(xdr); in nfs4_xdr_dec_secinfo_no_name()
7276 status = decode_secinfo_no_name(xdr, res); in nfs4_xdr_dec_secinfo_no_name()
7285 struct xdr_stream *xdr, in nfs4_xdr_dec_test_stateid() argument
7291 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_test_stateid()
7294 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_test_stateid()
7297 status = decode_test_stateid(xdr, res); in nfs4_xdr_dec_test_stateid()
7306 struct xdr_stream *xdr, in nfs4_xdr_dec_free_stateid() argument
7312 status = decode_compound_hdr(xdr, &hdr); in nfs4_xdr_dec_free_stateid()
7315 status = decode_sequence(xdr, &res->seq_res, rqstp); in nfs4_xdr_dec_free_stateid()
7318 status = decode_free_stateid(xdr, res); in nfs4_xdr_dec_free_stateid()
7338 int nfs4_decode_dirent(struct xdr_stream *xdr, struct nfs_entry *entry, in nfs4_decode_dirent() argument
7344 __be32 *p = xdr_inline_decode(xdr, 4); in nfs4_decode_dirent()
7348 p = xdr_inline_decode(xdr, 4); in nfs4_decode_dirent()
7357 p = xdr_inline_decode(xdr, 12); in nfs4_decode_dirent()
7364 p = xdr_inline_decode(xdr, entry->len); in nfs4_decode_dirent()
7377 if (decode_attr_bitmap(xdr, bitmap) < 0) in nfs4_decode_dirent()
7380 if (decode_attr_length(xdr, &len, &savep) < 0) in nfs4_decode_dirent()
7383 if (decode_getfattr_attrs(xdr, bitmap, entry->fattr, entry->fh, in nfs4_decode_dirent()
7398 print_overflow_msg(__func__, xdr); in nfs4_decode_dirent()