]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commit
rbd-mirror: avoid deleting image snapshots that are part of a group snapshot
authorPrasanna Kumar Kalever <prasanna.kalever@redhat.com>
Tue, 16 Dec 2025 13:47:26 +0000 (19:17 +0530)
committerPrasanna Kumar Kalever <prasanna.kalever@redhat.com>
Tue, 27 Jan 2026 06:15:21 +0000 (11:45 +0530)
commit9236ecf2b46ef6172987dee48f9934e3eb4b95c7
treeaa7a6ab41366106cb5623b4730f22a9fcea20574
parent56e17170f286ba5f9bf4eb10162fb777c9255352
rbd-mirror: avoid deleting image snapshots that are part of a group snapshot

On daemon restart, the image replayer currently deletes and recreates image
snapshots if object copying has not yet started, in order to avoid missing
image state such as object-map or metadata.

This logic is unnecessary for image snapshot part of mirror group snapshots. By
the time a group snapshot reaches GROUP_SNAPSHOT_STATE_CREATED, all member
image snapshots are already guaranteed to be in the CREATED state. Deleting
such image snapshots provides no benefit and can cause group snapshots to
become stuck (in current case) waiting for such image snapshots.

Skip image snapshot deletion when the snapshot is part of a group snapshot.
A follow-up commit will address handling group snapshots that remain in
GROUP_SNAPSHOT_STATE_CREATING across a daemon restart by deleting and
allowing the syncing recreating the group snapshot as a whole.

Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc