OBS User unknown 2008-11-20 14:56:51 +00:00 committed by Git OBS Bridge
parent 92c20eda49
commit a7b913941a
4 changed files with 133 additions and 2 deletions

View File

@ -1,3 +1,25 @@
-------------------------------------------------------------------
Thu Nov 20 03:10:20 CET 2008 - nfbrown@suse.de
- rpc.gssd-catch-signal.patch
* new patch (not yet upstream) to make sure
rpc.gssd gets signals from dnotify.
bnc#406832
-------------------------------------------------------------------
Wed Nov 19 23:42:23 CET 2008 - nfbrown@suse.de
- sm-notify-no-sync.patch
* new upstream patch to avoid sync() in common
case of no peers to notify.
Important for speeding boot of SLED
-------------------------------------------------------------------
Tue Nov 18 21:43:59 CET 2008 - nfbrown@suse.de
- nfs-utils.spec: typo in command to install
modprobe.d/nfs-utils
-------------------------------------------------------------------
Fri Nov 14 03:19:34 CET 2008 - nfbrown@suse.de

View File

@ -27,7 +27,7 @@ BuildRequires: libevent
Url: http://nfs.sourceforge.net
Summary: Support Utilities for Kernel nfsd
Version: 1.1.3
Release: 10
Release: 11
Group: Productivity/Networking/NFS
License: GPL v2 or later
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -49,6 +49,8 @@ Source11: modprobe.nfs-utils
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
%description
This package contains the NFS utilities. You can tune the number of
@ -128,6 +130,8 @@ Authors:
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
cp %{S:6} .
%build
@ -179,7 +183,7 @@ 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 -d $RPM_BUILD_ROOT/etc/modprobe.d
install -m 644 ${S:11} $RPM_BUILD_ROOT/etc/modprobe.d/nfs-utils
install -m 644 %{S:11} $RPM_BUILD_ROOT/etc/modprobe.d/nfs-utils
%clean
rm -rf $RPM_BUILD_ROOT
@ -286,6 +290,19 @@ rm -rf $RPM_BUILD_ROOT
%doc nfs/*.html nfs/*.ps linux-nfs/* README.NFSv4
%changelog
* Thu Nov 20 2008 nfbrown@suse.de
- rpc.gssd-catch-signal.patch
* new patch (not yet upstream) to make sure
rpc.gssd gets signals from dnotify.
bnc#406832
* Wed Nov 19 2008 nfbrown@suse.de
- sm-notify-no-sync.patch
* new upstream patch to avoid sync() in common
case of no peers to notify.
Important for speeding boot of SLED
* Tue Nov 18 2008 nfbrown@suse.de
- nfs-utils.spec: typo in command to install
modprobe.d/nfs-utils
* Fri Nov 14 2008 nfbrown@suse.de
- nfsserver.init
* don't set version if nfsd already running.

View File

@ -0,0 +1,39 @@
Make sure signal used by 'dnotify' is not blocked.
Some desktop environments block all realtime signals
and they remain blocked for all child processes.
So if you run rpc.gssd from a terminal window, the
signal it used for dnotify is blocked and never
deliverred. So it doesn't work.
So we unblock that signal.
bnc#406832
Signed-off-by: NeilBrown <neilb@suse.de>
Index: nfs-utils-1.1.3/utils/gssd/gssd_main_loop.c
===================================================================
--- nfs-utils-1.1.3.orig/utils/gssd/gssd_main_loop.c
+++ nfs-utils-1.1.3/utils/gssd/gssd_main_loop.c
@@ -99,6 +99,7 @@ gssd_run()
int ret;
struct sigaction dn_act;
int fd;
+ sigset_t set;
/* Taken from linux/Documentation/dnotify.txt: */
dn_act.sa_sigaction = dir_notify_handler;
@@ -106,6 +107,11 @@ gssd_run()
dn_act.sa_flags = SA_SIGINFO;
sigaction(DNOTIFY_SIGNAL, &dn_act, NULL);
+ /* just in case the signal is blocked... */
+ sigemptyset(&set);
+ sigaddset(&set, DNOTIFY_SIGNAL);
+ sigprocmask(SIG_UNBLOCK, &set, NULL);
+
if ((fd = open(pipefs_nfsdir, O_RDONLY)) == -1) {
printerr(0, "ERROR: failed to open %s: %s\n",
pipefs_nfsdir, strerror(errno));

53
sm-notify-no-sync.patch Normal file
View File

@ -0,0 +1,53 @@
From c8d18e26d2a53d9036a32c2dafebccaf4ce1634d Mon Sep 17 00:00:00 2001
From: Phil Endecott <phil_bnaqb_endecott@chezphil.org>
Date: Tue, 14 Oct 2008 14:36:58 -0400
Subject: [PATCH] sm-notify should exit as soon as its determined
there are no hosts to notify. This also decreases
start up time by a few seconds.
Signed-off-by: Steve Dickson <steved@redhat.com>
---
utils/statd/sm-notify.c | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
Index: nfs-utils-1.1.3/utils/statd/sm-notify.c
===================================================================
--- nfs-utils-1.1.3.orig/utils/statd/sm-notify.c
+++ nfs-utils-1.1.3/utils/statd/sm-notify.c
@@ -152,9 +152,13 @@ usage: fprintf(stderr,
return 1;
}
+ log_syslog = 1;
+ openlog("sm-notify", LOG_PID, LOG_DAEMON);
+
if (strcmp(_SM_BASE_PATH, BASEDIR) == 0) {
if (record_pid() == 0 && force == 0 && opt_update_state == 1)
/* already run, don't try again */
+ nsm_log(LOG_NOTICE, "Already notifying clients; Exiting!");
exit(0);
}
@@ -169,6 +173,12 @@ usage: fprintf(stderr,
backup_hosts(_SM_DIR_PATH, _SM_BAK_PATH);
get_hosts(_SM_BAK_PATH);
+ /* If there are not hosts to notify, just exit */
+ if (!hosts) {
+ nsm_log(LOG_DEBUG, "No hosts to notify; exiting");
+ return 0;
+ }
+
/* Get and update the NSM state. This will call sync() */
nsm_state = nsm_get_state(opt_update_state);
set_kernel_nsm_state(nsm_state);
@@ -177,9 +187,6 @@ usage: fprintf(stderr,
if (!opt_quiet)
printf("Backgrounding to notify hosts...\n");
- openlog("sm-notify", LOG_PID, LOG_DAEMON);
- log_syslog = 1;
-
if (daemon(0, 0) < 0) {
nsm_log(LOG_WARNING, "unable to background: %s",
strerror(errno));