Project

General

Profile

Bug #21807

mds: trims all unpinned dentries when memory limit is reached

Added by Patrick Donnelly over 6 years ago. Updated over 6 years ago.

Status:
Resolved
Priority:
Immediate
Category:
-
Target version:
-
% 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.

https://bugzilla.redhat.com/show_bug.cgi?id=1502178


Related issues

Copied to CephFS - Backport #21810: luminous: mds: trims all unpinned dentries when memory limit is reached Resolved

History

#1 Updated by Patrick Donnelly over 6 years ago

  • Status changed from New to Fix Under Review

#2 Updated by Patrick Donnelly over 6 years ago

  • Copied to Backport #21810: luminous: mds: trims all unpinned dentries when memory limit is reached added

#3 Updated by Patrick Donnelly over 6 years ago

  • Status changed from Fix Under Review to Pending Backport

#4 Updated by Patrick Donnelly over 6 years ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF