Project

General

Profile

Actions

Bug #2098

closed

xfs/ext4 non-idempotent transaction

Added by Samuel Just about 12 years ago. Updated about 12 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Category:
OSD
Target version:
-
% 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.


Related issues 1 (0 open1 closed)

Related to Ceph - Bug #213: non-idempotent transactions (clone) under ext3 may not replay correct resultResolvedSage Weil06/19/2010

Actions
Actions

Also available in: Atom PDF