Bug #16362
closed
Journal needs to handle duplicate maintenance op tids
Added by Jason Dillaman almost 8 years ago.
Updated over 7 years ago.
Description
The ops can be re-used over new instantiations of librbd since they should have a unique journal tag each time the exclusive lock is acquired. This additional field needs to used to ensure a unique match.
rbd::mirror::ImageReplayer::replay_flush should be modified to invoke a new method in librbd::journal::Replay to flush in-flight IO and op events and cancel any pending op events. The 'replay_flush' method only gets invoked when a new tag is detected in the replay stream. Essentially we want to shut down the Replay object and restart from a clean state, so perhaps librbd::Journal::start_external_replay could be modified to perform this shut down / restart if already in external replay mode.
- Status changed from New to In Progress
- Assignee set to Jason Dillaman
- Status changed from In Progress to Fix Under Review
- Status changed from Fix Under Review to Pending Backport
- Copied to Backport #16424: jewel: Journal needs to handle duplicate maintenance op tids added
- Status changed from Pending Backport to Resolved
Also available in: Atom
PDF