diff options
Diffstat (limited to 'ctdb/server/ctdb_persistent.c')
-rw-r--r-- | ctdb/server/ctdb_persistent.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ctdb/server/ctdb_persistent.c b/ctdb/server/ctdb_persistent.c index 59ddadb042..b686cbdee8 100644 --- a/ctdb/server/ctdb_persistent.c +++ b/ctdb/server/ctdb_persistent.c @@ -117,6 +117,12 @@ int32_t ctdb_control_trans2_commit(struct ctdb_context *ctdb, return -1; } + if (ctdb_db->unhealthy_reason) { + DEBUG(DEBUG_ERR,("db(%s) unhealty in ctdb_control_trans2_commit: %s\n", + ctdb_db->db_name, ctdb_db->unhealthy_reason)); + return -1; + } + /* handling num_persistent_updates is a bit strange - there are 3 cases 1) very old clients, which never called CTDB_CONTROL_START_PERSISTENT_UPDATE @@ -597,6 +603,12 @@ int32_t ctdb_control_update_record(struct ctdb_context *ctdb, return -1; } + if (ctdb_db->unhealthy_reason) { + DEBUG(DEBUG_ERR,("db(%s) unhealty in ctdb_control_update_record: %s\n", + ctdb_db->db_name, ctdb_db->unhealthy_reason)); + return -1; + } + state = talloc(ctdb, struct ctdb_persistent_write_state); CTDB_NO_MEMORY(ctdb, state); |