lib/db: Hold the bloom filter the right way (fixes #6614) (#6617)

This commit is contained in:
Jakob Borg
2020-05-08 14:18:00 +02:00
committed by GitHub
parent b0b3abf76b
commit c0c18a568c
+3 -3
View File
@@ -647,7 +647,7 @@ func (db *Lowlevel) gcIndirect(ctx context.Context) error {
} }
key := blockListKey(it.Key()) key := blockListKey(it.Key())
if blockFilter.Has(bloomHash(key)) { if blockFilter.Has(bloomHash(key.BlocksHash())) {
matchedBlocks++ matchedBlocks++
continue continue
} }
@@ -672,8 +672,8 @@ func (db *Lowlevel) gcIndirect(ctx context.Context) error {
// Hash function for the bloomfilter: first eight bytes of the SHA-256. // Hash function for the bloomfilter: first eight bytes of the SHA-256.
// Big or little-endian makes no difference, as long as we're consistent. // Big or little-endian makes no difference, as long as we're consistent.
func bloomHash(key blockListKey) uint64 { func bloomHash(key []byte) uint64 {
return binary.BigEndian.Uint64(key.BlocksHash()) return binary.BigEndian.Uint64(key)
} }
// CheckRepair checks folder metadata and sequences for miscellaneous errors. // CheckRepair checks folder metadata and sequences for miscellaneous errors.