summaryrefslogtreecommitdiffstats
path: root/utils/exportfs/exportfs.c
diff options
context:
space:
mode:
authorFred Isaman <iisaman@citi.umich.edu>2007-02-22 15:48:53 +1100
committerNeil Brown <neilb@suse.de>2007-02-22 15:48:53 +1100
commit5fb04a376e6d5ba940e66507e4a615f4e94116e6 (patch)
treefc75ece9014d7fd730cae73792adb681fc473d5f /utils/exportfs/exportfs.c
parent66d8e2870b8d3e91c27a66ebc85e012a3cda9c69 (diff)
downloadnfs-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/exportfs.c')
-rw-r--r--utils/exportfs/exportfs.c14
1 files changed, 13 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 != '(')? ')' : ' ');
}
}