History

NFSv4.2: add client side XDR handling for extended attributes

Define the argument and response structures that will be used for RFC 8276 extended attribute RPC calls, and implement the necessary functions to encode/decode the extended attribute operations.

Frank van der Linden committed 6 years ago

Commit 3e1f0211 parent b78ef843 files · +430 −3Browse files

Showing the changes to include/linux (1 of 3 files). Show all

Unified · Split

include/linux/nfs_xdr.h+58−1
@@ -1498,7 +1498,64 @@ struct nfs42_seek_res { · 1497 unmodified lines
1498 u32 sr_eof;1498 u32 sr_eof;
1499 u64 sr_offset;1499 u64 sr_offset;
1500};1500};
1501#endif1501
1502struct nfs42_setxattrargs {
1503 struct nfs4_sequence_args seq_args;
1504 struct nfs_fh *fh;
1505 const char *xattr_name;
1506 u32 xattr_flags;
1507 size_t xattr_len;
1508 struct page **xattr_pages;
1509};
1510
1511struct nfs42_setxattrres {
1512 struct nfs4_sequence_res seq_res;
1513 struct nfs4_change_info cinfo;
1514};
1515
1516struct nfs42_getxattrargs {
1517 struct nfs4_sequence_args seq_args;
1518 struct nfs_fh *fh;
1519 const char *xattr_name;
1520 size_t xattr_len;
1521 struct page **xattr_pages;
1522};
1523
1524struct nfs42_getxattrres {
1525 struct nfs4_sequence_res seq_res;
1526 size_t xattr_len;
1527};
1528
1529struct nfs42_listxattrsargs {
1530 struct nfs4_sequence_args seq_args;
1531 struct nfs_fh *fh;
1532 u32 count;
1533 u64 cookie;
1534 struct page **xattr_pages;
1535};
1536
1537struct nfs42_listxattrsres {
1538 struct nfs4_sequence_res seq_res;
1539 struct page *scratch;
1540 void *xattr_buf;
1541 size_t xattr_len;
1542 u64 cookie;
1543 bool eof;
1544 size_t copied;
1545};
1546
1547struct nfs42_removexattrargs {
1548 struct nfs4_sequence_args seq_args;
1549 struct nfs_fh *fh;
1550 const char *xattr_name;
1551};
1552
1553struct nfs42_removexattrres {
1554 struct nfs4_sequence_res seq_res;
1555 struct nfs4_change_info cinfo;
1556};
1557
1558#endif /* CONFIG_NFS_V4_2 */
1502 1559
1503struct nfs_page;1560struct nfs_page;
1504 1561