Project

General

Profile

Actions

Bug #53724

open

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

Added by Patrick Donnelly over 2 years ago. Updated about 1 year 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 3 (2 open1 closed)

Copied to CephFS - Backport #59260: reef: mds: stray directories are not purged when all past parents are clearIn ProgressDhairya ParmarActions
Copied to CephFS - Backport #59261: pacific: mds: stray directories are not purged when all past parents are clearResolvedDhairya ParmarActions
Copied to CephFS - Backport #59262: quincy: mds: stray directories are not purged when all past parents are clearIn ProgressDhairya ParmarActions
Actions

Also available in: Atom PDF