ReadOnly: After performing a recovery, clear out all flags related to readonly delega...
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Wed, 20 Jul 2011 03:08:21 +0000 (13:08 +1000)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Wed, 20 Jul 2011 03:08:21 +0000 (13:08 +1000)
server/ctdb_recover.c

index eb3bf0a50c7dca2f9cbb31304d64b0e6ed9a4c95..38466ab56038bb398028b47e4acccf89e682de9a 100644 (file)
@@ -469,6 +469,11 @@ int32_t ctdb_control_push_db(struct ctdb_context *ctdb, TDB_DATA indata)
                        goto failed;
                }
                hdr = (struct ctdb_ltdb_header *)data.dptr;
+               /* strip off any read only record flags. All readonly records
+                  are revoked implicitely by a recovery
+               */
+               hdr->flags &= ~(CTDB_REC_RO_HAVE_DELEGATIONS|CTDB_REC_RO_HAVE_READONLY|CTDB_REC_RO_REVOKING_READONLY|CTDB_REC_RO_REVOKE_COMPLETE);
+
                data.dptr += sizeof(*hdr);
                data.dsize -= sizeof(*hdr);