Actions
Bug #2098
closedxfs/ext4 non-idempotent transaction
% Done:
0%
Source:
Development
Tags:
Backport:
Regression:
Severity:
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
Forcing a sync after a non-idempotent transaction is not adequate to ensure correctness during journal replay.
Consider the following transaction:
clone(a,b)
write(a)
[sync]
A crash between the write and the sync will cause the b to have the wrong contents since this transaction will be replayed. collection_add presents a particular problem during recovery:
T1:
touch(a)
write(a)
T2:
write(a)
unlink(b)
link(a,b)
unlink(a)
[sync]
A crash between the unlink and the sync will cause T2 (but not necessarily T1) to be replayed resulting b failing to contain the data written during T1.
Updated by Sage Weil about 12 years ago
- Status changed from New to In Progress
- Assignee set to Sage Weil
Updated by Sage Weil about 12 years ago
- Status changed from In Progress to 7
merged. passing initial tests. will hammer on it more with sam's new thing.
Actions