diff options
| author | 2026-06-14 14:13:45 +0000 | |
|---|---|---|
| committer | 2026-06-14 14:13:45 +0000 | |
| commit | c9fdf61bd91875cdc71559cd9bab8314ad8775e1 (patch) | |
| tree | cd970e43d1c47fa8888bbb99f760c8cf13fdf0b8 /object/store/packed/pack.go | |
| parent | internal/format/packidx/bloom: Add trailers (diff) | |
object/store/packed, cmd/idx-bloom: NewBuilder wants a PackHash
Diffstat (limited to 'object/store/packed/pack.go')
| -rw-r--r-- | object/store/packed/pack.go | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/object/store/packed/pack.go b/object/store/packed/pack.go index ba865e51..9cd6162b 100644 --- a/object/store/packed/pack.go +++ b/object/store/packed/pack.go @@ -73,7 +73,7 @@ func openPack(root *os.Root, name string, objectFormat id.ObjectFormat) (*pack, return nil, fmt.Errorf("%w: pack %q: %w", ErrMalformedPackedStore, name, err) } - bloomMapping, filter := openBloom(root, name, objectFormat) + bloomMapping, filter := openBloom(root, name, objectFormat, idx.PackHash()) return &pack{ name: name, @@ -86,7 +86,7 @@ func openPack(root *os.Root, name string, objectFormat id.ObjectFormat) (*pack, }, nil } -func openBloom(root *os.Root, name string, objectFormat id.ObjectFormat) (*mmap.Mmap, *bloom.Bloom) { +func openBloom(root *os.Root, name string, objectFormat id.ObjectFormat, packHash []byte) (*mmap.Mmap, *bloom.Bloom) { mapping, err := mapFile(root, name+".bloom") if err != nil { return nil, nil @@ -99,6 +99,12 @@ func openBloom(root *os.Root, name string, objectFormat id.ObjectFormat) (*mmap. return nil, nil } + if !bytes.Equal(filter.PackHash(), packHash) { + _ = mapping.Close() + + return nil, nil + } + return mapping, &filter } |
