summaryrefslogtreecommitdiffstats
path: root/ctdb/server/ctdb_recover.c
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronniesahlberg@gmail.com>2011-07-20 13:08:21 +1000
committerRonnie Sahlberg <ronniesahlberg@gmail.com>2011-08-23 10:24:18 +1000
commit6ff039d44461cb131d98faf0c55758675ba8a51f (patch)
treeffdbc16fb48497d46561187cc1b7e1e259fd929d /ctdb/server/ctdb_recover.c
parent49923d4fdc4dfaa702fd07c4db58912cc6994023 (diff)
downloadsamba-6ff039d44461cb131d98faf0c55758675ba8a51f.tar.gz
samba-6ff039d44461cb131d98faf0c55758675ba8a51f.tar.xz
samba-6ff039d44461cb131d98faf0c55758675ba8a51f.zip
ReadOnly: After performing a recovery, clear out all flags related to readonly delegations and revoke
(This used to be ctdb commit 9985a97e11688f3f688bb84e1180fd57c42077f4)
Diffstat (limited to 'ctdb/server/ctdb_recover.c')
-rw-r--r--ctdb/server/ctdb_recover.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ctdb/server/ctdb_recover.c b/ctdb/server/ctdb_recover.c
index eb3bf0a50c..38466ab560 100644
--- a/ctdb/server/ctdb_recover.c
+++ b/ctdb/server/ctdb_recover.c
@@ -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);