Project

General

Profile

Actions

Bug #21807

closed

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 1 (0 open1 closed)

Copied to CephFS - Backport #21810: luminous: mds: trims all unpinned dentries when memory limit is reachedResolvedPatrick DonnellyActions
Actions #1

Updated by Patrick Donnelly over 6 years ago

  • Status changed from New to Fix Under Review
Actions #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
Actions #3

Updated by Patrick Donnelly over 6 years ago

  • Status changed from Fix Under Review to Pending Backport
Actions #4

Updated by Patrick Donnelly over 6 years ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF