bool seqnum_suppressed = false;
bool keep = false;
bool schedule_for_deletion = false;
+ bool remove_from_delete_queue = false;
uint32_t lmaster;
if (ctdb->flags & CTDB_FLAG_TORTURE) {
keep = true;
}
- if (keep &&
- (data.dsize == 0) &&
- !ctdb_db->persistent &&
- (ctdb_db->ctdb->pnn == header->dmaster))
- {
- schedule_for_deletion = true;
+ if (keep) {
+ if ((data.dsize == 0) &&
+ !ctdb_db->persistent &&
+ (ctdb_db->ctdb->pnn == header->dmaster))
+ {
+ schedule_for_deletion = true;
+ }
+ remove_from_delete_queue = !schedule_for_deletion;
}
store:
tdb_errorstr(ctdb_db->ltdb->tdb)));
schedule_for_deletion = false;
+ remove_from_delete_queue = false;
}
if (seqnum_suppressed) {
tdb_add_flags(ctdb_db->ltdb->tdb, TDB_SEQNUM);
}
}
+ if (remove_from_delete_queue) {
+ ctdb_local_remove_from_delete_queue(ctdb_db, header, key);
+ }
+
return ret;
}