diff options
author | Ronnie Sahlberg <ronniesahlberg@gmail.com> | 2011-11-17 13:34:29 +1100 |
---|---|---|
committer | Ronnie Sahlberg <ronniesahlberg@gmail.com> | 2011-11-18 12:22:22 +1100 |
commit | 0581fd85e6f8ac84d0249920acbb295d9d111bf6 (patch) | |
tree | e6d0a7595237154d5b5ed63dbff4a5cf89c6ade2 /ctdb/server/ctdb_monitor.c | |
parent | 44de394796b8b4f1b046ccf226372cd8ba9ad768 (diff) | |
download | samba-0581fd85e6f8ac84d0249920acbb295d9d111bf6.tar.gz samba-0581fd85e6f8ac84d0249920acbb295d9d111bf6.tar.xz samba-0581fd85e6f8ac84d0249920acbb295d9d111bf6.zip |
Eventscripts: Add special -ECANCELED status for monitor events that are cancelled
When a monitor event is canceled by a higher priority script, make sure we return
status -ECANCELED to the callback in ctdB_monitor.c
Also treat -ECANCELED as a simple "try monitor event again" and skip modifying any HEALTHY/UNHEALTHY flags when this happens
(This used to be ctdb commit a15ec57c26d1bc82af85f74eebae0bd8abde3233)
Diffstat (limited to 'ctdb/server/ctdb_monitor.c')
-rw-r--r-- | ctdb/server/ctdb_monitor.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ctdb/server/ctdb_monitor.c b/ctdb/server/ctdb_monitor.c index f0879d0a77..7258d3957a 100644 --- a/ctdb/server/ctdb_monitor.c +++ b/ctdb/server/ctdb_monitor.c @@ -125,6 +125,11 @@ static void ctdb_health_callback(struct ctdb_context *ctdb, int status, void *p) rddata.dptr = (uint8_t *)&rd; rddata.dsize = sizeof(rd); + if (status == -ECANCELED) { + DEBUG(DEBUG_ERR,("Monitoring event was cancelled\n")); + goto after_change_status; + } + if (status == -ETIME) { ctdb->event_script_timeouts++; |