This commit is contained in:
parent
92c20eda49
commit
a7b913941a
@ -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
|
||||
|
||||
|
@ -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.
|
||||
|
39
rpc.gssd-catch-signal.patch
Normal file
39
rpc.gssd-catch-signal.patch
Normal 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
53
sm-notify-no-sync.patch
Normal 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));
|
Loading…
Reference in New Issue
Block a user