Project

General

Profile

Bug #53724

mds: stray directories are not purged when all past parents are clear

Added by Patrick Donnelly over 2 years ago. Updated 12 months ago.

Status:
Pending Backport
Priority:
Normal
Category:
Correctness/Safety
Target version:
% Done:

0%

Source:
Development
Tags:
backport_processed
Backport:
reef,quincy,pacific
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
MDS
Labels (FS):
scrub, snapshots, task(easy), task(intern)
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

(Note to experienced CephFS devs: let's save this for a newer dev!)

If a directory is not purged because it has past parents (due to snapshots), then it stays in the stray directory. If that snapshot is later removed, the stray directory will not be purged until the MDS is forcibly restarted (e.g. from `ceph mds fail X`). This happens in:

https://github.com/ceph/ceph/blob/7659877b16284516df102f60f866af9d0fa37bb3/src/mds/MDCache.cc#L9926

The fix to this bug either may be teaching scrub to evaluate all strays in the ~mdsdir or to regularly (~1 min?) evaluate strays.

Be sure to write tests for this. It can be reproduced by limiting the number of files in the stray directories using the configs mds_bal_fragment_size_max and mds_bal_split_size.


Related issues

Copied to CephFS - Backport #59260: reef: mds: stray directories are not purged when all past parents are clear In Progress
Copied to CephFS - Backport #59261: pacific: mds: stray directories are not purged when all past parents are clear Resolved
Copied to CephFS - Backport #59262: quincy: mds: stray directories are not purged when all past parents are clear In Progress

History

#1 Updated by Xiubo Li about 2 years ago

  • Status changed from New to In Progress
  • Assignee set to Xiubo Li

#2 Updated by Xiubo Li about 2 years ago

  • Status changed from In Progress to New
  • Assignee deleted (Xiubo Li)

#3 Updated by Xiubo Li about 2 years ago

Sorry, didn't carefully read the description, already renewed it :-)

#4 Updated by Dhairya Parmar almost 2 years ago

  • Assignee set to Dhairya Parmar

#5 Updated by Dhairya Parmar almost 2 years ago

  • Status changed from New to In Progress

#6 Updated by Patrick Donnelly over 1 year ago

  • Target version deleted (v17.0.0)

#7 Updated by Xiubo Li over 1 year ago

  • Status changed from In Progress to Fix Under Review
  • Pull request ID set to 47649

#8 Updated by Venky Shankar 12 months ago

  • Category set to Correctness/Safety
  • Target version set to v19.0.0
  • Backport changed from pacific,octopus to reef,quincy,pacific
  • Labels (FS) scrub added

#9 Updated by Venky Shankar 12 months ago

  • Status changed from Fix Under Review to Resolved

#10 Updated by Dhairya Parmar 12 months ago

  • Status changed from Resolved to Pending Backport

#11 Updated by Backport Bot 12 months ago

  • Copied to Backport #59260: reef: mds: stray directories are not purged when all past parents are clear added

#12 Updated by Backport Bot 12 months ago

  • Copied to Backport #59261: pacific: mds: stray directories are not purged when all past parents are clear added

#13 Updated by Backport Bot 12 months ago

  • Copied to Backport #59262: quincy: mds: stray directories are not purged when all past parents are clear added

#14 Updated by Backport Bot 12 months ago

  • Tags set to backport_processed

Also available in: Atom PDF