Merge commit 'rusty/vacuum-fix-master'
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Thu, 19 Aug 2010 03:16:35 +0000 (13:16 +1000)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Thu, 19 Aug 2010 03:16:35 +0000 (13:16 +1000)
1  2 
include/ctdb_private.h
server/ctdb_freeze.c
server/ctdb_vacuum.c

Simple merge
Simple merge
index 9ec8b31d968934c6cb54101a4b3b469c578a4f33,ec1da3d97b5c034e45b8266a51f6152cf7fa4427..98110148e080ddf87a44e76c23dce0dde286d422
@@@ -801,11 -806,16 +806,17 @@@ ctdb_vacuum_event(struct event_context 
        struct ctdb_db_context *ctdb_db = vacuum_handle->ctdb_db;
        struct ctdb_context *ctdb = ctdb_db->ctdb;
        struct ctdb_vacuum_child_context *child_ctx;
 +      struct tevent_fd *fde;
        int ret;
  
-       /* we dont vacuum if we are in recovery mode */
-       if (ctdb->recovery_mode == CTDB_RECOVERY_ACTIVE) {
+       /* we dont vacuum if we are in recovery mode, or db frozen */
+       if (ctdb->recovery_mode == CTDB_RECOVERY_ACTIVE ||
+           ctdb->freeze_mode[ctdb_db->priority] != CTDB_FREEZE_NONE) {
+               DEBUG(DEBUG_INFO, ("Not vacuuming %s (%s)\n", ctdb_db->db_name,
+                                  ctdb->recovery_mode == CTDB_RECOVERY_ACTIVE ? "in recovery"
+                                  : ctdb->freeze_mode[ctdb_db->priority] == CTDB_FREEZE_PENDING
+                                  ? "freeze pending"
+                                  : "frozen"));
                event_add_timed(ctdb->ev, vacuum_handle, timeval_current_ofs(ctdb->tunable.vacuum_default_interval, 0), ctdb_vacuum_event, vacuum_handle);
                return;
        }