Project

General

Profile

Bug #19401

MDS goes readonly writing backtrace for a file whose data pool has been removed

Added by John Spray 8 months ago. Updated 4 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Correctness/Safety
Target version:
-
Start date:
03/28/2017
Due date:
% Done:

0%

Source:
Tags:
Backport:
jewel, kraken
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Release:
Component(FS):
MDS
Needs Doc:
No

Description

Reproduce:
1. create a pool
2. add it as a data pool
3. set that pool in a layout on the client, and write a file
4. unmount the client
5. try doing "ceph daemon mds.<id> flush journal"

You'll get:

2017-03-28 13:23:05.625372 mds.0 [ERR] failed to store backtrace on ino 10000000001 object, pool 3, errno -2
2017-03-28 13:23:05.625405 mds.0 [WRN] force file system read-only

There isn't a neat way to prevent users from doing this, because even if they are well behaved and remove all their files in a pool before removing the pool, we might not be done purging them and/or writing backtraces for them.

If we can't stop the pool getting removed, we need to cope gracefully with it being gone, in the case of writing a backtrace, following a backtrace during hardlink resolution, file size recovery, and delete file purging.


Related issues

Copied to fs - Backport #19668: jewel: MDS goes readonly writing backtrace for a file whose data pool has been removed Resolved
Copied to fs - Backport #19669: kraken: MDS goes readonly writing backtrace for a file whose data pool has been removed Resolved

History

#1 Updated by John Spray 8 months ago

  • Status changed from New to Need Review

So on reflection I realise that the deletion/recovery cases are not an issue because those code paths already handle ENOENT.

https://github.com/ceph/ceph/pull/14207

#2 Updated by John Spray 8 months ago

  • Backport set to jewel, kraken

#3 Updated by John Spray 7 months ago

  • Assignee set to John Spray

#4 Updated by John Spray 7 months ago

  • Status changed from Need Review to Pending Backport

#5 Updated by Nathan Cutler 7 months ago

  • Copied to Backport #19668: jewel: MDS goes readonly writing backtrace for a file whose data pool has been removed added

#6 Updated by Nathan Cutler 7 months ago

  • Copied to Backport #19669: kraken: MDS goes readonly writing backtrace for a file whose data pool has been removed added

#7 Updated by Nathan Cutler 4 months ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF