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 | 1498 | u32 sr_eof; |
| 1499 | 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 | 1560 | struct nfs_page; |
| 1504 | 1561 | |