2008-10-14 18:41:50 +00:00
|
|
|
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>
|
|
|
|
|
2008-10-14 18:59:05 +00:00
|
|
|
diff -up nfs-utils-1.1.3/utils/statd/sm-notify.c.orig nfs-utils-1.1.3/utils/statd/sm-notify.c
|
|
|
|
--- nfs-utils-1.1.3/utils/statd/sm-notify.c.orig 2008-10-14 14:51:49.000000000 -0400
|
|
|
|
+++ nfs-utils-1.1.3/utils/statd/sm-notify.c 2008-10-14 14:52:58.000000000 -0400
|
|
|
|
@@ -154,9 +154,13 @@ usage: fprintf(stderr,
|
|
|
|
return 1;
|
2008-10-14 18:41:50 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
+ 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);
|
|
|
|
}
|
|
|
|
|
2008-10-14 18:59:05 +00:00
|
|
|
@@ -171,6 +175,12 @@ usage: fprintf(stderr,
|
2008-10-14 18:41:50 +00:00
|
|
|
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);
|
2008-10-14 18:59:05 +00:00
|
|
|
@@ -179,9 +189,6 @@ usage: fprintf(stderr,
|
2008-10-14 18:41:50 +00:00
|
|
|
if (!opt_quiet)
|
|
|
|
printf("Backgrounding to notify hosts...\n");
|
|
|
|
|
|
|
|
- openlog("sm-notify", LOG_PID, LOG_DAEMON);
|
|
|
|
- log_syslog = 1;
|
|
|
|
-
|
|
|
|
if (daemon(0, 0) < 0) {
|
2008-10-14 18:59:05 +00:00
|
|
|
nsm_log(LOG_WARNING, "unable to background: %s",
|
2008-10-14 18:41:50 +00:00
|
|
|
strerror(errno));
|