]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
mds: trim null dentries proactively
authorJohn Spray <john.spray@redhat.com>
Thu, 4 Aug 2016 11:25:39 +0000 (12:25 +0100)
committerJohn Spray <john.spray@redhat.com>
Wed, 7 Sep 2016 11:52:04 +0000 (12:52 +0100)
commit86f6522ded2ec2df943832c33aecd4460aead7df
tree6a532f175b1aa87cc1010302f004c19315f5a5ed
parent3942ac4d278663356a963e7968132a4768ce7473
mds: trim null dentries proactively

Instead of leaving null dentries (e.g. left
behind from unlinks) in the cache until they
fall out of the LRU, actively push them
to the bottom of the LRU and then consume
all nulls at the bottom in trim() even if
the cache is not oversized yet.

This fixes the case where standby replay daemons
would otherwise accumulate a cache full of
null dentries resulting from unlinks, and it
makes the behaviour of active daemons more
deterministic.

Fixes: http://tracker.ceph.com/issues/16919
Signed-off-by: John Spray <john.spray@redhat.com>
src/mds/MDCache.cc
src/mds/MDLog.cc
src/mds/journal.cc