aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/nfsd/export.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/nfsd/export.h b/include/linux/nfsd/export.h
index 9f62d6182d32..736f0eafcedf 100644
--- a/include/linux/nfsd/export.h
+++ b/include/linux/nfsd/export.h
@@ -42,6 +42,8 @@
42#define NFSEXP_NOACL 0x8000 /* reserved for possible ACL related use */ 42#define NFSEXP_NOACL 0x8000 /* reserved for possible ACL related use */
43#define NFSEXP_ALLFLAGS 0xFE3F 43#define NFSEXP_ALLFLAGS 0xFE3F
44 44
45/* The flags that may vary depending on security flavor: */
46#define NFSEXP_SECINFO_FLAGS 0
45 47
46#ifdef __KERNEL__ 48#ifdef __KERNEL__
47 49
@@ -64,6 +66,19 @@ struct nfsd4_fs_locations {
64 int migrated; 66 int migrated;
65}; 67};
66 68
69/*
70 * We keep an array of pseudoflavors with the export, in order from most
71 * to least preferred. For the forseeable future, we don't expect more
72 * than the eight pseudoflavors null, unix, krb5, krb5i, krb5p, skpm3,
73 * spkm3i, and spkm3p (and using all 8 at once should be rare).
74 */
75#define MAX_SECINFO_LIST 8
76
77struct exp_flavor_info {
78 u32 pseudoflavor;
79 u32 flags;
80};
81
67struct svc_export { 82struct svc_export {
68 struct cache_head h; 83 struct cache_head h;
69 struct auth_domain * ex_client; 84 struct auth_domain * ex_client;
@@ -76,6 +91,8 @@ struct svc_export {
76 int ex_fsid; 91 int ex_fsid;
77 unsigned char * ex_uuid; /* 16 byte fsid */ 92 unsigned char * ex_uuid; /* 16 byte fsid */
78 struct nfsd4_fs_locations ex_fslocs; 93 struct nfsd4_fs_locations ex_fslocs;
94 int ex_nflavors;
95 struct exp_flavor_info ex_flavors[MAX_SECINFO_LIST];
79}; 96};
80 97
81/* an "export key" (expkey) maps a filehandlefragement to an 98/* an "export key" (expkey) maps a filehandlefragement to an