diff options
Diffstat (limited to 'include/linux/nfs4.h')
| -rw-r--r-- | include/linux/nfs4.h | 65 |
1 files changed, 63 insertions, 2 deletions
diff --git a/include/linux/nfs4.h b/include/linux/nfs4.h index 07e40c625972..4925b22219d2 100644 --- a/include/linux/nfs4.h +++ b/include/linux/nfs4.h | |||
| @@ -17,7 +17,9 @@ | |||
| 17 | 17 | ||
| 18 | #define NFS4_BITMAP_SIZE 2 | 18 | #define NFS4_BITMAP_SIZE 2 |
| 19 | #define NFS4_VERIFIER_SIZE 8 | 19 | #define NFS4_VERIFIER_SIZE 8 |
| 20 | #define NFS4_STATEID_SIZE 16 | 20 | #define NFS4_STATEID_SEQID_SIZE 4 |
| 21 | #define NFS4_STATEID_OTHER_SIZE 12 | ||
| 22 | #define NFS4_STATEID_SIZE (NFS4_STATEID_SEQID_SIZE + NFS4_STATEID_OTHER_SIZE) | ||
| 21 | #define NFS4_FHSIZE 128 | 23 | #define NFS4_FHSIZE 128 |
| 22 | #define NFS4_MAXPATHLEN PATH_MAX | 24 | #define NFS4_MAXPATHLEN PATH_MAX |
| 23 | #define NFS4_MAXNAMLEN NAME_MAX | 25 | #define NFS4_MAXNAMLEN NAME_MAX |
| @@ -61,6 +63,9 @@ | |||
| 61 | #define NFS4_SHARE_SIGNAL_DELEG_WHEN_RESRC_AVAIL 0x10000 | 63 | #define NFS4_SHARE_SIGNAL_DELEG_WHEN_RESRC_AVAIL 0x10000 |
| 62 | #define NFS4_SHARE_PUSH_DELEG_WHEN_UNCONTENDED 0x20000 | 64 | #define NFS4_SHARE_PUSH_DELEG_WHEN_UNCONTENDED 0x20000 |
| 63 | 65 | ||
| 66 | #define NFS4_CDFC4_FORE 0x1 | ||
| 67 | #define NFS4_CDFC4_BACK 0x2 | ||
| 68 | |||
| 64 | #define NFS4_SET_TO_SERVER_TIME 0 | 69 | #define NFS4_SET_TO_SERVER_TIME 0 |
| 65 | #define NFS4_SET_TO_CLIENT_TIME 1 | 70 | #define NFS4_SET_TO_CLIENT_TIME 1 |
| 66 | 71 | ||
| @@ -167,7 +172,16 @@ struct nfs4_acl { | |||
| 167 | }; | 172 | }; |
| 168 | 173 | ||
| 169 | typedef struct { char data[NFS4_VERIFIER_SIZE]; } nfs4_verifier; | 174 | typedef struct { char data[NFS4_VERIFIER_SIZE]; } nfs4_verifier; |
| 170 | typedef struct { char data[NFS4_STATEID_SIZE]; } nfs4_stateid; | 175 | |
| 176 | struct nfs41_stateid { | ||
| 177 | __be32 seqid; | ||
| 178 | char other[NFS4_STATEID_OTHER_SIZE]; | ||
| 179 | } __attribute__ ((packed)); | ||
| 180 | |||
| 181 | typedef union { | ||
| 182 | char data[NFS4_STATEID_SIZE]; | ||
| 183 | struct nfs41_stateid stateid; | ||
| 184 | } nfs4_stateid; | ||
| 171 | 185 | ||
| 172 | enum nfs_opnum4 { | 186 | enum nfs_opnum4 { |
| 173 | OP_ACCESS = 3, | 187 | OP_ACCESS = 3, |
| @@ -471,6 +485,8 @@ enum lock_type4 { | |||
| 471 | #define FATTR4_WORD1_TIME_MODIFY (1UL << 21) | 485 | #define FATTR4_WORD1_TIME_MODIFY (1UL << 21) |
| 472 | #define FATTR4_WORD1_TIME_MODIFY_SET (1UL << 22) | 486 | #define FATTR4_WORD1_TIME_MODIFY_SET (1UL << 22) |
| 473 | #define FATTR4_WORD1_MOUNTED_ON_FILEID (1UL << 23) | 487 | #define FATTR4_WORD1_MOUNTED_ON_FILEID (1UL << 23) |
| 488 | #define FATTR4_WORD1_FS_LAYOUT_TYPES (1UL << 30) | ||
| 489 | #define FATTR4_WORD2_LAYOUT_BLKSIZE (1UL << 1) | ||
| 474 | 490 | ||
| 475 | #define NFSPROC4_NULL 0 | 491 | #define NFSPROC4_NULL 0 |
| 476 | #define NFSPROC4_COMPOUND 1 | 492 | #define NFSPROC4_COMPOUND 1 |
| @@ -532,6 +548,8 @@ enum { | |||
| 532 | NFSPROC4_CLNT_SEQUENCE, | 548 | NFSPROC4_CLNT_SEQUENCE, |
| 533 | NFSPROC4_CLNT_GET_LEASE_TIME, | 549 | NFSPROC4_CLNT_GET_LEASE_TIME, |
| 534 | NFSPROC4_CLNT_RECLAIM_COMPLETE, | 550 | NFSPROC4_CLNT_RECLAIM_COMPLETE, |
| 551 | NFSPROC4_CLNT_LAYOUTGET, | ||
| 552 | NFSPROC4_CLNT_GETDEVICEINFO, | ||
| 535 | }; | 553 | }; |
| 536 | 554 | ||
| 537 | /* nfs41 types */ | 555 | /* nfs41 types */ |
| @@ -550,6 +568,49 @@ enum state_protect_how4 { | |||
| 550 | SP4_SSV = 2 | 568 | SP4_SSV = 2 |
| 551 | }; | 569 | }; |
| 552 | 570 | ||
| 571 | enum pnfs_layouttype { | ||
| 572 | LAYOUT_NFSV4_1_FILES = 1, | ||
| 573 | LAYOUT_OSD2_OBJECTS = 2, | ||
| 574 | LAYOUT_BLOCK_VOLUME = 3, | ||
| 575 | }; | ||
| 576 | |||
| 577 | /* used for both layout return and recall */ | ||
| 578 | enum pnfs_layoutreturn_type { | ||
| 579 | RETURN_FILE = 1, | ||
| 580 | RETURN_FSID = 2, | ||
| 581 | RETURN_ALL = 3 | ||
| 582 | }; | ||
| 583 | |||
| 584 | enum pnfs_iomode { | ||
| 585 | IOMODE_READ = 1, | ||
| 586 | IOMODE_RW = 2, | ||
| 587 | IOMODE_ANY = 3, | ||
| 588 | }; | ||
| 589 | |||
| 590 | enum pnfs_notify_deviceid_type4 { | ||
| 591 | NOTIFY_DEVICEID4_CHANGE = 1 << 1, | ||
| 592 | NOTIFY_DEVICEID4_DELETE = 1 << 2, | ||
| 593 | }; | ||
| 594 | |||
| 595 | #define NFL4_UFLG_MASK 0x0000003F | ||
| 596 | #define NFL4_UFLG_DENSE 0x00000001 | ||
| 597 | #define NFL4_UFLG_COMMIT_THRU_MDS 0x00000002 | ||
| 598 | #define NFL4_UFLG_STRIPE_UNIT_SIZE_MASK 0xFFFFFFC0 | ||
| 599 | |||
| 600 | /* Encoded in the loh_body field of type layouthint4 */ | ||
| 601 | enum filelayout_hint_care4 { | ||
| 602 | NFLH4_CARE_DENSE = NFL4_UFLG_DENSE, | ||
| 603 | NFLH4_CARE_COMMIT_THRU_MDS = NFL4_UFLG_COMMIT_THRU_MDS, | ||
| 604 | NFLH4_CARE_STRIPE_UNIT_SIZE = 0x00000040, | ||
| 605 | NFLH4_CARE_STRIPE_COUNT = 0x00000080 | ||
| 606 | }; | ||
| 607 | |||
| 608 | #define NFS4_DEVICEID4_SIZE 16 | ||
| 609 | |||
| 610 | struct nfs4_deviceid { | ||
| 611 | char data[NFS4_DEVICEID4_SIZE]; | ||
| 612 | }; | ||
| 613 | |||
| 553 | #endif | 614 | #endif |
| 554 | #endif | 615 | #endif |
| 555 | 616 | ||
