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 #1

Updated by Sage Weil about 12 years ago

  • Priority changed from Normal to High
Actions #2

Updated by Anonymous about 12 years ago

  • Priority changed from High to Urgent
Actions #3

Updated by Sage Weil about 12 years ago

  • Category set to OSD
Actions #4

Updated by Sage Weil about 12 years ago

  • Status changed from New to In Progress
  • Assignee set to Sage Weil
Actions #5

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 #6

Updated by Sage Weil about 12 years ago

  • Status changed from 7 to Resolved
Actions

Also available in: Atom PDF