The "undo" code in Mirror::group_promote() is wrong both for orderly promote and force promote -- undoing promote should involve removing the promotion snapshot, not creating a demotion snapshot on top of it. This should be relatively easy to fix for orderly promote, but force promote is complicated by the possibility of some member images having been rolled back or, even worse, rollback failing in the middle for one or more member image. In this case the existing code would produce a completely corrupted group. Until rollbacks (and force promote sequence in general) are coordinated between member images such that it's easy to tell which step failed and where exactly the error is coming from, reliable undo is simply impossible.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Important: Red Hat Ceph Storage 8.1 security, bug fix, and enhancement updates), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2025:9775