diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
commit | c71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch) | |
tree | ecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /include/linux/nfs4.h | |
parent | ea53c912f8a86a8567697115b6a0d8152beee5c8 (diff) | |
parent | 6a00f206debf8a5c8899055726ad127dbeeed098 (diff) |
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts:
litmus/sched_cedf.c
Diffstat (limited to 'include/linux/nfs4.h')
-rw-r--r-- | include/linux/nfs4.h | 92 |
1 files changed, 84 insertions, 8 deletions
diff --git a/include/linux/nfs4.h b/include/linux/nfs4.h index 07e40c625972..504b289ba680 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,12 @@ | |||
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 | #define NFS4_CDFC4_BOTH 0x3 | ||
69 | #define NFS4_CDFC4_FORE_OR_BOTH 0x3 | ||
70 | #define NFS4_CDFC4_BACK_OR_BOTH 0x7 | ||
71 | |||
64 | #define NFS4_SET_TO_SERVER_TIME 0 | 72 | #define NFS4_SET_TO_SERVER_TIME 0 |
65 | #define NFS4_SET_TO_CLIENT_TIME 1 | 73 | #define NFS4_SET_TO_CLIENT_TIME 1 |
66 | 74 | ||
@@ -106,9 +114,13 @@ | |||
106 | 114 | ||
107 | #define EXCHGID4_FLAG_SUPP_MOVED_REFER 0x00000001 | 115 | #define EXCHGID4_FLAG_SUPP_MOVED_REFER 0x00000001 |
108 | #define EXCHGID4_FLAG_SUPP_MOVED_MIGR 0x00000002 | 116 | #define EXCHGID4_FLAG_SUPP_MOVED_MIGR 0x00000002 |
117 | #define EXCHGID4_FLAG_BIND_PRINC_STATEID 0x00000100 | ||
118 | |||
109 | #define EXCHGID4_FLAG_USE_NON_PNFS 0x00010000 | 119 | #define EXCHGID4_FLAG_USE_NON_PNFS 0x00010000 |
110 | #define EXCHGID4_FLAG_USE_PNFS_MDS 0x00020000 | 120 | #define EXCHGID4_FLAG_USE_PNFS_MDS 0x00020000 |
111 | #define EXCHGID4_FLAG_USE_PNFS_DS 0x00040000 | 121 | #define EXCHGID4_FLAG_USE_PNFS_DS 0x00040000 |
122 | #define EXCHGID4_FLAG_MASK_PNFS 0x00070000 | ||
123 | |||
112 | #define EXCHGID4_FLAG_UPD_CONFIRMED_REC_A 0x40000000 | 124 | #define EXCHGID4_FLAG_UPD_CONFIRMED_REC_A 0x40000000 |
113 | #define EXCHGID4_FLAG_CONFIRMED_R 0x80000000 | 125 | #define EXCHGID4_FLAG_CONFIRMED_R 0x80000000 |
114 | /* | 126 | /* |
@@ -116,8 +128,8 @@ | |||
116 | * they're set in the argument or response, have separate | 128 | * they're set in the argument or response, have separate |
117 | * invalid flag masks for arg (_A) and resp (_R). | 129 | * invalid flag masks for arg (_A) and resp (_R). |
118 | */ | 130 | */ |
119 | #define EXCHGID4_FLAG_MASK_A 0x40070003 | 131 | #define EXCHGID4_FLAG_MASK_A 0x40070103 |
120 | #define EXCHGID4_FLAG_MASK_R 0x80070003 | 132 | #define EXCHGID4_FLAG_MASK_R 0x80070103 |
121 | 133 | ||
122 | #define SEQ4_STATUS_CB_PATH_DOWN 0x00000001 | 134 | #define SEQ4_STATUS_CB_PATH_DOWN 0x00000001 |
123 | #define SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRING 0x00000002 | 135 | #define SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRING 0x00000002 |
@@ -131,6 +143,9 @@ | |||
131 | #define SEQ4_STATUS_CB_PATH_DOWN_SESSION 0x00000200 | 143 | #define SEQ4_STATUS_CB_PATH_DOWN_SESSION 0x00000200 |
132 | #define SEQ4_STATUS_BACKCHANNEL_FAULT 0x00000400 | 144 | #define SEQ4_STATUS_BACKCHANNEL_FAULT 0x00000400 |
133 | 145 | ||
146 | #define NFS4_SECINFO_STYLE4_CURRENT_FH 0 | ||
147 | #define NFS4_SECINFO_STYLE4_PARENT 1 | ||
148 | |||
134 | #define NFS4_MAX_UINT64 (~(u64)0) | 149 | #define NFS4_MAX_UINT64 (~(u64)0) |
135 | 150 | ||
136 | /* An NFS4 sessions server must support at least NFS4_MAX_OPS operations. | 151 | /* An NFS4 sessions server must support at least NFS4_MAX_OPS operations. |
@@ -167,7 +182,16 @@ struct nfs4_acl { | |||
167 | }; | 182 | }; |
168 | 183 | ||
169 | typedef struct { char data[NFS4_VERIFIER_SIZE]; } nfs4_verifier; | 184 | typedef struct { char data[NFS4_VERIFIER_SIZE]; } nfs4_verifier; |
170 | typedef struct { char data[NFS4_STATEID_SIZE]; } nfs4_stateid; | 185 | |
186 | struct nfs41_stateid { | ||
187 | __be32 seqid; | ||
188 | char other[NFS4_STATEID_OTHER_SIZE]; | ||
189 | } __attribute__ ((packed)); | ||
190 | |||
191 | typedef union { | ||
192 | char data[NFS4_STATEID_SIZE]; | ||
193 | struct nfs41_stateid stateid; | ||
194 | } nfs4_stateid; | ||
171 | 195 | ||
172 | enum nfs_opnum4 { | 196 | enum nfs_opnum4 { |
173 | OP_ACCESS = 3, | 197 | OP_ACCESS = 3, |
@@ -335,7 +359,7 @@ enum nfsstat4 { | |||
335 | /* Error 10073 is unused. */ | 359 | /* Error 10073 is unused. */ |
336 | NFS4ERR_CLIENTID_BUSY = 10074, /* clientid has state */ | 360 | NFS4ERR_CLIENTID_BUSY = 10074, /* clientid has state */ |
337 | NFS4ERR_PNFS_IO_HOLE = 10075, /* IO to _SPARSE file hole */ | 361 | NFS4ERR_PNFS_IO_HOLE = 10075, /* IO to _SPARSE file hole */ |
338 | NFS4ERR_SEQ_FALSE_RETRY = 10076, /* retry not origional */ | 362 | NFS4ERR_SEQ_FALSE_RETRY = 10076, /* retry not original */ |
339 | NFS4ERR_BAD_HIGH_SLOT = 10077, /* sequence arg bad */ | 363 | NFS4ERR_BAD_HIGH_SLOT = 10077, /* sequence arg bad */ |
340 | NFS4ERR_DEADSESSION = 10078, /* persistent session dead */ | 364 | NFS4ERR_DEADSESSION = 10078, /* persistent session dead */ |
341 | NFS4ERR_ENCR_ALG_UNSUPP = 10079, /* SSV alg mismatch */ | 365 | NFS4ERR_ENCR_ALG_UNSUPP = 10079, /* SSV alg mismatch */ |
@@ -471,6 +495,8 @@ enum lock_type4 { | |||
471 | #define FATTR4_WORD1_TIME_MODIFY (1UL << 21) | 495 | #define FATTR4_WORD1_TIME_MODIFY (1UL << 21) |
472 | #define FATTR4_WORD1_TIME_MODIFY_SET (1UL << 22) | 496 | #define FATTR4_WORD1_TIME_MODIFY_SET (1UL << 22) |
473 | #define FATTR4_WORD1_MOUNTED_ON_FILEID (1UL << 23) | 497 | #define FATTR4_WORD1_MOUNTED_ON_FILEID (1UL << 23) |
498 | #define FATTR4_WORD1_FS_LAYOUT_TYPES (1UL << 30) | ||
499 | #define FATTR4_WORD2_LAYOUT_BLKSIZE (1UL << 1) | ||
474 | 500 | ||
475 | #define NFSPROC4_NULL 0 | 501 | #define NFSPROC4_NULL 0 |
476 | #define NFSPROC4_COMPOUND 1 | 502 | #define NFSPROC4_COMPOUND 1 |
@@ -524,6 +550,7 @@ enum { | |||
524 | NFSPROC4_CLNT_SETACL, | 550 | NFSPROC4_CLNT_SETACL, |
525 | NFSPROC4_CLNT_FS_LOCATIONS, | 551 | NFSPROC4_CLNT_FS_LOCATIONS, |
526 | NFSPROC4_CLNT_RELEASE_LOCKOWNER, | 552 | NFSPROC4_CLNT_RELEASE_LOCKOWNER, |
553 | NFSPROC4_CLNT_SECINFO, | ||
527 | 554 | ||
528 | /* nfs41 */ | 555 | /* nfs41 */ |
529 | NFSPROC4_CLNT_EXCHANGE_ID, | 556 | NFSPROC4_CLNT_EXCHANGE_ID, |
@@ -532,6 +559,10 @@ enum { | |||
532 | NFSPROC4_CLNT_SEQUENCE, | 559 | NFSPROC4_CLNT_SEQUENCE, |
533 | NFSPROC4_CLNT_GET_LEASE_TIME, | 560 | NFSPROC4_CLNT_GET_LEASE_TIME, |
534 | NFSPROC4_CLNT_RECLAIM_COMPLETE, | 561 | NFSPROC4_CLNT_RECLAIM_COMPLETE, |
562 | NFSPROC4_CLNT_LAYOUTGET, | ||
563 | NFSPROC4_CLNT_GETDEVICEINFO, | ||
564 | NFSPROC4_CLNT_LAYOUTCOMMIT, | ||
565 | NFSPROC4_CLNT_LAYOUTRETURN, | ||
535 | }; | 566 | }; |
536 | 567 | ||
537 | /* nfs41 types */ | 568 | /* nfs41 types */ |
@@ -540,9 +571,11 @@ struct nfs4_sessionid { | |||
540 | }; | 571 | }; |
541 | 572 | ||
542 | /* Create Session Flags */ | 573 | /* Create Session Flags */ |
543 | #define SESSION4_PERSIST 0x001 | 574 | #define SESSION4_PERSIST 0x001 |
544 | #define SESSION4_BACK_CHAN 0x002 | 575 | #define SESSION4_BACK_CHAN 0x002 |
545 | #define SESSION4_RDMA 0x004 | 576 | #define SESSION4_RDMA 0x004 |
577 | |||
578 | #define SESSION4_FLAG_MASK_A 0x007 | ||
546 | 579 | ||
547 | enum state_protect_how4 { | 580 | enum state_protect_how4 { |
548 | SP4_NONE = 0, | 581 | SP4_NONE = 0, |
@@ -550,6 +583,49 @@ enum state_protect_how4 { | |||
550 | SP4_SSV = 2 | 583 | SP4_SSV = 2 |
551 | }; | 584 | }; |
552 | 585 | ||
586 | enum pnfs_layouttype { | ||
587 | LAYOUT_NFSV4_1_FILES = 1, | ||
588 | LAYOUT_OSD2_OBJECTS = 2, | ||
589 | LAYOUT_BLOCK_VOLUME = 3, | ||
590 | }; | ||
591 | |||
592 | /* used for both layout return and recall */ | ||
593 | enum pnfs_layoutreturn_type { | ||
594 | RETURN_FILE = 1, | ||
595 | RETURN_FSID = 2, | ||
596 | RETURN_ALL = 3 | ||
597 | }; | ||
598 | |||
599 | enum pnfs_iomode { | ||
600 | IOMODE_READ = 1, | ||
601 | IOMODE_RW = 2, | ||
602 | IOMODE_ANY = 3, | ||
603 | }; | ||
604 | |||
605 | enum pnfs_notify_deviceid_type4 { | ||
606 | NOTIFY_DEVICEID4_CHANGE = 1 << 1, | ||
607 | NOTIFY_DEVICEID4_DELETE = 1 << 2, | ||
608 | }; | ||
609 | |||
610 | #define NFL4_UFLG_MASK 0x0000003F | ||
611 | #define NFL4_UFLG_DENSE 0x00000001 | ||
612 | #define NFL4_UFLG_COMMIT_THRU_MDS 0x00000002 | ||
613 | #define NFL4_UFLG_STRIPE_UNIT_SIZE_MASK 0xFFFFFFC0 | ||
614 | |||
615 | /* Encoded in the loh_body field of type layouthint4 */ | ||
616 | enum filelayout_hint_care4 { | ||
617 | NFLH4_CARE_DENSE = NFL4_UFLG_DENSE, | ||
618 | NFLH4_CARE_COMMIT_THRU_MDS = NFL4_UFLG_COMMIT_THRU_MDS, | ||
619 | NFLH4_CARE_STRIPE_UNIT_SIZE = 0x00000040, | ||
620 | NFLH4_CARE_STRIPE_COUNT = 0x00000080 | ||
621 | }; | ||
622 | |||
623 | #define NFS4_DEVICEID4_SIZE 16 | ||
624 | |||
625 | struct nfs4_deviceid { | ||
626 | char data[NFS4_DEVICEID4_SIZE]; | ||
627 | }; | ||
628 | |||
553 | #endif | 629 | #endif |
554 | #endif | 630 | #endif |
555 | 631 | ||