diff options
| author | Bryan Schumaker <bjschuma@netapp.com> | 2011-03-24 13:12:29 -0400 |
|---|---|---|
| committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2011-03-24 13:52:41 -0400 |
| commit | 5a5ea0d485c9715c86bf858bbdc5f6d373b3db88 (patch) | |
| tree | 0aef824c36b7eb6eac6ea706c4c9a33930128ee3 /include/linux | |
| parent | 7c5130588d691a3b34d02312f1bd1b6d56fe0100 (diff) | |
NFS: Add secinfo procedure
This patch adds the nfs4 operation secinfo as a
valid nfs rpc operation.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/nfs4.h | 1 | ||||
| -rw-r--r-- | include/linux/nfs_xdr.h | 37 |
2 files changed, 38 insertions, 0 deletions
diff --git a/include/linux/nfs4.h b/include/linux/nfs4.h index 134716e5e350..7e7f6b7e46b1 100644 --- a/include/linux/nfs4.h +++ b/include/linux/nfs4.h | |||
| @@ -550,6 +550,7 @@ enum { | |||
| 550 | NFSPROC4_CLNT_SETACL, | 550 | NFSPROC4_CLNT_SETACL, |
| 551 | NFSPROC4_CLNT_FS_LOCATIONS, | 551 | NFSPROC4_CLNT_FS_LOCATIONS, |
| 552 | NFSPROC4_CLNT_RELEASE_LOCKOWNER, | 552 | NFSPROC4_CLNT_RELEASE_LOCKOWNER, |
| 553 | NFSPROC4_CLNT_SECINFO, | ||
| 553 | 554 | ||
| 554 | /* nfs41 */ | 555 | /* nfs41 */ |
| 555 | NFSPROC4_CLNT_EXCHANGE_ID, | 556 | NFSPROC4_CLNT_EXCHANGE_ID, |
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index 71ee6799db9b..3f32bf175840 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
| @@ -3,6 +3,7 @@ | |||
| 3 | 3 | ||
| 4 | #include <linux/nfsacl.h> | 4 | #include <linux/nfsacl.h> |
| 5 | #include <linux/nfs3.h> | 5 | #include <linux/nfs3.h> |
| 6 | #include <linux/sunrpc/gss_api.h> | ||
| 6 | 7 | ||
| 7 | /* | 8 | /* |
| 8 | * To change the maximum rsize and wsize supported by the NFS client, adjust | 9 | * To change the maximum rsize and wsize supported by the NFS client, adjust |
| @@ -14,6 +15,9 @@ | |||
| 14 | #define NFS_DEF_FILE_IO_SIZE (4096U) | 15 | #define NFS_DEF_FILE_IO_SIZE (4096U) |
| 15 | #define NFS_MIN_FILE_IO_SIZE (1024U) | 16 | #define NFS_MIN_FILE_IO_SIZE (1024U) |
| 16 | 17 | ||
| 18 | /* Forward declaration for NFS v3 */ | ||
| 19 | struct nfs4_secinfo_flavors; | ||
| 20 | |||
| 17 | struct nfs_fsid { | 21 | struct nfs_fsid { |
| 18 | uint64_t major; | 22 | uint64_t major; |
| 19 | uint64_t minor; | 23 | uint64_t minor; |
| @@ -936,6 +940,38 @@ struct nfs4_fs_locations_res { | |||
| 936 | struct nfs4_sequence_res seq_res; | 940 | struct nfs4_sequence_res seq_res; |
| 937 | }; | 941 | }; |
| 938 | 942 | ||
| 943 | struct nfs4_secinfo_oid { | ||
| 944 | unsigned int len; | ||
| 945 | char data[GSS_OID_MAX_LEN]; | ||
| 946 | }; | ||
| 947 | |||
| 948 | struct nfs4_secinfo_gss { | ||
| 949 | struct nfs4_secinfo_oid sec_oid4; | ||
| 950 | unsigned int qop4; | ||
| 951 | unsigned int service; | ||
| 952 | }; | ||
| 953 | |||
| 954 | struct nfs4_secinfo_flavor { | ||
| 955 | unsigned int flavor; | ||
| 956 | struct nfs4_secinfo_gss gss; | ||
| 957 | }; | ||
| 958 | |||
| 959 | struct nfs4_secinfo_flavors { | ||
| 960 | unsigned int num_flavors; | ||
| 961 | struct nfs4_secinfo_flavor flavors[0]; | ||
| 962 | }; | ||
| 963 | |||
| 964 | struct nfs4_secinfo_arg { | ||
| 965 | const struct nfs_fh *dir_fh; | ||
| 966 | const struct qstr *name; | ||
| 967 | struct nfs4_sequence_args seq_args; | ||
| 968 | }; | ||
| 969 | |||
| 970 | struct nfs4_secinfo_res { | ||
| 971 | struct nfs4_secinfo_flavors *flavors; | ||
| 972 | struct nfs4_sequence_res seq_res; | ||
| 973 | }; | ||
| 974 | |||
| 939 | #endif /* CONFIG_NFS_V4 */ | 975 | #endif /* CONFIG_NFS_V4 */ |
| 940 | 976 | ||
| 941 | struct nfstime4 { | 977 | struct nfstime4 { |
| @@ -1118,6 +1154,7 @@ struct nfs_rpc_ops { | |||
| 1118 | struct iattr *iattr); | 1154 | struct iattr *iattr); |
| 1119 | int (*init_client) (struct nfs_client *, const struct rpc_timeout *, | 1155 | int (*init_client) (struct nfs_client *, const struct rpc_timeout *, |
| 1120 | const char *, rpc_authflavor_t, int); | 1156 | const char *, rpc_authflavor_t, int); |
| 1157 | int (*secinfo)(struct inode *, const struct qstr *, struct nfs4_secinfo_flavors *); | ||
| 1121 | }; | 1158 | }; |
| 1122 | 1159 | ||
| 1123 | /* | 1160 | /* |
