diff --git a/libnetwork/datastore/cache.go b/libnetwork/datastore/cache.go index 4effdfea23..1e6eec6558 100644 --- a/libnetwork/datastore/cache.go +++ b/libnetwork/datastore/cache.go @@ -13,10 +13,10 @@ type kvMap map[string]KVObject type cache struct { sync.Mutex kmm map[string]kvMap - ds *Store + ds store.Store } -func newCache(ds *Store) *cache { +func newCache(ds store.Store) *cache { return &cache{kmm: make(map[string]kvMap), ds: ds} } @@ -40,7 +40,7 @@ func (c *cache) kmap(kvObject KVObject) (kvMap, error) { return nil, errors.New("error while populating kmap, object does not implement KVConstructor interface") } - kvList, err := c.ds.store.List(keyPrefix) + kvList, err := c.ds.List(keyPrefix) if err != nil { if err == store.ErrKeyNotFound { // If the store doesn't have anything then there is nothing to diff --git a/libnetwork/datastore/datastore.go b/libnetwork/datastore/datastore.go index f17b339dc2..ea7fb39615 100644 --- a/libnetwork/datastore/datastore.go +++ b/libnetwork/datastore/datastore.go @@ -143,10 +143,7 @@ func newClient(kv string, addr string, config *store.Config) (*Store, error) { return nil, err } - ds := &Store{scope: scope.Local, store: s} - ds.cache = newCache(ds) - - return ds, nil + return &Store{scope: scope.Local, store: s, cache: newCache(s)}, nil } // New creates a new Store instance.