diff options
author | Manoj Naik <manoj@almaden.ibm.com> | 2006-10-04 05:16:18 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-04 10:55:22 -0400 |
commit | 933469190ed5915b0568bc564346bb8db718f460 (patch) | |
tree | fdb811ebfb962b0dc5e9b567ef13df234d49918a /include/linux/nfsd | |
parent | b009a873de05c6e0d7613df3584b6dcb2e4280ee (diff) |
[PATCH] knfsd: nfsd4: fslocations data structures
Define FS locations structures, some functions to manipulate them, and add
code to parse FS locations in downcall and add to the exports structure.
[bfields@fieldses.org: bunch of fixes and cleanups]
Signed-off-by: Manoj Naik <manoj@almaden.ibm.com>
Signed-off-by: Fred Isaman <iisaman@citi.umich.edu>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/nfsd')
-rw-r--r-- | include/linux/nfsd/export.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/nfsd/export.h b/include/linux/nfsd/export.h index 47d96684b611..6e78ea969f49 100644 --- a/include/linux/nfsd/export.h +++ b/include/linux/nfsd/export.h | |||
@@ -45,6 +45,25 @@ | |||
45 | 45 | ||
46 | #ifdef __KERNEL__ | 46 | #ifdef __KERNEL__ |
47 | 47 | ||
48 | /* | ||
49 | * FS Locations | ||
50 | */ | ||
51 | |||
52 | #define MAX_FS_LOCATIONS 128 | ||
53 | |||
54 | struct nfsd4_fs_location { | ||
55 | char *hosts; /* colon separated list of hosts */ | ||
56 | char *path; /* slash separated list of path components */ | ||
57 | }; | ||
58 | |||
59 | struct nfsd4_fs_locations { | ||
60 | uint32_t locations_count; | ||
61 | struct nfsd4_fs_location *locations; | ||
62 | /* If we're not actually serving this data ourselves (only providing a | ||
63 | * list of replicas that do serve it) then we set "migrated": */ | ||
64 | int migrated; | ||
65 | }; | ||
66 | |||
48 | struct svc_export { | 67 | struct svc_export { |
49 | struct cache_head h; | 68 | struct cache_head h; |
50 | struct auth_domain * ex_client; | 69 | struct auth_domain * ex_client; |
@@ -55,6 +74,7 @@ struct svc_export { | |||
55 | uid_t ex_anon_uid; | 74 | uid_t ex_anon_uid; |
56 | gid_t ex_anon_gid; | 75 | gid_t ex_anon_gid; |
57 | int ex_fsid; | 76 | int ex_fsid; |
77 | struct nfsd4_fs_locations ex_fslocs; | ||
58 | }; | 78 | }; |
59 | 79 | ||
60 | /* an "export key" (expkey) maps a filehandlefragement to an | 80 | /* an "export key" (expkey) maps a filehandlefragement to an |