+2004-03-18 Chip Salzenberg <chip@pobox.com>
+
+ * debian/changelog: Version 1.0.6-2.
+
+2004-02-24 NeilBrown <neilb@cse.unsw.edu.au>
+ from "J. Bruce Fields" <bfields@fieldses.org>
+
+ * utils/mountd/cache.c: call auth_reload to make sure auth data is
+ current before responding to kernel upcall.
+
+2004-02-24 NeilBrown <neilb@cse.unsw.edu.au>
+ Based on patch from Greg Banks <gnb@melbourne.sgi.com>
+
+ * utils/exportfs/exports.man: Document fsid= option.
+
2003-09-15 NeilBrown <neilb@cse.unsw.edu.au>
Release 1.0.6
utils/statd/Makefile: add "predep" rule so that "make dep" works.
* Makefile: allow a simple "make" to run ./configure and "make dep"
if needed.
- * configure.in, nfs-utils.spec: Update version to 1.0.4
+ * configure.in, nfs-utils.spec: Update version to 1.0.6
* run autoconf
2003-09-12 Chip Salzenberg <chip@pobox.com>
+nfs-utils (1:1.0.6-3) unstable; urgency=medium
+
+ * Remove obsolete debconf-related files in debian/rules, because source
+ diffs don't implement removals. (closes: #239331)
+
+ -- Chip Salzenberg <chip@debian.org> Wed, 24 Mar 2004 18:09:21 -0500
+
+nfs-utils (1:1.0.6-2) unstable; urgency=medium
+
+ * Upstream CVS sync.
+ * Urgency "medium" to get debconf fix into testing.
+ * Remove debconf warning notes in favor of nfs-kernel-server.NEWS.
+ (closes: #228365)
+ * Make /etc/exports a conffile. (closes: #224557)
+ * Clean up /var/lib/nfs in postrm.
+ * Test kernel version in init script; all kernels from 2.4 forward
+ have a lockd thread, and don't need rpc.lockd. Probe older kernels
+ by checking for lockd-related symbols. When in doubt, go ahead and
+ run rpc.lockd; if it's not needed, it exits. (closes: #205867)
+ * Don't bother removing nfs-server's init links; it's long dead.
+
+ -- Chip Salzenberg <chip@debian.org> Thu, 18 Mar 2004 17:06:00 -0500
+
nfs-utils (1:1.0.6-1) unstable; urgency=low
* New upstream version:
--- /dev/null
+# /etc/exports: the access control list for filesystems which may be exported
+# to NFS clients. See exports(5).
+++ /dev/null
-#!/bin/sh -e
-
-. /usr/share/debconf/confmodule
-
-if egrep -q 'ALL|[0-9]\.' /etc/hosts.deny
-then
- db_input high nfs-common/tcpwrappers-statd || true
-fi
-
-db_go
. $DEFAULTFILE
fi
-# Determine whether lockd is required
+# Determine whether lockd daemon is required.
case "$NEED_LOCKD" in
yes|no) ;;
-*) # We must be conservative and run lockd,
- # unless we can prove that it's not required.
- NEED_LOCKD=yes
- if test -f /proc/ksyms
- then
- grep -q lockdctl /proc/ksyms || NEED_LOCKD=no
- fi
+*) case `uname -r` in
+ '' | [01].* | 2.[0123].* )
+ # Older kernels may or may not need a lockd daemon.
+ # We must assume they do, unless we can prove otherwise.
+ # (A false positive here results only in a harmless message.)
+ NEED_LOCKD=yes
+ if test -f /proc/ksyms
+ then
+ grep -q lockdctl /proc/ksyms || NEED_LOCKD=no
+ fi
+ ;;
+
+ *) # Modern kernels (>= 2.4) start a lockd thread automatically.
+ NEED_LOCKD=no
+ ;;
+ esac
;;
esac
update-rc.d -f nfs-common remove >/dev/null 2>&1 || true
fi
update-rc.d nfs-common defaults 21 79 >/dev/null
+
+ # Remove obsolete debconf questions
+ if [ -e /usr/share/debconf/confmodule ]; then
+ . /usr/share/debconf/confmodule
+ db_unregister nfs-common/tcpwrappers-statd || true
+ db_stop
+ fi
;;
esac
case "$1" in
purge)
update-rc.d nfs-common remove >/dev/null
+
+ rm -f /var/lib/nfs/state \
+ /var/lib/nfs/sm/* \
+ /var/lib/nfs/sm.bak/*
;;
esac
+++ /dev/null
-Template: nfs-common/tcpwrappers-statd
-Type: note
-_Description: statd uses tcpwrappers
- The statd daemon uses tcpwrappers to control access. To configure it, use
- program name "statd" in /etc/hosts.allow and /etc/hosts.deny.
--- /dev/null
+nfs-utils (1:1.0.1-1) unstable; urgency=low
+
+ * Exports default to "sync", that is, synchronous writes.
+ This is safer but MUCH SLOWER than the old default of "async".
+ All exports should be marked as either "sync" or "async" to
+ avoid a warning from exportfs.
+
+ -- Chip Salzenberg <chip@debian.org> Mon, 26 Aug 2002 12:17:57 -0400
+/etc/exports
/etc/default/nfs-kernel-server
/etc/init.d/nfs-kernel-server
+++ /dev/null
-#!/bin/sh -e
-
-. /usr/share/debconf/confmodule
-
-if grep -s '^/' /etc/exports | grep -vq sync
-then
- db_input high nfs-kernel-server/sync-default || true
-fi
-
-if fgrep -q 'rpc' /etc/hosts.allow /etc/hosts.deny
-then
- db_input high nfs-kernel-server/tcpwrappers-mountd || true
-fi
-
-db_go
#DEBHELPER#
-. /usr/share/debconf/confmodule
-
case "$1" in
configure)
- db_get nfs-kernel-server/tcpwrappers-mountd || true
+ for f in /var/lib/nfs/etab \
+ /var/lib/nfs/rmtab \
+ /var/lib/nfs/xtab; do
+ [ -e $f ] || touch $f
+ done
- touch /var/lib/nfs/etab \
- /var/lib/nfs/rmtab \
- /var/lib/nfs/xtab
+ update-rc.d nfs-kernel-server defaults 20 80 >/dev/null
- if test -s /etc/exports
- then
- : do nothing
- else
- cat <<EOF >/etc/exports
-# /etc/exports: the access control list for filesystems which may be exported
-# to NFS clients. See exports(5).
-EOF
+ # Remove obsolete debconf questions
+ if [ -e /usr/share/debconf/confmodule ]; then
+ . /usr/share/debconf/confmodule
+ db_unregister nfs-kernel-server/sync-default || true
+ db_unregister nfs-kernel-server/tcpwrappers-mountd || true
+ db_stop
fi
-
- # The old nfs-server's init script can't tell that it's been
- # removed, so we have to kill the symlinks to it.
- update-rc.d -f nfs-server remove >/dev/null
-
- update-rc.d nfs-kernel-server defaults 20 80 >/dev/null
;;
esac
-db_stop
-
act="restart"
[ "$1:$2" = "configure:" ] && act="start"
invoke-rc.d nfs-kernel-server $act
case "$1" in
purge)
update-rc.d nfs-kernel-server remove >/dev/null
+
+ rm -f /var/lib/nfs/etab \
+ /var/lib/nfs/rmtab \
+ /var/lib/nfs/xtab
;;
esac
+++ /dev/null
-Template: nfs-kernel-server/sync-default
-Type: note
-_Description: NFS server defaults to synchronous writes
- To comply with standards and increase data safety, the Linux NFS server
- now defaults to synchronous writes. Since this is a major change, it is
- not silent: All exports should be explicitly marked as either "sync" or
- "async". Exports not so marked will elicit warnings.
-
-Template: nfs-kernel-server/tcpwrappers-mountd
-Type: note
-_Description: in /etc/hosts.{allow,deny}, replace "rpc.mountd" with "mountd"
- The mount daemon uses tcpwrappers to control access. To configure it, use
- program name "mountd" in /etc/hosts.allow and /etc/hosts.deny.
- .
- Older versions of nfs-kernel-server included a mount daemon that called
- itself "rpc.mountd". Therefore, you should replace all occurrences of
- "rpc.mountd" with "mountd" in /etc/hosts.allow and /etc/hosts.deny.
build: build-stamp
build-stamp:
+ # Debian source diffs don't reflect removals.
+ # This kludge will suffice until the next upstream version. *sigh*
+ rm -f debian/nfs-common.config \
+ debian/nfs-common.templates \
+ debian/nfs-kernel-server.config \
+ debian/nfs-kernel-server.templates
+
dh_testdir
# Add here commands to compile the package.
$(SETGCC) ./configure \
done; \
rm -f tmp/usr/sbin/*quota*; \
rm -f tmp/usr/share/man/man8/*quota*; \
- rm -rf tmp/var/lib/nfs/*
+ rm -rf tmp/var/lib/nfs/*; \
+ cp --preserve=timestamps etc.exports tmp/etc/exports
# Fixups End Here #
dh_installdocs -A README
dh_installexamples
then the nominted 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.
+
+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.
+
+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).
+
+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.
+
.SS User ID Mapping
.PP
.I nfsd
if (inet_aton(ipaddr, &addr)==0)
return;
+ auth_reload();
+
/* addr is a valid, interesting address, find the domain name... */
client = client_compose(addr);
break;
}
+ auth_reload();
+
/* Now determine export point for this fsid/domain */
for (i=0 ; i < MCL_MAXTYPES; i++) {
for (exp = exportlist[i]; exp; exp = exp->m_next) {
if (qword_get(&cp, path, strlen(lbuf)) <= 0)
goto out;
+ auth_reload();
+
/* now find flags for this export point in this domain */
for (i=0 ; i < MCL_MAXTYPES; i++) {
for (exp = exportlist[i]; exp; exp = exp->m_next) {