Mailinglist Archive: opensuse-commit (480 mails)

< Previous Next >
commit nfs-utils for openSUSE:Factory
  • From: root@xxxxxxxxxxxxxxx (h_root)
  • Date: Mon, 16 Nov 2009 14:24:37 +0100
  • Message-id: <20091116132437.E453A202A6@xxxxxxxxxxxxxxx>

Hello community,

here is the log from the commit of package nfs-utils for openSUSE:Factory
checked in at Mon Nov 16 14:24:37 CET 2009.



--------
--- nfs-utils/nfs-utils.changes 2009-10-06 14:15:12.000000000 +0200
+++ /mounts/work_src_done/STABLE/nfs-utils/nfs-utils.changes 2009-11-05
04:19:01.000000000 +0100
@@ -1,0 +2,26 @@
+Thu Nov 5 03:16:22 UTC 2009 - nfbrown@xxxxxxxxxx
+
+- New upsteam release - 1.2.1
+ Includes new config file: /etc/nfsmount.conf and
+ man page.
+- nfs.init
+ * implement try-restart in a more gentle fashion
+ so that active mounts are not lost. Also allow
+ for the fact that binary has changed when finding
+ and killing running daemons. (bnc#5439110)
+- start-statd
+ * try-restart the firewall after starting statd
+ as the firewall might need to update to reflect
+ a new port number.
+- Start nfs services if any nfs related sysctl
+ is set in /etc/sysctl.conf
+
+-------------------------------------------------------------------
+Fri Oct 30 05:43:32 CET 2009 - nfbrown@xxxxxxx
+
+- Kill processes on NFS mounts when unmounting
+ for shutdown. This allows any 'sync' to happen
+ before we turn off the network.
+ (bnc#503640)
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


Old:
----
fork-start-statd.patch
nfs-utils-1.1.2-connect-UDP.patch
nfs-utils-1.1.2-try-before-mount.patch
nfs-utils-1.1.3.tar.bz2
rpc.gssd-catch-signal.patch
sm-notify-no-sync.patch
svcgssd-mem-leak

New:
----
idmapd.conf
nfs-utils-1.2.1.tar.bz2
start-statd

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nfs-utils.spec ++++++
--- /var/tmp/diff_new_pack.AyQIUr/_old 2009-11-16 14:15:32.000000000 +0100
+++ /var/tmp/diff_new_pack.AyQIUr/_new 2009-11-16 14:15:32.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package nfs-utils (Version 1.1.3)
+# spec file for package nfs-utils (Version 1.2.1)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -26,8 +26,8 @@
%endif
Url: http://nfs.sourceforge.net
Summary: Support Utilities for Kernel nfsd
-Version: 1.1.3
-Release: 20
+Version: 1.2.1
+Release: 1
Group: Productivity/Networking/NFS
License: GPL v2 or later
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -45,14 +45,10 @@
Source8: fw-server
Source9: mkinitrd-setup.sh
Source10: mkinitrd-boot.sh
+Source11: idmapd.conf
+Source12: start-statd
Patch0: nfs-utils-1.0.7-bind-syntax.patch
-Patch1: nfs-utils-1.1.2-try-before-mount.patch
-Patch2: nfs-utils-1.1.2-connect-UDP.patch
-Patch3: sm-notify-no-sync.patch
-Patch4: rpc.gssd-catch-signal.patch
-Patch5: fork-start-statd.patch
-Patch6: warn-nfs-udp.patch
-Patch7: svcgssd-mem-leak
+Patch1: warn-nfs-udp.patch

%description
This package contains the NFS utilities. You can tune the number of
@@ -131,12 +127,6 @@
%setup -q -n nfs-utils-%{version} -a 1
%patch0 -p1
%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
cp %{S:6} .

%build
@@ -148,6 +138,7 @@
--enable-nfsv4 \
--enable-gss \
--enable-mount \
+ --enable-mountconfig \
--with-krb5=/usr/lib/mit
make
cd nfs
@@ -160,7 +151,7 @@
done

%install
-make install DESTDIR=$RPM_BUILD_ROOT
+make install-strip DESTDIR=$RPM_BUILD_ROOT
rm -f linux-nfs/Makefile*
# rc-script
install -d $RPM_BUILD_ROOT/etc/init.d
@@ -172,7 +163,7 @@
mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
install -m 644 %{SOURCE4} $RPM_BUILD_ROOT/var/adm/fillup-templates
# idmapd setup
-install -m 644 utils/idmapd/idmapd.conf $RPM_BUILD_ROOT/etc/idmapd.conf
+install -m 644 %{S:11} $RPM_BUILD_ROOT/etc/idmapd.conf
mkdir -p -m 755 $RPM_BUILD_ROOT/var/lib/nfs/rpc_pipefs
mkdir -p -m 755 $RPM_BUILD_ROOT/var/lib/nfs/v4recovery
mkdir -p -m 755 $RPM_BUILD_ROOT/usr/share/omc/svcinfo.d
@@ -187,6 +178,8 @@
install -d $RPM_BUILD_ROOT/lib/mkinitrd/scripts
install -m 755 %{S:9} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/setup-nfs.sh
install -m 755 %{S:10} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/boot-nfs.sh
+install -m 755 %{S:12} $RPM_BUILD_ROOT/usr/sbin/start-statd
+install -m 644 utils/mount/nfsmount.conf $RPM_BUILD_ROOT/etc/nfsmount.conf

%clean
rm -rf $RPM_BUILD_ROOT
@@ -220,6 +213,7 @@
%defattr(-,root,root)
%config /etc/init.d/nfs
%config /etc/idmapd.conf
+%config /etc/nfsmount.conf
%dir /lib/mkinitrd
%dir /lib/mkinitrd/scripts
/lib/mkinitrd/scripts/setup-nfs.sh
@@ -240,6 +234,7 @@
/usr/sbin/sm-notify
/usr/sbin/start-statd
%{_mandir}/man5/idmapd.conf.5.gz
+%{_mandir}/man5/nfsmount.conf.5.gz
%{_mandir}/man5/nfs.5.gz
%{_mandir}/man8/mount.nfs.8.gz
%{_mandir}/man8/nfsstat.8.gz

++++++ idmapd.conf ++++++
[General]

Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = localdomain

[Mapping]

Nobody-User = nobody
Nobody-Group = nobody
++++++ nfs.init ++++++
--- /var/tmp/diff_new_pack.AyQIUr/_old 2009-11-16 14:15:32.000000000 +0100
+++ /var/tmp/diff_new_pack.AyQIUr/_new 2009-11-16 14:15:32.000000000 +0100
@@ -39,6 +39,9 @@
opt=""
mnt=""
nfs=$NFS_START_SERVICES
+if [ "x$nfs" != "xyes" ]
+then nfs=no
+fi

while read what where type options rest ; do
case "$what" in
@@ -89,6 +92,9 @@
if test "$NFS4_SUPPORT" = yes ; then
NEED_IDMAPD=yes
fi
+if grep -E '^(sunrpc|fs.nfs)' /etc/sysctl.conf > /dev/null 2>&1 ; then
+ nfs=yes
+fi

check_portmap() {
# check if either portmap or rpcbind is running
@@ -144,7 +150,7 @@
do_start_idmapd() {
mount_rpc_pipefs

- # as idmapd needs to be run be server and client
+ # as idmapd needs to be run by server and client
# check if there is already a idmapd running
if checkproc $IDMAPD_BIN && test -f $IDMAPD_SERVER_STATE; then
killproc -HUP $IDMAPD_BIN
@@ -164,7 +170,7 @@
echo -n "Not starting NFS client services - no NFS found in /etc/fstab:"
rc_status -u
;;
- start-yes|reload-yes|force-start-*)
+ start-yes|force-start-*)
echo -n "Starting NFS client services:"
if ! check_portmap ; then
echo "portmap/rpcbind is not running"
@@ -239,7 +245,18 @@
echo -n " root filesystem is on NFS"
rc_status -s
else
-
+ # kill process to maximise chance that umount succeeds
+ mnt=`awk '$3 ~ /^nfs4*$/ {print $2}' /proc/mounts`
+ runlevel=`runlevel | awk '{print $2}'`
+ if test "$runlevel" -eq 0 -o "$runlevel" -eq 6; then
+ if test -n "$mnt" ; then
+ /sbin/mkill -TERM $mnt
+ fi
+ fi
+
+ # if filesystems are not busy, wait for unmount to complete..
+ umount -at nfs,nfs4
+ # if they are still busy, do a lazy unmount anyway.
umount -alt nfs,nfs4

# stop gssd
@@ -271,7 +288,14 @@
rc_status -v
fi
;;
- restart*|force-reload*)
+ reload*|force-reload*)
+ # only IDMAP has any sense in which 'reload' makes sense.
+ if checkproc $IDMAPD_BIN; then
+ killproc -HUP $IDMAPD_BIN
+ fi
+ rc_status
+ ;;
+ restart*)
## Stop the service and regardless of whether it was
## running or not, start it again.
$0 stop
@@ -301,13 +325,28 @@
rc_status -v
;;
try-restart*|condrestart*)
- $0 status
- if test $? -eq 0; then
- $0 restart
- else
- rc_reset
+ # This restart is not only conditional on the services already
+ # running, but is also gentler in that NFS filesystems are
+ # not unmounted or remounted.
+ # It is possible that the programs have been reinstalled so
+ # we pass a basename rather than a full path to checkproc and killproc
+ echo -n "Restarting NFS services:"
+ if checkproc ${GSSD_BIN##*/}; then
+ echo -n " gssd"
+ killproc ${GSSD_BIN##*/}
+ startproc $GSSD_BIN
fi
- rc_status
+ if checkproc ${IDMAPD_BIN##*/}; then
+ echo -n " idmapd"
+ killproc ${IDMAPD_BIN##*/}
+ startproc $IDMAPD_BIN
+ fi
+ if checkproc ${STATD_BIN##*/}; then
+ echo -n " statd"
+ killproc ${STATD_BIN##*/}
+ /usr/sbin/start-statd
+ fi
+ rc_status -v
;;
*)
echo "Usage: $0
{start|stop|status|reload|force-reload|restart|try-restart}"


++++++ nfs-utils-1.0.7-bind-syntax.patch ++++++
--- /var/tmp/diff_new_pack.AyQIUr/_old 2009-11-16 14:15:32.000000000 +0100
+++ /var/tmp/diff_new_pack.AyQIUr/_new 2009-11-16 14:15:32.000000000 +0100
@@ -2,11 +2,13 @@
support/include/misc.h | 3
support/include/nfslib.h | 1

================================================================================
-Index: nfs-utils-1.1.2/support/nfs/exports.c
-===================================================================
---- nfs-utils-1.1.2.orig/support/nfs/exports.c
-+++ nfs-utils-1.1.2/support/nfs/exports.c
-@@ -627,6 +627,8 @@ bad_option:
+---
+ support/nfs/exports.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- nfs-utils-1.2.1.orig/support/nfs/exports.c
++++ nfs-utils-1.2.1/support/nfs/exports.c
+@@ -621,6 +621,8 @@ bad_option:
} else if (strncmp(opt, "replicas=", 9) == 0) {
ep->e_fslocmethod = FSLOC_REPLICA;
ep->e_fslocdata = strdup(opt+9);

++++++ nfs-utils-1.1.3.tar.bz2 -> nfs-utils-1.2.1.tar.bz2 ++++++
++++ 116840 lines of diff (skipped)

++++++ start-statd ++++++
#!/bin/sh -p
# nfsmount calls this script when mounting a filesystem with locking
# enabled, but when statd does not seem to be running (based on
# /var/run/rpc.statd.pid).
# It should run run statd with whatever flags are apropriate for this
# site.
PATH=/sbin:/usr/sbin:/bin:/usr/bin
rpc.statd --no-notify
# in case firewall needs to punch a hole for the
# statd port...
/etc/init.d/SuSEfirewall2_setup try-restart > /dev/null 2>&1

++++++ warn-nfs-udp.patch ++++++
--- /var/tmp/diff_new_pack.AyQIUr/_old 2009-11-16 14:15:33.000000000 +0100
+++ /var/tmp/diff_new_pack.AyQIUr/_new 2009-11-16 14:15:33.000000000 +0100
@@ -1,8 +1,12 @@
-Index: nfs-utils-1.1.3/utils/mount/nfs.man
-===================================================================
---- nfs-utils-1.1.3.orig/utils/mount/nfs.man
-+++ nfs-utils-1.1.3/utils/mount/nfs.man
-@@ -438,6 +438,8 @@ Specifying
+---
+ utils/mount/nfs.man | 83
+++++++++++++++++++++++++++++++++++++++++++++++++
+ utils/mount/nfsmount.c | 3 +
+ utils/mount/stropts.c | 13 +++++++
+ 3 files changed, 99 insertions(+)
+
+--- nfs-utils-1.2.1.orig/utils/mount/nfs.man
++++ nfs-utils-1.2.1/utils/mount/nfs.man
+@@ -497,6 +497,8 @@ Specifying
.B proto=udp
forces all traffic types to use UDP.
.IP
@@ -11,7 +15,7 @@
If the
.B proto
mount option is not specified, the
-@@ -452,6 +454,8 @@ The
+@@ -511,6 +513,8 @@ The
option is an alternative to specifying
.BR proto=udp.
It is included for compatibility with other operating systems.
@@ -20,28 +24,19 @@
.TP 1.5i
.B tcp
The
-@@ -799,7 +803,7 @@ dropped requests, but this can result in
- and server load.
- .P
- However, UDP can be quite effective in specialized settings where
--the network’s MTU is large relative to NFS’s data transfer size (such
-+the network's MTU is large relative to NFS's data transfer size (such
- as network environments that enable jumbo Ethernet frames). In such
- environments, trimming the
- .B rsize
-@@ -811,6 +815,8 @@ in a single frame) is advised. This r
- the loss of a single MTU-sized network frame results in the loss of
+@@ -896,6 +900,8 @@ in a single frame) is advised. This r
+ the loss of a single MTU-sized network frame results in the loss of
an entire large read or write request.
.P
+Please see also the WARNINGS section below.
+.P
- TCP is the default transport protocol used for all modern NFS
+ TCP is the default transport protocol used for all modern NFS
implementations. It performs well in almost every conceivable
- network environment and provides excellent guarantees against data
-@@ -1179,6 +1185,83 @@ of Access Control Lists that are semanti
- NFS version 4 ACLs are not fully compatible with POSIX ACLs; as such,
+ network environment and provides excellent guarantees against data
+@@ -1444,6 +1450,83 @@ of Access Control Lists that are semanti
+ NFS version 4 ACLs are not fully compatible with POSIX ACLs; as such,
some translation between the two is required
- in an environment that mixes POSIX ACLs and NFS version 4.
+ in an environment that mixes POSIX ACLs and NFS version 4.
+.SH WARNINGS
+Using NFS over UDP on high-speed links such as Gigabit
+.BR "can cause silent data corruption" .
@@ -122,10 +117,8 @@
.SH FILES
.TP 1.5i
.I /etc/fstab
-Index: nfs-utils-1.1.3/utils/mount/nfsmount.c
-===================================================================
---- nfs-utils-1.1.3.orig/utils/mount/nfsmount.c
-+++ nfs-utils-1.1.3/utils/mount/nfsmount.c
+--- nfs-utils-1.2.1.orig/utils/mount/nfsmount.c
++++ nfs-utils-1.2.1/utils/mount/nfsmount.c
@@ -263,6 +263,9 @@ parse_options(char *old_opts, struct nfs
if (!strcmp(opteq+1, "udp")) {
nfs_pmap->pm_prot = IPPROTO_UDP;
@@ -136,47 +129,16 @@
#if NFS_MOUNT_VERSION >= 2
data->flags &= ~NFS_MOUNT_TCP;
} else if (!strcmp(opteq+1, "tcp") &&
-Index: nfs-utils-1.1.3/utils/mount/stropts.c
-===================================================================
---- nfs-utils-1.1.3.orig/utils/mount/stropts.c
-+++ nfs-utils-1.1.3/utils/mount/stropts.c
-@@ -389,14 +389,28 @@ static struct mount_options *nfs_rewrite
- po_remove_all(options, "proto");
- }
- if (strcmp(option, "udp") == 0) {
-+ static int once = 0;
- nfs_server.pmap.pm_prot = IPPROTO_UDP;
- po_remove_all(options, "proto");
-+ if (!once)
-+ fprintf(stderr,
-+ "Using NFS over UDP can cause data
corruption.\n"
-+ "Please refer to the WARNINGS section of the
nfs(5) manual page.\n");
-+ once = 1;
-+
- }
- }
- p = po_rightmost(options, "tcp", "udp");
- switch (p) {
- case PO_KEY2_RIGHTMOST:
- nfs_server.pmap.pm_prot = IPPROTO_UDP;
-+ {static int once = 0;
-+ if (!once)
-+ fprintf(stderr,
-+ "Using NFS over UDP can cause data corruption.\n"
-+ "Please refer to the WARNINGS section of the nfs(5)
manual page.\n");
-+ once = 1;
-+ }
- break;
- case PO_KEY1_RIGHTMOST:
- nfs_server.pmap.pm_prot = IPPROTO_TCP;
-@@ -565,11 +579,24 @@ static int nfs_try_nfs23mount(struct nfs
- static int nfs_try_nfs4mount(struct nfsmount_info *mi)
+--- nfs-utils-1.2.1.orig/utils/mount/stropts.c
++++ nfs-utils-1.2.1/utils/mount/stropts.c
+@@ -530,11 +530,24 @@ static int nfs_sys_mount(struct nfsmount
{
- char **extra_opts = mi->extra_opts;
+ char *options = NULL;
+ int result;
+ char *proto;
+ static int once = 0;

- if (po_join(mi->options, extra_opts) == PO_FAILED) {
+ if (po_join(opts, &options) == PO_FAILED) {
errno = EIO;
return 0;
}
@@ -193,4 +155,4 @@
+

if (verbose)
- printf(_("%s: text-based options: '%s'\n"),
+ printf(_("%s: trying text-based options '%s'\n"),


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx

< Previous Next >
This Thread
  • No further messages