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.
Showing the changes to include/linux (1 of 3 files). Show all
Unified · Split
| @@ -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 | #endif | 1501 | |
| 1502 | struct 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 | |||
| 1511 | struct nfs42_setxattrres { | ||
| 1512 | struct nfs4_sequence_res seq_res; | ||
| 1513 | struct nfs4_change_info cinfo; | ||
| 1514 | }; | ||
| 1515 | |||
| 1516 | struct 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 | |||
| 1524 | struct nfs42_getxattrres { | ||
| 1525 | struct nfs4_sequence_res seq_res; | ||
| 1526 | size_t xattr_len; | ||
| 1527 | }; | ||
| 1528 | |||
| 1529 | struct 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 | |||
| 1537 | struct 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 | |||
| 1547 | struct nfs42_removexattrargs { | ||
| 1548 | struct nfs4_sequence_args seq_args; | ||
| 1549 | struct nfs_fh *fh; | ||
| 1550 | const char *xattr_name; | ||
| 1551 | }; | ||
| 1552 | |||
| 1553 | struct 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 | ||
| 1503 | struct nfs_page; | 1560 | struct nfs_page; |
| 1504 | 1561 | ||