diff options
author | Ronnie Sahlberg <ronniesahlberg@gmail.com> | 2011-07-20 13:08:21 +1000 |
---|---|---|
committer | Ronnie Sahlberg <ronniesahlberg@gmail.com> | 2011-08-23 10:24:18 +1000 |
commit | 6ff039d44461cb131d98faf0c55758675ba8a51f (patch) | |
tree | ffdbc16fb48497d46561187cc1b7e1e259fd929d /ctdb/server/ctdb_recover.c | |
parent | 49923d4fdc4dfaa702fd07c4db58912cc6994023 (diff) | |
download | samba-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.c | 5 |
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); |