Actions
Bug #21807
closedmds: trims all unpinned dentries when memory limit is reached
% Done:
0%
Source:
Development
Tags:
Backport:
luminous
Regression:
No
Severity:
2 - major
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
MDS
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
Generally dentries are pinned by the client cache so this was easy to miss in testing. Bug is here:
https://github.com/ceph/ceph/blob/5a96d19fc0cf2a3a04641cb2fa608f08b91279a2/src/mds/MDCache.cc#L6461
count will underflow is it is 0 (count=0 indicates to trim until the cache is no longer toofull).
This bug is particularly bad for large directory workloads where the mjaority of dentries are unpinned because clients are only reading a small selectoin of dentries from each dirfrag.
Actions