diff options
author | Ronnie Sahlberg <ronniesahlberg@gmail.com> | 2012-02-21 06:54:09 +1100 |
---|---|---|
committer | Ronnie Sahlberg <ronniesahlberg@gmail.com> | 2012-02-21 06:54:09 +1100 |
commit | cdc232f2dd798100a608c5a4845391d3c07899ad (patch) | |
tree | 7a36fa10614d1a859b51a558b23d92d2b618fea5 /ctdb/server/ctdb_ltdb_server.c | |
parent | af424b151c0bfa400021787cd5aba0a0e568fe2f (diff) | |
download | samba-cdc232f2dd798100a608c5a4845391d3c07899ad.tar.gz samba-cdc232f2dd798100a608c5a4845391d3c07899ad.tar.xz samba-cdc232f2dd798100a608c5a4845391d3c07899ad.zip |
READONLY: dont schedule for fast vacuum deletion if any of the readonly record flags are set
(This used to be ctdb commit b3307d78fd15f446b423f8cdd1e403f89fbe8ac8)
Diffstat (limited to 'ctdb/server/ctdb_ltdb_server.c')
-rw-r--r-- | ctdb/server/ctdb_ltdb_server.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ctdb/server/ctdb_ltdb_server.c b/ctdb/server/ctdb_ltdb_server.c index e699c2ad80..8e183e87a4 100644 --- a/ctdb/server/ctdb_ltdb_server.c +++ b/ctdb/server/ctdb_ltdb_server.c @@ -83,7 +83,7 @@ static int ctdb_ltdb_store_server(struct ctdb_db_context *ctdb_db, */ if (data.dsize != 0) { keep = true; - } else if (header->flags & (CTDB_REC_RO_HAVE_DELEGATIONS|CTDB_REC_RO_HAVE_READONLY)) { + } else if (header->flags & (CTDB_REC_RO_HAVE_DELEGATIONS|CTDB_REC_RO_HAVE_READONLY|CTDB_REC_RO_REVOKING_READONLY|CTDB_REC_RO_REVOKE_COMPLETE)) { keep = true; } else if (ctdb_db->persistent) { keep = true; @@ -128,7 +128,8 @@ static int ctdb_ltdb_store_server(struct ctdb_db_context *ctdb_db, if (keep) { if ((data.dsize == 0) && !ctdb_db->persistent && - (ctdb_db->ctdb->pnn == header->dmaster)) + (ctdb_db->ctdb->pnn == header->dmaster) && + !(header->flags & (CTDB_REC_RO_HAVE_DELEGATIONS|CTDB_REC_RO_HAVE_READONLY|CTDB_REC_RO_REVOKING_READONLY|CTDB_REC_RO_REVOKE_COMPLETE))) { schedule_for_deletion = true; } |