| 470 | "kept oldest ancestor (len=%zu)\n", |
| 471 | victim, (int)entries_[victim].protect, |
| 472 | entries_[victim].ids.size(), entries_.front().ids.size()); |
| 473 | } |
| 474 | } else { |
| 475 | // Skip the in-flight restore source so the new snapshot lands in a |
| 476 | // different slot (the http_server/agent-replay guards would cancel |
| 477 | // an unlucky collision, leaving the restore point pinned). With a |
| 478 | // vacancy and cap >= 2 there is always a non-restore slot to take; |
| 479 | // cap == 1 keeps the old guard behavior. |
| 480 | slot = next_slot_; |
| 481 | if (slot == restore_source_slot && cap_ > 1) { |