Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.2
nfs-utils
sm-notify-no-sync.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File sm-notify-no-sync.patch of Package nfs-utils
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 | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) --- nfs-utils-1.1.3.orig/utils/statd/sm-notify.c +++ nfs-utils-1.1.3/utils/statd/sm-notify.c @@ -152,10 +152,15 @@ 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) + 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); + } } if (opt_srcaddr) { @@ -169,6 +174,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 +188,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));
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor