Project

General

Profile

Bug #16362

Journal needs to handle duplicate maintenance op tids

Added by Jason Dillaman almost 8 years ago. Updated over 7 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Jason Dillaman
Target version:
-
% Done:

0%

Source:
other
Tags:
Backport:
jewel
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

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.


Related issues

Copied to rbd - Backport #16424: jewel: Journal needs to handle duplicate maintenance op tids Resolved

History

#1 Updated by Jason Dillaman almost 8 years ago

  • Backport set to jewel

#2 Updated by Jason Dillaman almost 8 years ago

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.

#3 Updated by Jason Dillaman almost 8 years ago

  • Status changed from New to In Progress
  • Assignee set to Jason Dillaman

#4 Updated by Jason Dillaman almost 8 years ago

  • Status changed from In Progress to Fix Under Review

#5 Updated by Mykola Golub almost 8 years ago

  • Status changed from Fix Under Review to Pending Backport

#6 Updated by Nathan Cutler almost 8 years ago

  • Copied to Backport #16424: jewel: Journal needs to handle duplicate maintenance op tids added

#7 Updated by Loïc Dachary over 7 years ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF