diff options
author | Phil Endecott <phil_bnaqb_endecott@chezphil.org> | 2008-10-14 14:36:58 -0400 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2008-10-14 14:36:58 -0400 |
commit | c8d18e26d2a53d9036a32c2dafebccaf4ce1634d (patch) | |
tree | 09b0241814c02f634df1e7ea7546b09b4db476e4 /utils/statd/sm-notify.c | |
parent | fd705586d3ec76a5b324db151b87be1e4514f8af (diff) | |
download | nfs-utils-c8d18e26d2a53d9036a32c2dafebccaf4ce1634d.tar.gz nfs-utils-c8d18e26d2a53d9036a32c2dafebccaf4ce1634d.tar.xz nfs-utils-c8d18e26d2a53d9036a32c2dafebccaf4ce1634d.zip |
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>
Diffstat (limited to 'utils/statd/sm-notify.c')
-rw-r--r-- | utils/statd/sm-notify.c | 13 |
1 files changed, 10 insertions, 3 deletions
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)); |