summaryrefslogtreecommitdiffstats
path: root/utils/statd/monitor.c
diff options
context:
space:
mode:
authorneilbrown <neilbrown>2004-09-06 02:15:04 +0000
committerneilbrown <neilbrown>2004-09-06 02:15:04 +0000
commitaf93e0306d87bba3f703386fd6390e9bf8e76816 (patch)
treeec1caa91d3ccb07af6bd36ff583148390e56ea1d /utils/statd/monitor.c
parent2c91715a9c8dbf18df1666f70e78d6e36e123ca0 (diff)
downloadnfs-utils-af93e0306d87bba3f703386fd6390e9bf8e76816.tar.gz
nfs-utils-af93e0306d87bba3f703386fd6390e9bf8e76816.tar.xz
nfs-utils-af93e0306d87bba3f703386fd6390e9bf8e76816.zip
Support --ha-callout for high-availability callouts
Diffstat (limited to 'utils/statd/monitor.c')
-rw-r--r--utils/statd/monitor.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/utils/statd/monitor.c b/utils/statd/monitor.c
index 8c1bb50..3b81bdd 100644
--- a/utils/statd/monitor.c
+++ b/utils/statd/monitor.c
@@ -19,6 +19,7 @@
#include "misc.h"
#include "statd.h"
#include "notlist.h"
+#include "ha-callout.h"
notify_list * rtnl = NULL; /* Run-time notify list. */
@@ -177,6 +178,8 @@ sm_mon_1_svc(struct mon *argp, struct svc_req *rqstp)
goto failure;
}
free(path);
+ /* PRC: do the HA callout: */
+ ha_callout("add-client", mon_name, my_name, -1);
nlist_insert(&rtnl, clnt);
close(fd);
@@ -232,6 +235,10 @@ sm_unmon_1_svc(struct mon_id *argp, struct svc_req *rqstp)
/* Match! */
dprintf(N_DEBUG, "UNMONITORING %s for %s",
mon_name, my_name);
+
+ /* PRC: do the HA callout: */
+ ha_callout("del-client", mon_name, my_name, -1);
+
nlist_free(&rtnl, clnt);
xunlink(SM_DIR, mon_name, 1);
@@ -276,6 +283,8 @@ sm_unmon_all_1_svc(struct my_id *argp, struct svc_req *rqstp)
sizeof (mon_name) - 1);
mon_name[sizeof (mon_name) - 1] = '\0';
temp = NL_NEXT(clnt);
+ /* PRC: do the HA callout: */
+ ha_callout("del-client", mon_name, argp->my_name, -1);
nlist_free(&rtnl, clnt);
xunlink(SM_DIR, mon_name, 1);
++count;