From a1e9748781f58269c72767d3633228aba3227433 Mon Sep 17 00:00:00 2001 From: Jakub Sztandera Date: Fri, 15 Jul 2016 21:38:46 +0100 Subject: [PATCH] config: add config option for bloom filter License: MIT Signed-off-by: Jakub Sztandera --- core/builder.go | 6 ++++++ repo/config/datastore.go | 7 ++++--- repo/config/init.go | 1 + 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/core/builder.go b/core/builder.go index 62e9319b9473..111122686026 100644 --- a/core/builder.go +++ b/core/builder.go @@ -136,6 +136,12 @@ func setupNode(ctx context.Context, n *IpfsNode, cfg *BuildCfg) error { var err error bs := bstore.NewBlockstore(n.Repo.Datastore()) opts := bstore.DefaultCacheOpts() + cfg, err := n.Repo.Config() + if err != nil { + return err + } + + opts.HasBloomFilterSize = cfg.Datastore.BloomFilterSize if !cfg.Permament { opts.HasBloomFilterSize = 0 } diff --git a/repo/config/datastore.go b/repo/config/datastore.go index 2b9bf600df24..2b861a113cf9 100644 --- a/repo/config/datastore.go +++ b/repo/config/datastore.go @@ -15,9 +15,10 @@ type Datastore struct { StorageGCWatermark int64 // in percentage to multiply on StorageMax GCPeriod string // in ns, us, ms, s, m, h - Params *json.RawMessage - NoSync bool - HashOnRead bool + Params *json.RawMessage + NoSync bool + HashOnRead bool + BloomFilterSize int } func (d *Datastore) ParamData() []byte { diff --git a/repo/config/init.go b/repo/config/init.go index 8a6c72222ce5..5123e39e9e4c 100644 --- a/repo/config/init.go +++ b/repo/config/init.go @@ -85,6 +85,7 @@ func datastoreConfig() (Datastore, error) { StorageGCWatermark: 90, // 90% GCPeriod: "1h", HashOnRead: false, + BloomFilterSize: 0, }, nil }