sm-notify exists when there are no hosts to notify

This commit is contained in:
Steve Dickson 2008-10-14 18:41:50 +00:00
parent bf258f5230
commit 8ee96464d9
2 changed files with 57 additions and 1 deletions

View File

@ -0,0 +1,51 @@
commit c8d18e26d2a53d9036a32c2dafebccaf4ce1634d
Author: Phil Endecott <phil_bnaqb_endecott@chezphil.org>
Date: Tue Oct 14 14:36:58 2008 -0400
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>
diff --git a/utils/statd/sm-notify.c b/utils/statd/sm-notify.c
index 76a378c..7a7ae1a 100644
--- a/utils/statd/sm-notify.c
+++ b/utils/statd/sm-notify.c
@@ -189,9 +189,13 @@ usage: fprintf(stderr,
exit(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);
}
@@ -207,6 +211,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);
@@ -215,9 +225,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_ERR, "unable to background: %s",
strerror(errno));

View File

@ -2,7 +2,7 @@ Summary: NFS utilities and supporting clients and daemons for the kernel NFS ser
Name: nfs-utils
URL: http://sourceforge.net/projects/nfs
Version: 1.1.3
Release: 5%{?dist}
Release: 6%{?dist}
Epoch: 1
# group all 32bit related archs
@ -41,6 +41,7 @@ Patch107: nfs-utils-1.1.3-mountd-cleanup.patch
Patch108: nfs-utils-1.1.3-mountd-pseudoflavor-support.patch
Patch109: nfs-utils-1.1.3-idmapd-rm-idmapconf.patch
Patch110: nfs-utils-1.1.3-network-conn-udp-ports.patch
Patch111: nfs-utils-1.1.3-smnotify-earlyexit.patch
Group: System Environment/Daemons
Provides: exportfs = %{epoch}:%{version}-%{release}
@ -106,6 +107,7 @@ This package also contains the mount.nfs and umount.nfs program.
%patch108 -p1
%patch109 -p1
%patch110 -p1
%patch111 -p1
# Remove .orig files
find . -name "*.orig" | xargs rm -f
@ -265,6 +267,9 @@ fi
%attr(4755,root,root) /sbin/umount.nfs4
%changelog
* Tue Oct 14 2008 Steve Dickson <steved@redhat.com> 1.1.3-6
- sm-notify exists when there are no hosts to notify
* Thu Sep 18 2008 Steve Dickson <steved@redhat.com> 1.1.3-5
- Reworked init scripts so service will be able to
stop when some of the checks fail. (bz 462508)