Project

General

Profile

Actions

Bug #53129

closed

BlueFS truncate() and poweroff can create corrupted files

Added by Adam Kupczyk over 2 years ago. Updated almost 2 years ago.

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

0%

Source:
Tags:
Backport:
pacific, octopus, nautilus
Regression:
Yes
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

It is possible to create condition in which a BlueFS contains file that is corrupted.
It can happen when BlueFS replay log is on device A and we just wrote to device B and truncated file.

Scenario:
1) write to file h1 on SLOW device
2) flush h1 (initiate data transfer, but no fdatasync yet)
3) truncate h1
4) write to file h2 on DB
5) fsync h2 (forces replay log to be written, after fdatasync to DB)
6) poweroff

In result we have file h1 that is properly declared in replay log, but with uninitialized content.
This happens even with
https://tracker.ceph.com/issues/50965
applied.

I think it is regression introduced by above fix.


Related issues 3 (0 open3 closed)

Copied to bluestore - Backport #53390: nautilus: BlueFS truncate() and poweroff can create corrupted filesRejectedActions
Copied to bluestore - Backport #53391: pacific: BlueFS truncate() and poweroff can create corrupted filesResolvedActions
Copied to bluestore - Backport #53392: octopus: BlueFS truncate() and poweroff can create corrupted filesResolvedAdam KupczykActions
Actions #1

Updated by Adam Kupczyk over 2 years ago

  • Description updated (diff)
Actions #2

Updated by Neha Ojha over 2 years ago

  • Status changed from New to Pending Backport
Actions #3

Updated by Backport Bot over 2 years ago

  • Copied to Backport #53390: nautilus: BlueFS truncate() and poweroff can create corrupted files added
Actions #4

Updated by Backport Bot over 2 years ago

  • Copied to Backport #53391: pacific: BlueFS truncate() and poweroff can create corrupted files added
Actions #5

Updated by Backport Bot over 2 years ago

  • Copied to Backport #53392: octopus: BlueFS truncate() and poweroff can create corrupted files added
Actions #6

Updated by Adam Kupczyk about 2 years ago

  • Pull request ID set to 43774
Actions #7

Updated by Igor Fedotov almost 2 years ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF