Journal replay needs to support replaying successful maintenance ops
journal snap create start
journal snap create finish
- ERROR: snap already exists
Similarly, if we are missing the finish op event, we still need to re-apply the op to avoid an inconsistent state.
librbd: apply orphaned maintenance ops after journal replay
If a client recorded a maintenance op to the journal but crashed
before writing the op finish event, the image will be in an
inconsistent state. Therefore, once the end of the journal is
reached, attempt to apply all queued ops.