summaryrefslogtreecommitdiffstats
path: root/utils/exportfs/exports.man
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2007-02-12 12:25:03 +1100
committerNeil Brown <neilb@suse.de>2007-02-12 12:25:03 +1100
commite91ff0175602cc56f223f1d92de6511099fa40d1 (patch)
tree7d98e93a037f2986572659fa8d2ea2287317cd83 /utils/exportfs/exports.man
parentf981e46adaab5da3d105b5adf735e9ce9c19a1d5 (diff)
downloadnfs-utils-e91ff0175602cc56f223f1d92de6511099fa40d1.tar.gz
nfs-utils-e91ff0175602cc56f223f1d92de6511099fa40d1.tar.xz
nfs-utils-e91ff0175602cc56f223f1d92de6511099fa40d1.zip
Use UUIDs to identify filesystems if kernel supports it.
This introduces a new dependancy on libblkid. If a filesystem being exported has a UUID that libblkid can extract, then that is passed to the kernel for use in identifying the filesystem in filehandles. This means that 'fsid=' is no longer needed to work around the problem of device numbers changing. fsid= is still needed for fielsystems that have no device, and can now be given 16byute uuid instead of just a 32bit one.
Diffstat (limited to 'utils/exportfs/exports.man')
-rw-r--r--utils/exportfs/exports.man41
1 files changed, 24 insertions, 17 deletions
diff --git a/utils/exportfs/exports.man b/utils/exportfs/exports.man
index 892533b..3aa8de8 100644
--- a/utils/exportfs/exports.man
+++ b/utils/exportfs/exports.man
@@ -306,26 +306,33 @@ then the nominated path must be a mountpoint for the exportpoint to be
exported.
.TP
-.IR fsid= num
-This option forces the filesystem identification portion of the file
-handle and file attributes used on the wire to be
-.I num
-instead of a number derived from the major and minor number of the
-block device on which the filesystem is mounted. Any 32 bit number
-can be used, but it must be unique amongst all the exported filesystems.
+.IR fsid= num|root|uuid
+NFS needs to be able to identify each filesystem that it exports.
+Normally it will use a UUID for the filesystem (if the filesystem has
+such a thing) or the device number of the device holding the
+filesystem (if the filesystem is stored on the device).
-This can be useful for NFS failover, to ensure that both servers of
-the failover pair use the same NFS file handles for the shared filesystem
-thus avoiding stale file handles after failover.
+As not all filesystems are stored on devices, and not all filesystems
+have UUIDs, it is sometimes necessary to explicitly tell NFS how to
+identify a filesystem. This is done with the
+.I fsid=
+option.
-Some Linux filesystems are not mounted on a block device; exporting
-these via NFS requires the use of the
-.I fsid
-option (although that may still not be enough).
+For NFSv4, there is a distinguished filesystem which is the root of
+all exported filesystem. This is specified with
+.I fsid=root
+or
+.I fsid=0
+both of which mean exactly the same thing.
+
+Other filesystems can be identified with a small integer, or a UUID
+which should contain 32 hex digits and arbitrary punctuation.
-The value 0 has a special meaning when use with NFSv4. NFSv4 has a
-concept of a root of the overall exported filesystem. The export point
-exported with fsid=0 will be used as this root.
+Linux kernels version 2.6.20 and earlier do not understand the UUID
+setting so a small integer must be used if an fsid option needs to be
+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.
.SS User ID Mapping
.PP