Bug #14822
Journal replay needs to support replaying successful maintenance ops
Status:
Resolved
Priority:
Normal
Assignee:
Jason Dillaman
Target version:
-
% Done:
0%
Source:
other
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
For example:
journal snap create start
snap create
journal snap create finish
<crash>
snap create
- 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.
Associated revisions
librbd: support replay of maintenance ops
Ignore errors that are to be expected when replaying
a maintenance op two or more times.
Fixes: #14822
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
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.
Fixes: #14822
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
History
#1 Updated by Jason Dillaman about 8 years ago
- Description updated (diff)
#2 Updated by Jason Dillaman about 8 years ago
- Status changed from New to In Progress
- Assignee set to Jason Dillaman
#3 Updated by Jason Dillaman about 8 years ago
- Status changed from In Progress to Fix Under Review
#4 Updated by Josh Durgin about 8 years ago
- Status changed from Fix Under Review to Resolved