Feature #545
mds: use bloom filter to supplement dirfrag COMPLETE flag
0%
Description
Currently we need the complete flag (or a cached negative dentry) to conclude a name does not exist in a frag before we can create it. This means that (especially for large dirs) once a single dentry is trimmed, we need to reload the whole dir when we have a miss.
We should supplement the complete flag with a bloom filter (which gives false positives but never false negatives), and add trimmed/released items to the filter. If a bloom filter check gives a false, we know the item was never trimmed, and can safely instantiate it.
History
#1 Updated by Sage Weil over 13 years ago
- Assignee set to Greg Farnum
#2 Updated by Greg Farnum over 13 years ago
- Target version changed from 12 to v0.24
#3 Updated by Sage Weil over 13 years ago
- Estimated time set to 4.00 h
- Source set to 2
#4 Updated by Greg Farnum over 13 years ago
Trying to find a bloom filter library. Unfortunately there don't seem to be any available under a GPL-compatible license, so I emailed the guy whose library wins at Google (and looks most mature!) to ask if we can get GPL-compatible licensing.
#5 Updated by Greg Farnum over 13 years ago
- Status changed from New to 7
Pushed it to branch "mds" (which I apparently created, but thought existed...weird!). Testing it now on a secondary install.
#6 Updated by Sage Weil over 13 years ago
- Status changed from 7 to Resolved
merged commit:4303820b43721a8b46ef36d0e9ef4e1167857c80
#7 Updated by John Spray over 7 years ago
- Project changed from Ceph to CephFS
- Category deleted (
1) - Target version deleted (
v0.24)
Bulk updating project=ceph category=mds bugs so that I can remove the MDS category from the Ceph project to avoid confusion.