@cryptotaxi247 / kubo / commits / 0782c4dc0

encode keys to datastore with base32 standard encoding

Fixes #2601 Also bump version to 0.4.3-dev License: MIT Signed-off-by: Jeromy <why@ipfs.io>

Jeromy committed Jun 22, 2016 at 14:28 UTC 0782c4dc030a30f9145f7cf7078ec16d05c744fb
56 files changed +121 -144
Godeps/_workspace/src/bazil.org/fuse/syscallx/syscallx_std.go
+1 -1
@@ -6,7 +6,7 @@ package syscallx
6 // the right stuff in golang.org/x/sys/unix.
7
8 import (
9 - "gx/ipfs/QmTsTrxKNXu8sZLv7FP6p884CHoDbT9upKA1j4FkCy5V7T/sys/unix"
9 + "gx/ipfs/QmXPKMT5cT8ajqamSD1YaeEpfeaHvs9AU4MQzte4Bkr6V4/sys/unix"
10 )
11
12 func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
blocks/blockstore/blockstore.go
+14 -9
@@ -11,10 +11,10 @@ import (
11 key "github.com/ipfs/go-ipfs/blocks/key"
12 logging "gx/ipfs/QmNQynaz7qfriSUJkiEZUrm2Wen1u3Kj9goZzWtrPyu7XR/go-log"
13 mh "gx/ipfs/QmYf7ng2hG5XBtJA3tN34DQ2GUN5HNksEw1rLDkmr6vGku/go-multihash"
14 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
15 - dsns "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/namespace"
16 - dsq "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/query"
14 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
15 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
16 + dsns "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/namespace"
17 + dsq "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/query"
18 )
19
20 var log = logging.Logger("blockstore")
@@ -164,26 +164,31 @@ func (bs *blockstore) AllKeysChan(ctx context.Context) (<-chan key.Key, error) {
164 }
165
166 // this function is here to compartmentalize
167 - get := func() (k key.Key, ok bool) {
167 + get := func() (key.Key, bool) {
168 select {
169 case <-ctx.Done():
170 - return k, false
170 + return "", false
171 case e, more := <-res.Next():
172 if !more {
173 - return k, false
173 + return "", false
174 }
175 if e.Error != nil {
176 log.Debug("blockstore.AllKeysChan got err:", e.Error)
177 - return k, false
177 + return "", false
178 }
179
180 // need to convert to key.Key using key.KeyFromDsKey.
181 - k = key.KeyFromDsKey(ds.NewKey(e.Key))
181 + k, err := key.KeyFromDsKey(ds.NewKey(e.Key))
182 + if err != nil {
183 + log.Warningf("error parsing key from DsKey: ", err)
184 + return "", true
185 + }
186 log.Debug("blockstore: query got key", k)
187
188 // key must be a multihash. else ignore it.
185 - _, err := mh.Cast([]byte(k))
189 + _, err = mh.Cast([]byte(k))
190 if err != nil {
191 + log.Warningf("key from datastore was not a multihash: ", err)
192 return "", true
193 }
194
blocks/blockstore/blockstore_test.go
+3 -3
@@ -5,10 +5,10 @@ import (
5 "fmt"
6 "testing"
7
8 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
9 - dsq "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/query"
10 - ds_sync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
8 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
9 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
10 + dsq "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/query"
11 + ds_sync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
12
13 blocks "github.com/ipfs/go-ipfs/blocks"
14 key "github.com/ipfs/go-ipfs/blocks/key"
blocks/blockstore/write_cache_test.go
+3 -3
@@ -4,9 +4,9 @@ import (
4 "testing"
5
6 "github.com/ipfs/go-ipfs/blocks"
7 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
8 - dsq "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/query"
9 - syncds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
7 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
8 + dsq "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/query"
9 + syncds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
10 )
11
12 func TestReturnsErrorWhenSizeNegative(t *testing.T) {
blocks/key/key.go
+8 -30
@@ -6,7 +6,8 @@ import (
6
7 b58 "gx/ipfs/QmT8rehPR3F6bmwL6zjUN8XpiDBFFpMP2myPdC6ApsWfJf/go-base58"
8 mh "gx/ipfs/QmYf7ng2hG5XBtJA3tN34DQ2GUN5HNksEw1rLDkmr6vGku/go-multihash"
9 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
9 + base32 "gx/ipfs/Qmb1DA2A9LS2wR4FFweB4uEDomFsdmnw1VLawLE1yQzudj/base32"
10 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
11 )
12
13 // Key is a string representation of multihash for use with maps.
@@ -38,7 +39,7 @@ func B58KeyEncode(k Key) string {
39
40 // DsKey returns a Datastore key
41 func (k Key) DsKey() ds.Key {
41 - return ds.NewKey(string(k))
42 + return ds.NewKey(base32.RawStdEncoding.EncodeToString([]byte(k)))
43 }
44
45 // UnmarshalJSON returns a JSON-encoded Key (string)
@@ -68,36 +69,13 @@ func (k *Key) Loggable() map[string]interface{} {
69 }
70
71 // KeyFromDsKey returns a Datastore key
71 -func KeyFromDsKey(dsk ds.Key) Key {
72 - return Key(dsk.String()[1:])
73 -}
74 -
75 -// B58KeyConverter -- for KeyTransform datastores
76 -// (static as only one obj needed)
77 -var B58KeyConverter = b58KeyConverter{}
78 -
79 -type b58KeyConverter struct{}
80 -
81 -// ConvertKey returns a B58 encoded Datastore key
82 -// TODO: this is hacky because it encodes every path component. some
83 -// path components may be proper strings already...
84 -func (b58KeyConverter) ConvertKey(dsk ds.Key) ds.Key {
85 - k := ds.NewKey("/")
86 - for _, n := range dsk.Namespaces() {
87 - k = k.ChildString(b58.Encode([]byte(n)))
72 +func KeyFromDsKey(dsk ds.Key) (Key, error) {
73 + dec, err := base32.RawStdEncoding.DecodeString(dsk.String()[1:])
74 + if err != nil {
75 + return "", err
76 }
89 - return k
90 -}
77
92 -// InvertKey returns a b58 decoded Datastore key
93 -// TODO: this is hacky because it encodes every path component. some
94 -// path components may be proper strings already...
95 -func (b58KeyConverter) InvertKey(dsk ds.Key) ds.Key {
96 - k := ds.NewKey("/")
97 - for _, n := range dsk.Namespaces() {
98 - k = k.ChildString(string(b58.Decode(n)))
99 - }
100 - return k
78 + return Key(dec), nil
79 }
80
81 // KeySlice is used for sorting Keys
blockservice/test/blocks_test.go
+2 -2
@@ -11,10 +11,10 @@ import (
11 key "github.com/ipfs/go-ipfs/blocks/key"
12 . "github.com/ipfs/go-ipfs/blockservice"
13 offline "github.com/ipfs/go-ipfs/exchange/offline"
14 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
15 - dssync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
14 u "gx/ipfs/QmZNVWh8LLjAavuQ2JXuFmuYH3C11xo988vSgp7UQrTRj1/go-ipfs-util"
15 "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
16 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
17 + dssync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
18 )
19
20 func TestBlocks(t *testing.T) {
core/builder.go
+2 -2
@@ -14,8 +14,8 @@ import (
14 pin "github.com/ipfs/go-ipfs/pin"
15 repo "github.com/ipfs/go-ipfs/repo"
16 cfg "github.com/ipfs/go-ipfs/repo/config"
17 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
18 - dsync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
17 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
18 + dsync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
19
20 pstore "gx/ipfs/QmQdnfvZQuhdT93LNc5bos52wAmdr3G2p6G8teLJMEN32P/go-libp2p-peerstore"
21 goprocessctx "gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess/context"
core/core.go
+1 -1
@@ -25,7 +25,6 @@ import (
25 b58 "gx/ipfs/QmT8rehPR3F6bmwL6zjUN8XpiDBFFpMP2myPdC6ApsWfJf/go-base58"
26 ic "gx/ipfs/QmUWER4r4qMvaCnX5zREcfyiWN7cXN9g3a7fkRqNz8qWPP/go-libp2p-crypto"
27 ma "gx/ipfs/QmYzDkkgAEmrcNzFCiYo6L1dTX4EAG1gZkbtdbd9trL4vd/go-multiaddr"
28 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
28 discovery "gx/ipfs/QmZ8bCZpMWDbFSh6h2zgTYwrhnjrGM5c9WCzw72SU8p63b/go-libp2p/p2p/discovery"
29 p2phost "gx/ipfs/QmZ8bCZpMWDbFSh6h2zgTYwrhnjrGM5c9WCzw72SU8p63b/go-libp2p/p2p/host"
30 p2pbhost "gx/ipfs/QmZ8bCZpMWDbFSh6h2zgTYwrhnjrGM5c9WCzw72SU8p63b/go-libp2p/p2p/host/basic"
@@ -35,6 +34,7 @@ import (
34 addrutil "gx/ipfs/QmZ8bCZpMWDbFSh6h2zgTYwrhnjrGM5c9WCzw72SU8p63b/go-libp2p/p2p/net/swarm/addr"
35 ping "gx/ipfs/QmZ8bCZpMWDbFSh6h2zgTYwrhnjrGM5c9WCzw72SU8p63b/go-libp2p/p2p/protocol/ping"
36 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
37 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
38
39 routing "github.com/ipfs/go-ipfs/routing"
40 dht "github.com/ipfs/go-ipfs/routing/dht"
core/corerouting/core.go
+1 -1
@@ -9,9 +9,9 @@ import (
9 supernode "github.com/ipfs/go-ipfs/routing/supernode"
10 gcproxy "github.com/ipfs/go-ipfs/routing/supernode/proxy"
11 pstore "gx/ipfs/QmQdnfvZQuhdT93LNc5bos52wAmdr3G2p6G8teLJMEN32P/go-libp2p-peerstore"
12 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
12 "gx/ipfs/QmZ8bCZpMWDbFSh6h2zgTYwrhnjrGM5c9WCzw72SU8p63b/go-libp2p/p2p/host"
13 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
14 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
15 )
16
17 // NB: DHT option is included in the core to avoid 1) because it's a sane
core/coreunix/add.go
+2 -2
@@ -15,9 +15,9 @@ import (
15 "github.com/ipfs/go-ipfs/importer/chunk"
16 mfs "github.com/ipfs/go-ipfs/mfs"
17 "github.com/ipfs/go-ipfs/pin"
18 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
19 - syncds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
18 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
19 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
20 + syncds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
21
22 bs "github.com/ipfs/go-ipfs/blocks/blockstore"
23 "github.com/ipfs/go-ipfs/commands/files"
core/coreunix/metadata_test.go
+2 -2
@@ -5,9 +5,9 @@ import (
5 "io/ioutil"
6 "testing"
7
8 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
9 - dssync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
8 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
9 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
10 + dssync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
11
12 bstore "github.com/ipfs/go-ipfs/blocks/blockstore"
13 key "github.com/ipfs/go-ipfs/blocks/key"
core/mock/mock.go
+2 -2
@@ -3,9 +3,9 @@ package coremock
3 import (
4 "net"
5
6 - "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
7 - syncds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
6 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
7 + "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
8 + syncds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
9
10 commands "github.com/ipfs/go-ipfs/commands"
11 core "github.com/ipfs/go-ipfs/core"
exchange/bitswap/decision/engine_test.go
+2 -2
@@ -13,9 +13,9 @@ import (
13 message "github.com/ipfs/go-ipfs/exchange/bitswap/message"
14 testutil "github.com/ipfs/go-ipfs/thirdparty/testutil"
15 peer "gx/ipfs/QmRBqJF7hb8ZSpRcMwUt8hNhydWcxGEhtk81HKq6oUwKvs/go-libp2p-peer"
16 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
17 - dssync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
16 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
17 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
18 + dssync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
19 )
20
21 type peerAndEngine struct {
exchange/bitswap/testnet/peernet.go
+1 -1
@@ -5,9 +5,9 @@ import (
5 mockrouting "github.com/ipfs/go-ipfs/routing/mock"
6 testutil "github.com/ipfs/go-ipfs/thirdparty/testutil"
7 peer "gx/ipfs/QmRBqJF7hb8ZSpRcMwUt8hNhydWcxGEhtk81HKq6oUwKvs/go-libp2p-peer"
8 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
8 mockpeernet "gx/ipfs/QmZ8bCZpMWDbFSh6h2zgTYwrhnjrGM5c9WCzw72SU8p63b/go-libp2p/p2p/net/mock"
9 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
10 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
11 )
12
13 type peernet struct {
exchange/bitswap/testutils.go
+2 -2
@@ -9,10 +9,10 @@ import (
9 delay "github.com/ipfs/go-ipfs/thirdparty/delay"
10 testutil "github.com/ipfs/go-ipfs/thirdparty/testutil"
11 peer "gx/ipfs/QmRBqJF7hb8ZSpRcMwUt8hNhydWcxGEhtk81HKq6oUwKvs/go-libp2p-peer"
12 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
13 - ds_sync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
12 p2ptestutil "gx/ipfs/QmZ8bCZpMWDbFSh6h2zgTYwrhnjrGM5c9WCzw72SU8p63b/go-libp2p/p2p/test/util"
13 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
14 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
15 + ds_sync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
16 )
17
18 // WARNING: this uses RandTestBogusIdentity DO NOT USE for NON TESTS!
exchange/offline/offline_test.go
+2 -2
@@ -7,9 +7,9 @@ import (
7 "github.com/ipfs/go-ipfs/blocks/blockstore"
8 "github.com/ipfs/go-ipfs/blocks/blocksutil"
9 key "github.com/ipfs/go-ipfs/blocks/key"
10 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
11 - ds_sync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
10 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
11 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
12 + ds_sync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
13 )
14
15 func TestBlockReturnsErr(t *testing.T) {
exchange/reprovide/reprovide_test.go
+2 -2
@@ -7,9 +7,9 @@ import (
7 blockstore "github.com/ipfs/go-ipfs/blocks/blockstore"
8 mock "github.com/ipfs/go-ipfs/routing/mock"
9 testutil "github.com/ipfs/go-ipfs/thirdparty/testutil"
10 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
11 - dssync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
10 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
11 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
12 + dssync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
13
14 . "github.com/ipfs/go-ipfs/exchange/reprovide"
15 )
merkledag/merkledag_test.go
+2 -2
@@ -21,10 +21,10 @@ import (
21 dstest "github.com/ipfs/go-ipfs/merkledag/test"
22 "github.com/ipfs/go-ipfs/pin"
23 uio "github.com/ipfs/go-ipfs/unixfs/io"
24 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
25 - dssync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
24 u "gx/ipfs/QmZNVWh8LLjAavuQ2JXuFmuYH3C11xo988vSgp7UQrTRj1/go-ipfs-util"
25 "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
26 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
27 + dssync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
28 )
29
30 type dagservAndPinner struct {
merkledag/test/utils.go
+2 -2
@@ -5,8 +5,8 @@ import (
5 bsrv "github.com/ipfs/go-ipfs/blockservice"
6 "github.com/ipfs/go-ipfs/exchange/offline"
7 dag "github.com/ipfs/go-ipfs/merkledag"
8 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
9 - dssync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
8 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
9 + dssync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
10 )
11
12 func Mock() dag.DAGService {
merkledag/utils/utils.go
+2 -2
@@ -3,9 +3,9 @@ package dagutils
3 import (
4 "errors"
5
6 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
7 - syncds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
6 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
7 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
8 + syncds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
9
10 bstore "github.com/ipfs/go-ipfs/blocks/blockstore"
11 bserv "github.com/ipfs/go-ipfs/blockservice"
mfs/mfs_test.go
+2 -2
@@ -15,9 +15,9 @@ import (
15
16 "github.com/ipfs/go-ipfs/path"
17 randbo "gx/ipfs/QmYvsG72GsfLgUeSojXArjnU6L4Wmwk7wuAxtNLuyXcc1T/randbo"
18 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
19 - dssync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
18 "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
19 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
20 + dssync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
21
22 bstore "github.com/ipfs/go-ipfs/blocks/blockstore"
23 key "github.com/ipfs/go-ipfs/blocks/key"
namesys/namesys.go
+1 -1
@@ -7,8 +7,8 @@ import (
7 path "github.com/ipfs/go-ipfs/path"
8 routing "github.com/ipfs/go-ipfs/routing"
9 ci "gx/ipfs/QmUWER4r4qMvaCnX5zREcfyiWN7cXN9g3a7fkRqNz8qWPP/go-libp2p-crypto"
10 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
10 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
11 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
12 )
13
14 // mpns (a multi-protocol NameSystem) implements generic IPFS naming.
namesys/publisher.go
+1 -1
@@ -7,8 +7,8 @@ import (
7 "time"
8
9 proto "gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/proto"
10 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
10 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
11 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
12
13 key "github.com/ipfs/go-ipfs/blocks/key"
14 dag "github.com/ipfs/go-ipfs/merkledag"
namesys/republisher/repub.go
+1 -1
@@ -18,8 +18,8 @@ import (
18 gpctx "gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess/context"
19 peer "gx/ipfs/QmRBqJF7hb8ZSpRcMwUt8hNhydWcxGEhtk81HKq6oUwKvs/go-libp2p-peer"
20 proto "gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/proto"
21 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
21 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
22 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
23 )
24
25 var errNoEntry = errors.New("no previous entry")
namesys/resolve_test.go
+2 -2
@@ -10,10 +10,10 @@ import (
10 mockrouting "github.com/ipfs/go-ipfs/routing/mock"
11 testutil "github.com/ipfs/go-ipfs/thirdparty/testutil"
12 peer "gx/ipfs/QmRBqJF7hb8ZSpRcMwUt8hNhydWcxGEhtk81HKq6oUwKvs/go-libp2p-peer"
13 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
14 - dssync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
13 u "gx/ipfs/QmZNVWh8LLjAavuQ2JXuFmuYH3C11xo988vSgp7UQrTRj1/go-ipfs-util"
14 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
15 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
16 + dssync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
17 )
18
19 func TestRoutingResolve(t *testing.T) {
package.json
+2 -2
@@ -144,9 +144,9 @@
144 },
145 {
146 "author": "jbenet",
147 - "hash": "QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN",
147 + "hash": "QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs",
148 "name": "go-datastore",
149 - "version": "0.0.1"
149 + "version": "0.1.1"
150 },
151 {
152 "author": "codahale",
pin/pin.go
+1 -1
@@ -11,8 +11,8 @@ import (
11 "github.com/ipfs/go-ipfs/blocks/set"
12 mdag "github.com/ipfs/go-ipfs/merkledag"
13 logging "gx/ipfs/QmNQynaz7qfriSUJkiEZUrm2Wen1u3Kj9goZzWtrPyu7XR/go-log"
14 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
14 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
15 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
16 )
17
18 var log = logging.Logger("pin")
pin/pin_test.go
+2 -2
@@ -11,9 +11,9 @@ import (
11 bs "github.com/ipfs/go-ipfs/blockservice"
12 "github.com/ipfs/go-ipfs/exchange/offline"
13 mdag "github.com/ipfs/go-ipfs/merkledag"
14 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
15 - dssync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
14 "gx/ipfs/QmZNVWh8LLjAavuQ2JXuFmuYH3C11xo988vSgp7UQrTRj1/go-ipfs-util"
15 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
16 + dssync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
17 )
18
19 func randNode() (*mdag.Node, key.Key) {
pin/set_test.go
+2 -2
@@ -10,10 +10,10 @@ import (
10 "github.com/ipfs/go-ipfs/exchange/offline"
11 "github.com/ipfs/go-ipfs/merkledag"
12 mh "gx/ipfs/QmYf7ng2hG5XBtJA3tN34DQ2GUN5HNksEw1rLDkmr6vGku/go-multihash"
13 - "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
14 - dssync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
13 u "gx/ipfs/QmZNVWh8LLjAavuQ2JXuFmuYH3C11xo988vSgp7UQrTRj1/go-ipfs-util"
14 "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
15 + "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
16 + dssync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
17 )
18
19 func ignoreKeys(key.Key) {}
repo/config/version.go
+1 -1
@@ -4,6 +4,6 @@ package config
4 var CurrentCommit string
5
6 // CurrentVersionNumber is the current application's version literal
7 -const CurrentVersionNumber = "0.4.2"
7 +const CurrentVersionNumber = "0.4.3-dev"
8
9 const ApiVersion = "/go-ipfs/" + CurrentVersionNumber + "/"
repo/fsrepo/defaultds.go
+8 -14
@@ -7,12 +7,12 @@ import (
7 repo "github.com/ipfs/go-ipfs/repo"
8 config "github.com/ipfs/go-ipfs/repo/config"
9 "github.com/ipfs/go-ipfs/thirdparty/dir"
10 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
11 - "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/flatfs"
12 - levelds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/leveldb"
13 - "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/measure"
14 - mount "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/syncmount"
10 ldbopts "gx/ipfs/QmbBhyDKsY4mbY6xsKt3qu9Y7FPvMJ6qbD8AMjYYvPRw1g/goleveldb/leveldb/opt"
11 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
12 + "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/flatfs"
13 + levelds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/leveldb"
14 + "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/measure"
15 + mount "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/syncmount"
16 )
17
18 const (
@@ -31,16 +31,10 @@ func openDefaultDatastore(r *FSRepo) (repo.Datastore, error) {
31 return nil, fmt.Errorf("unable to open leveldb datastore: %v", err)
32 }
33
34 - // 4TB of 256kB objects ~=17M objects, splitting that 256-way
35 - // leads to ~66k objects per dir, splitting 256*256-way leads to
36 - // only 256.
37 - //
38 - // The keys seen by the block store have predictable prefixes,
39 - // including "/" from datastore.Key and 2 bytes from multihash. To
40 - // reach a uniform 256-way split, we need approximately 4 bytes of
41 - // prefix.
34 syncfs := !r.config.Datastore.NoSync
43 - blocksDS, err := flatfs.New(path.Join(r.path, flatfsDirectory), 4, syncfs)
35 + // 5 bytes of prefix gives us 25 bits of freedom, 16 of which are taken by
36 + // by the Qm prefix. Leaving us with 9 bits, or 512 way sharding
37 + blocksDS, err := flatfs.New(path.Join(r.path, flatfsDirectory), 5, syncfs)
38 if err != nil {
39 return nil, fmt.Errorf("unable to open flatfs datastore: %v", err)
40 }
repo/fsrepo/fsrepo.go
+2 -2
@@ -19,14 +19,14 @@ import (
19 serialize "github.com/ipfs/go-ipfs/repo/fsrepo/serialize"
20 dir "github.com/ipfs/go-ipfs/thirdparty/dir"
21 logging "gx/ipfs/QmNQynaz7qfriSUJkiEZUrm2Wen1u3Kj9goZzWtrPyu7XR/go-log"
22 - "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/measure"
22 util "gx/ipfs/QmZNVWh8LLjAavuQ2JXuFmuYH3C11xo988vSgp7UQrTRj1/go-ipfs-util"
23 + "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/measure"
24 )
25
26 var log = logging.Logger("fsrepo")
27
28 // version number that we are currently expecting to see
29 -var RepoVersion = "3"
29 +var RepoVersion = "4"
30
31 var migrationInstructions = `See https://github.com/ipfs/fs-repo-migrations/blob/master/run.md
32 Sorry for the inconvenience. In the future, these will run automatically.`
repo/fsrepo/fsrepo_test.go
+1 -1
@@ -9,7 +9,7 @@ import (
9
10 "github.com/ipfs/go-ipfs/repo/config"
11 "github.com/ipfs/go-ipfs/thirdparty/assert"
12 - datastore "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
12 + datastore "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
13 )
14
15 // swap arg order
repo/repo.go
+1 -1
@@ -5,7 +5,7 @@ import (
5 "io"
6
7 config "github.com/ipfs/go-ipfs/repo/config"
8 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
8 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
9 )
10
11 var (
routing/dht/dht.go
+1 -1
@@ -23,10 +23,10 @@ import (
23 peer "gx/ipfs/QmRBqJF7hb8ZSpRcMwUt8hNhydWcxGEhtk81HKq6oUwKvs/go-libp2p-peer"
24 ci "gx/ipfs/QmUWER4r4qMvaCnX5zREcfyiWN7cXN9g3a7fkRqNz8qWPP/go-libp2p-crypto"
25 proto "gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/proto"
26 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
26 host "gx/ipfs/QmZ8bCZpMWDbFSh6h2zgTYwrhnjrGM5c9WCzw72SU8p63b/go-libp2p/p2p/host"
27 protocol "gx/ipfs/QmZ8bCZpMWDbFSh6h2zgTYwrhnjrGM5c9WCzw72SU8p63b/go-libp2p/p2p/protocol"
28 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
29 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
30 )
31
32 var log = logging.Logger("dht")
routing/dht/dht_test.go
+2 -2
@@ -14,8 +14,8 @@ import (
14 record "github.com/ipfs/go-ipfs/routing/record"
15 ci "github.com/ipfs/go-ipfs/thirdparty/testutil/ci"
16 travisci "github.com/ipfs/go-ipfs/thirdparty/testutil/ci/travis"
17 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
18 - dssync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
17 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
18 + dssync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
19
20 pstore "gx/ipfs/QmQdnfvZQuhdT93LNc5bos52wAmdr3G2p6G8teLJMEN32P/go-libp2p-peerstore"
21 peer "gx/ipfs/QmRBqJF7hb8ZSpRcMwUt8hNhydWcxGEhtk81HKq6oUwKvs/go-libp2p-peer"
routing/dht/ext_test.go
+2 -2
@@ -10,8 +10,8 @@ import (
10 routing "github.com/ipfs/go-ipfs/routing"
11 pb "github.com/ipfs/go-ipfs/routing/dht/pb"
12 record "github.com/ipfs/go-ipfs/routing/record"
13 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
14 - dssync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
13 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
14 + dssync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
15
16 pstore "gx/ipfs/QmQdnfvZQuhdT93LNc5bos52wAmdr3G2p6G8teLJMEN32P/go-libp2p-peerstore"
17 ggio "gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/io"
routing/dht/handlers.go
+1 -1
@@ -8,7 +8,7 @@ import (
8 key "github.com/ipfs/go-ipfs/blocks/key"
9 pb "github.com/ipfs/go-ipfs/routing/dht/pb"
10 lgbl "github.com/ipfs/go-ipfs/thirdparty/loggables"
11 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
11 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
12
13 pstore "gx/ipfs/QmQdnfvZQuhdT93LNc5bos52wAmdr3G2p6G8teLJMEN32P/go-libp2p-peerstore"
14 peer "gx/ipfs/QmRBqJF7hb8ZSpRcMwUt8hNhydWcxGEhtk81HKq6oUwKvs/go-libp2p-peer"
routing/dht/providers/providers.go
+2 -2
@@ -11,9 +11,9 @@ import (
11 goprocessctx "gx/ipfs/QmQopLATEYMNg7dVqZRNDfeE2S1yKy8zrRh5xnYiuqeZBn/goprocess/context"
12 peer "gx/ipfs/QmRBqJF7hb8ZSpRcMwUt8hNhydWcxGEhtk81HKq6oUwKvs/go-libp2p-peer"
13 lru "gx/ipfs/QmVYxfoJQiZijTgPNHCHgHELvQpbsJNTg6Crmc3dQkj3yy/golang-lru"
14 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
15 - dsq "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/query"
14 base32 "gx/ipfs/Qmb1DA2A9LS2wR4FFweB4uEDomFsdmnw1VLawLE1yQzudj/base32"
15 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
16 + dsq "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/query"
17
18 key "github.com/ipfs/go-ipfs/blocks/key"
19
routing/dht/providers/providers_test.go
+1 -1
@@ -7,7 +7,7 @@ import (
7
8 key "github.com/ipfs/go-ipfs/blocks/key"
9 peer "gx/ipfs/QmRBqJF7hb8ZSpRcMwUt8hNhydWcxGEhtk81HKq6oUwKvs/go-libp2p-peer"
10 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
10 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
11
12 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
13 )
routing/mock/centralized_client.go
+1 -1
@@ -8,7 +8,7 @@ import (
8 routing "github.com/ipfs/go-ipfs/routing"
9 dhtpb "github.com/ipfs/go-ipfs/routing/dht/pb"
10 "github.com/ipfs/go-ipfs/thirdparty/testutil"
11 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
11 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
12
13 logging "gx/ipfs/QmNQynaz7qfriSUJkiEZUrm2Wen1u3Kj9goZzWtrPyu7XR/go-log"
14 pstore "gx/ipfs/QmQdnfvZQuhdT93LNc5bos52wAmdr3G2p6G8teLJMEN32P/go-libp2p-peerstore"
routing/mock/centralized_server.go
+2 -2
@@ -7,8 +7,8 @@ import (
7
8 key "github.com/ipfs/go-ipfs/blocks/key"
9 "github.com/ipfs/go-ipfs/thirdparty/testutil"
10 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
11 - dssync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
10 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
11 + dssync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
12
13 pstore "gx/ipfs/QmQdnfvZQuhdT93LNc5bos52wAmdr3G2p6G8teLJMEN32P/go-libp2p-peerstore"
14 peer "gx/ipfs/QmRBqJF7hb8ZSpRcMwUt8hNhydWcxGEhtk81HKq6oUwKvs/go-libp2p-peer"
routing/mock/dht.go
+2 -2
@@ -3,10 +3,10 @@ package mockrouting
3 import (
4 dht "github.com/ipfs/go-ipfs/routing/dht"
5 "github.com/ipfs/go-ipfs/thirdparty/testutil"
6 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
7 - sync "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
6 mocknet "gx/ipfs/QmZ8bCZpMWDbFSh6h2zgTYwrhnjrGM5c9WCzw72SU8p63b/go-libp2p/p2p/net/mock"
7 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
8 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
9 + sync "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
10 )
11
12 type mocknetserver struct {
routing/mock/interface.go
+1 -1
@@ -11,8 +11,8 @@ import (
11 "github.com/ipfs/go-ipfs/thirdparty/testutil"
12 pstore "gx/ipfs/QmQdnfvZQuhdT93LNc5bos52wAmdr3G2p6G8teLJMEN32P/go-libp2p-peerstore"
13 peer "gx/ipfs/QmRBqJF7hb8ZSpRcMwUt8hNhydWcxGEhtk81HKq6oUwKvs/go-libp2p-peer"
14 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
14 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
15 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
16 )
17
18 // Server provides mockrouting Clients
routing/offline/offline.go
+1 -1
@@ -8,7 +8,7 @@ import (
8 routing "github.com/ipfs/go-ipfs/routing"
9 pb "github.com/ipfs/go-ipfs/routing/dht/pb"
10 record "github.com/ipfs/go-ipfs/routing/record"
11 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
11 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
12
13 logging "gx/ipfs/QmNQynaz7qfriSUJkiEZUrm2Wen1u3Kj9goZzWtrPyu7XR/go-log"
14 pstore "gx/ipfs/QmQdnfvZQuhdT93LNc5bos52wAmdr3G2p6G8teLJMEN32P/go-libp2p-peerstore"
routing/supernode/server.go
+1 -1
@@ -8,7 +8,7 @@ import (
8 dhtpb "github.com/ipfs/go-ipfs/routing/dht/pb"
9 record "github.com/ipfs/go-ipfs/routing/record"
10 proxy "github.com/ipfs/go-ipfs/routing/supernode/proxy"
11 - datastore "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
11 + datastore "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
12
13 pstore "gx/ipfs/QmQdnfvZQuhdT93LNc5bos52wAmdr3G2p6G8teLJMEN32P/go-libp2p-peerstore"
14 peer "gx/ipfs/QmRBqJF7hb8ZSpRcMwUt8hNhydWcxGEhtk81HKq6oUwKvs/go-libp2p-peer"
routing/supernode/server_test.go
+1 -1
@@ -5,7 +5,7 @@ import (
5
6 key "github.com/ipfs/go-ipfs/blocks/key"
7 dhtpb "github.com/ipfs/go-ipfs/routing/dht/pb"
8 - datastore "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
8 + datastore "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
9 )
10
11 func TestPutProviderDoesntResultInDuplicates(t *testing.T) {
test/integration/grandcentral_test.go
+2 -2
@@ -8,9 +8,9 @@ import (
8 "math"
9 "testing"
10
11 - "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
12 - syncds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
11 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
12 + "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
13 + syncds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
14
15 key "github.com/ipfs/go-ipfs/blocks/key"
16 core "github.com/ipfs/go-ipfs/core"
test/sharness/t0080-repo.sh
+6 -6
@@ -108,14 +108,14 @@ test_expect_success "'ipfs repo gc' removes file" '
108 grep "removed $PATCH_ROOT" actual7
109 '
110
111 -# TODO: there seems to be a serious bug with leveldb not returning a key.
112 -test_expect_failure "'ipfs refs local' no longer shows file" '
111 +test_expect_success "'ipfs refs local' no longer shows file" '
112 EMPTY_DIR=QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn &&
114 - echo "$EMPTY_DIR" >expected8 &&
115 - echo "$HASH_WELCOME_DOCS" >>expected8 &&
116 - ipfs refs -r "$HASH_WELCOME_DOCS" >>expected8 &&
113 ipfs refs local >actual8 &&
118 - test_sort_cmp expected8 actual8
114 + grep "QmYCvbfNbCwFR45HiNP45rwJgvatpiW38D961L5qAhUM5Y" actual8 &&
115 + grep "$EMPTY_DIR" actual8 &&
116 + grep "$HASH_WELCOME_DOCS" actual8 &&
117 + test_must_fail grep "$HASH" actual8 &&
118 + test_must_fail grep "$PATCH_ROOT" actual8
119 '
120
121 test_expect_success "adding multiblock random file succeeds" '
test/sharness/t0084-repo-read-rehash.sh
+2 -2
@@ -16,8 +16,8 @@ test_init_ipfs
16 H_BLOCK1=$(echo "Block 1" | ipfs add -q)
17 H_BLOCK2=$(echo "Block 2" | ipfs add -q)
18
19 -BS_BLOCK1="1220f18e/1220f18e07ebc69997909358f28b9d2c327eb032b0afab6bbc7fd7f399a7b7590be4.data"
20 -BS_BLOCK2="1220dc58/1220dc582e51f1f98b1f2d1c1baaa9f7b11602239ed42fbdf8f52d67e63cc03df12a.data"
19 +BS_BLOCK1="CIQPD/CIQPDDQH5PDJTF4QSNMPFC45FQZH5MBSWCX2W254P7L7HGNHW5MQXZA.data"
20 +BS_BLOCK2="CIQNY/CIQNYWBOKHY7TCY7FUOBXKVJ66YRMARDT3KC7PPY6UWWPZR4YA67CKQ.data"
21
22
23 test_expect_success 'blocks are swapped' '
test/supernode_client/main.go
+2 -2
@@ -24,8 +24,8 @@ import (
24 ds2 "github.com/ipfs/go-ipfs/thirdparty/datastore2"
25 "github.com/ipfs/go-ipfs/thirdparty/ipfsaddr"
26 unit "github.com/ipfs/go-ipfs/thirdparty/unit"
27 - "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
28 - syncds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
27 + "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
28 + syncds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
29
30 logging "gx/ipfs/QmNQynaz7qfriSUJkiEZUrm2Wen1u3Kj9goZzWtrPyu7XR/go-log"
31 pstore "gx/ipfs/QmQdnfvZQuhdT93LNc5bos52wAmdr3G2p6G8teLJMEN32P/go-libp2p-peerstore"
thirdparty/datastore2/datastore_closer.go
+1 -1
@@ -3,7 +3,7 @@ package datastore2
3 import (
4 "io"
5
6 - "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
6 + "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
7 )
8
9 type ThreadSafeDatastoreCloser interface {
thirdparty/datastore2/delayed.go
+2 -2
@@ -1,8 +1,8 @@
1 package datastore2
2
3 import (
4 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
5 - dsq "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/query"
4 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
5 + dsq "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/query"
6
7 delay "github.com/ipfs/go-ipfs/thirdparty/delay"
8 )
thirdparty/datastore2/threadsafe.go
+1 -1
@@ -3,7 +3,7 @@ package datastore2
3 import (
4 "io"
5
6 - "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
6 + "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
7 )
8
9 // ClaimThreadSafe claims that a Datastore is threadsafe, even when
thirdparty/testutil/datastore.go
+2 -2
@@ -2,8 +2,8 @@ package testutil
2
3 import (
4 ds2 "github.com/ipfs/go-ipfs/thirdparty/datastore2"
5 - "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
6 - syncds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
5 + "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
6 + syncds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
7 )
8
9 func ThreadSafeCloserMapDatastore() ds2.ThreadSafeDatastoreCloser {
unixfs/mod/dagmodifier_test.go
+2 -2
@@ -17,11 +17,11 @@ import (
17 mdag "github.com/ipfs/go-ipfs/merkledag"
18 ft "github.com/ipfs/go-ipfs/unixfs"
19 uio "github.com/ipfs/go-ipfs/unixfs/io"
20 - "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore/sync"
20 u "gx/ipfs/QmZNVWh8LLjAavuQ2JXuFmuYH3C11xo988vSgp7UQrTRj1/go-ipfs-util"
21 + "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore/sync"
22
23 - ds "gx/ipfs/QmZ6A6P6AMo8SR3jXAwzTuSU6B9R2Y4eqW2yW9VvfUayDN/go-datastore"
23 context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
24 + ds "gx/ipfs/QmbCg24DeRKaRDLHbzzSVj7xndmWCPanBLkAM7Lx2nbrFs/go-datastore"
25 )
26
27 func getMockDagServ(t testing.TB) mdag.DAGService {