diff options
author | Fred Isaman <iisaman@citi.umich.edu> | 2007-02-22 15:48:53 +1100 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2007-02-22 15:48:53 +1100 |
commit | 5fb04a376e6d5ba940e66507e4a615f4e94116e6 (patch) | |
tree | fc75ece9014d7fd730cae73792adb681fc473d5f /utils/exportfs | |
parent | 66d8e2870b8d3e91c27a66ebc85e012a3cda9c69 (diff) | |
download | nfs-utils-5fb04a376e6d5ba940e66507e4a615f4e94116e6.tar.gz nfs-utils-5fb04a376e6d5ba940e66507e4a615f4e94116e6.tar.xz nfs-utils-5fb04a376e6d5ba940e66507e4a615f4e94116e6.zip |
Extend the exportfs interface to pass fslocations info into the kernel.
Extend exportfs interface to pass fslocations info into the kernel,
using syntax modelled after AIX. Adds "refer=" and "replicas="
options to /etc/exports to enable use of the kernel fslocation code.
Signed-off-by: Fred Isaman <iisaman@citi.umich.edu>
Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Diffstat (limited to 'utils/exportfs')
-rw-r--r-- | utils/exportfs/exportfs.c | 14 | ||||
-rw-r--r-- | utils/exportfs/exports.man | 14 |
2 files changed, 27 insertions, 1 deletions
diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c index 2e2b6f3..40a6b56 100644 --- a/utils/exportfs/exportfs.c +++ b/utils/exportfs/exportfs.c @@ -418,7 +418,19 @@ dump(int verbose) c = dumpopt(c, "anonuid=%d", ep->e_anonuid); if (ep->e_anongid != 65534) c = dumpopt(c, "anongid=%d", ep->e_anongid); - + switch(ep->e_fslocmethod) { + case FSLOC_NONE: + break; + case FSLOC_REFER: + c = dumpopt(c, "refer=%s", ep->e_fslocdata); + break; + case FSLOC_REPLICA: + c = dumpopt(c, "replicas=%s", ep->e_fslocdata); + break; + case FSLOC_STUB: + c = dumpopt(c, "fsloc=stub"); + break; + } printf("%c\n", (c != '(')? ')' : ' '); } } diff --git a/utils/exportfs/exports.man b/utils/exportfs/exports.man index 3aa8de8..27a30f9 100644 --- a/utils/exportfs/exports.man +++ b/utils/exportfs/exports.man @@ -334,6 +334,20 @@ set for such kernels. Setting both a small number and a UUID is supported so the same configuration can be made to work on old and new kernels alike. +.TP +.IR refer= path@host[+host][:path@host[+host]] +A client referencing the export point will be directed to choose from +the given list an alternative location for the filesystem. +(Note that the server must have a mountpoint here, though a different +filesystem is not required; so, for example, +.IR "mount --bind" " /path /path" +is sufficient.) +.TP +.IR replicas= path@host[+host][:path@host[+host]] +If the client asks for alternative locations for the export point, it +will be given this list of alternatives. (Note that actual replication +of the filesystem must be handled elsewhere.) + .SS User ID Mapping .PP .I nfsd |