.\" exportfs(8)
.\"
.\" Copyright (C) 1995 Olaf Kirch <okir@monad.swb.de>
-.\" Modifications 1999 Neil Brown <neilb@cse.unsw.edu.au>
-.TH exportfs 8 "7 Sep 1999"
+.\" Modifications 1999-2003 Neil Brown <neilb@cse.unsw.edu.au>
+.TH exportfs 8 "18 July 2003"
.SH NAME
exportfs \- maintain list of NFS exported file systems
.SH SYNOPSIS
.br
.BI "/usr/sbin/exportfs [-v]
.br
+.BI "/usr/sbin/exportfs -f"
+.br
.SH DESCRIPTION
The
.B exportfs
command is used to maintain the current table of exported file systems for
NFS. This list is kept in a separate file named
-.BR /var/lib/nfs/xtab
+.BR /var/lib/nfs/etab
which is read by
.B mountd
when a remote host requests access to mount a file tree, and parts of
the list which are active are kept in the kernel's export table.
.P
Normally this
-.B xtab
+.B etab
file is initialized with the list of all file systems named in
.B /etc/exports
by invoking
using
.BR exportfs .
.P
-Any export requests which identify a specific host (rather than a
+.B exportfs
+and it's partner program
+.B mountd
+work in one of two modes, a legacy mode which applies to 2.4 and
+earlier versions of the Linux kernel, and a new mode which applies to
+2.6 and later versions providing the
+.B nfsd
+virtual filesystem has been mounted at
+.B /proc/fs/nfsd
+or
+.BR /proc/fs/nfs .
+If this filesystem is not mounted in 2.6, the legacy mode is used.
+.P
+In the new mode,
+.B exportfs
+does not give any information to the kernel but only provides it to
+.B mountd
+through the
+.B /var/lib/nfs/etab
+file.
+.B mountd
+will listen to requests from the kernel and will provide information
+as needed.
+.P
+In the legacy mode,
+any export requests which identify a specific host (rather than a
subnet or netgroup etc) are entered directly into the kernel's export
table as well as being written to
-.BR /var/lib/nfs/xtab .
+.BR /var/lib/nfs/etab .
Further, any mount points listed in
.B /var/lib/nfs/rmtab
which match a non host-specific export request will cause an
line are used.
.TP
.B -r
-Reexport all directories. It synchronizes /var/lib/nfs/xtab
-with /etc/exports. It removes entries in /var/lib/nfs/xtab
+Reexport all directories. It synchronizes /var/lib/nfs/etab
+with /etc/exports. It removes entries in /var/lib/nfs/etab
which are deleted from /etc/exports, and remove any entries from the
kernel export table which are no longer valid.
.TP
-.TP
.B -u
Unexport one or more directories.
.TP
+.B -f
+In 'new' mode, flush everything out of the kernels export table. Any
+clients that are active will get new entries added by
+.B mountd
+when they make their next request.
+.TP
.B -v
Be verbose. When exporting or unexporting, show what's going on. When
displaying the current export list, also display the list of export
all directories in
.B exports(5)
are added to
-.B xtab
+.B etab
and the resulting list is pushed into the kernel.
.P
The
(unless the
.B -i
option is given).
-In addition, the administrator may overide any options from these sources
+In addition, the administrator may override any options from these sources
using the
.B -o
argument which takes a comma-separated list of options in the same fashion
Modifications of the kernel export table used by
.B nfsd(8)
take place immediately after parsing the command line and updating the
-.B xtab
+.B etab
file.
.P
The default export options are
-.BR async,ro,root_squash,no_delay .
+.BR sync,ro,root_squash,wdelay .
.\" -------------------- Unexporting Directories ------------------
.SS Unexporting Directories
The third synopsis shows how to unexported a currently exported directory.
When using
.BR "exportfs -ua" ,
all entries listed in
-.B xtab
+.B etab
are removed from the kernel export tables, and the file is cleared. This
effectively shuts down all NFS activity.
.P
-To remove individial export entries, one can specify a
+To remove an export to a host, specify a
.I host:/path
pair. This deletes the specified entry from
-.B xtab
+.B etab
and removes the corresponding kernel entry (if any).
+To remove one or more exports to several hosts, use
+.BR "exportfs -ua" .
.P
.\" -------------------- Dumping the Export Table -----------------
.SS Dumping the Export Table
.\" -------------------- EXAMPLES ---------------------------------
.SH EXAMPLES
The following adds all directories listed in
-.B /etc/exports to /var/lib/nfs/xtab
+.B /etc/exports
+to
+.B /var/lib/nfs/etab
and pushes the resulting export entries into the kernel:
.P
.nf
To export the
.B /usr/tmp
directory to host
-.BR djando ,
+.BR django ,
allowing asynchronous writes, one would do this:
.P
.nf
.B "# exportfs -o async django:/usr/tmp
.fi
+.P
+To unexport the
+.B /usr/tmp
+directory:
+.P
+.nf
+.B "# exportfs -u django:/usr/tmp
+.fi
+.P
+To unexport all the directories listed in
+.B /etc/exports:
+.P
+.nf
+.B "# exportfs -au
+.fi
.\" -------------------- DEPENDENCIES -----------------------------
.SH DEPENDENCIES
Exporting to IP networks, DNS and NIS domains does not enable clients
.P
When unexporting a network or domain entry, any current exports to members
of this group will be checked against the remaining valid exports and
-if they themselves are nolonger valid they will be removed.
+if they themselves are no longer valid they will be removed.
.P
.\" -------------------- SEE ALSO --------------------------------
.SH SEE ALSO