summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2011-02-22 22:24:50 +0100
committerMichael Adam <obnox@samba.org>2011-02-24 10:35:24 +0100
commitc9df23ae1d210eda9245c185c0f3e324157b5025 (patch)
tree6119e38d1b04e88cad50ad6741783572e3ed7aa6
parent92f86534ac148bae49fdb51580f949ba7a08b421 (diff)
downloadsamba-c9df23ae1d210eda9245c185c0f3e324157b5025.tar.gz
samba-c9df23ae1d210eda9245c185c0f3e324157b5025.tar.xz
samba-c9df23ae1d210eda9245c185c0f3e324157b5025.zip
persistent_callback: ignore the update-recordreturn code of remote node in recovery
If a recovery was started, then all further processing of the update_record controls sent by the trans3_commit control is disabled. The recovery should trigger sending the reply for the update record control when finished. (This used to be ctdb commit 12cf0619255b12230843cd8bb49cbfdea376ca2f)
-rw-r--r--ctdb/server/ctdb_persistent.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ctdb/server/ctdb_persistent.c b/ctdb/server/ctdb_persistent.c
index f9a20510c9..3f297fa22f 100644
--- a/ctdb/server/ctdb_persistent.c
+++ b/ctdb/server/ctdb_persistent.c
@@ -53,6 +53,12 @@ static void ctdb_persistent_callback(struct ctdb_context *ctdb,
struct ctdb_persistent_state *state = talloc_get_type(private_data,
struct ctdb_persistent_state);
+ if (ctdb->recovery_mode != CTDB_RECOVERY_NORMAL) {
+ DEBUG(DEBUG_INFO, ("ctdb_persistent_callback: ignoring reply "
+ "during recovery\n"));
+ return;
+ }
+
if (status != 0) {
DEBUG(DEBUG_ERR,("ctdb_persistent_callback failed with status %d (%s)\n",
status, errormsg));