fix go vet issues in hamt sharding PR
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
Jeromy committed
Mar 23, 2017 at 17:49 UTC
65b971698954a7a8cd31498d5d22d2bf931fcfff
11 files changed
+50
-40
core/commands/files/files.go
+2
-2
@@ -348,7 +348,7 @@ Examples:
348
case *mfs.Directory:
349
if !long {
350
var output []mfs.NodeListing
351
- names, err := fsn.ListNames()
351
+ names, err := fsn.ListNames(req.Context())
352
if err != nil {
353
res.SetError(err, cmds.ErrNormal)
354
return
@@ -361,7 +361,7 @@ Examples:
361
}
362
res.SetOutput(&FilesLsOutput{output})
363
} else {
364
- listing, err := fsn.List()
364
+ listing, err := fsn.List(req.Context())
365
if err != nil {
366
res.SetError(err, cmds.ErrNormal)
367
return
core/commands/ls.go
+1
-1
@@ -111,7 +111,7 @@ The JSON output contains type information.
111
return
112
}
113
114
- links, err := dir.Links()
114
+ links, err := dir.Links(req.Context())
115
if err != nil {
116
res.SetError(err, cmds.ErrNormal)
117
return
core/coreunix/add.go
+2
-2
@@ -197,7 +197,7 @@ func (adder *Adder) Finalize() (node.Node, error) {
197
198
var name string
199
if !adder.Wrap {
200
- children, err := root.(*mfs.Directory).ListNames()
200
+ children, err := root.(*mfs.Directory).ListNames(adder.ctx)
201
if err != nil {
202
return nil, err
203
}
@@ -232,7 +232,7 @@ func (adder *Adder) outputDirs(path string, fsn mfs.FSNode) error {
232
case *mfs.File:
233
return nil
234
case *mfs.Directory:
235
- names, err := fsn.ListNames()
235
+ names, err := fsn.ListNames(adder.ctx)
236
if err != nil {
237
return err
238
}
fuse/ipns/ipns_unix.go
+1
-1
@@ -324,7 +324,7 @@ func (s *Directory) Lookup(ctx context.Context, name string) (fs.Node, error) {
324
// ReadDirAll reads the link structure as directory entries
325
func (dir *Directory) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error) {
326
var entries []fuse.Dirent
327
- listing, err := dir.dir.List()
327
+ listing, err := dir.dir.List(ctx)
328
if err != nil {
329
return nil, err
330
}
mfs/dir.go
+5
-5
@@ -217,12 +217,12 @@ type NodeListing struct {
217
Hash string
218
}
219
220
-func (d *Directory) ListNames() ([]string, error) {
220
+func (d *Directory) ListNames(ctx context.Context) ([]string, error) {
221
d.lock.Lock()
222
defer d.lock.Unlock()
223
224
var out []string
225
- err := d.dirbuilder.ForEachLink(func(l *node.Link) error {
225
+ err := d.dirbuilder.ForEachLink(ctx, func(l *node.Link) error {
226
out = append(out, l.Name)
227
return nil
228
})
@@ -235,9 +235,9 @@ func (d *Directory) ListNames() ([]string, error) {
235
return out, nil
236
}
237
238
-func (d *Directory) List() ([]NodeListing, error) {
238
+func (d *Directory) List(ctx context.Context) ([]NodeListing, error) {
239
var out []NodeListing
240
- err := d.ForEachEntry(context.TODO(), func(nl NodeListing) error {
240
+ err := d.ForEachEntry(ctx, func(nl NodeListing) error {
241
out = append(out, nl)
242
return nil
243
})
@@ -247,7 +247,7 @@ func (d *Directory) List() ([]NodeListing, error) {
247
func (d *Directory) ForEachEntry(ctx context.Context, f func(NodeListing) error) error {
248
d.lock.Lock()
249
defer d.lock.Unlock()
250
- return d.dirbuilder.ForEachLink(func(l *node.Link) error {
250
+ return d.dirbuilder.ForEachLink(ctx, func(l *node.Link) error {
251
c, err := d.childUnsync(l.Name)
252
if err != nil {
253
return err
mfs/mfs_test.go
+10
-6
@@ -82,6 +82,9 @@ func mkdirP(t *testing.T, root *Directory, pth string) *Directory {
82
}
83
84
func assertDirAtPath(root *Directory, pth string, children []string) error {
85
+ ctx, cancel := context.WithCancel(context.Background())
86
+ defer cancel()
87
+
88
fsn, err := DirLookup(root, pth)
89
if err != nil {
90
return err
@@ -92,7 +95,7 @@ func assertDirAtPath(root *Directory, pth string, children []string) error {
95
return fmt.Errorf("%s was not a directory", pth)
96
}
97
95
- listing, err := dir.List()
98
+ listing, err := dir.List(ctx)
99
if err != nil {
100
return err
101
}
@@ -496,7 +499,7 @@ func TestMfsFile(t *testing.T) {
499
500
func randomWalk(d *Directory, n int) (*Directory, error) {
501
for i := 0; i < n; i++ {
499
- dirents, err := d.List()
502
+ dirents, err := d.List(context.Background())
503
if err != nil {
504
return nil, err
505
}
@@ -585,7 +588,7 @@ func actorRemoveFile(d *Directory) error {
588
return err
589
}
590
588
- ents, err := d.List()
591
+ ents, err := d.List(context.Background())
592
if err != nil {
593
return err
594
}
@@ -605,7 +608,7 @@ func randomFile(d *Directory) (*File, error) {
608
return nil, err
609
}
610
608
- ents, err := d.List()
611
+ ents, err := d.List(context.Background())
612
if err != nil {
613
return nil, err
614
}
@@ -953,6 +956,7 @@ func TestConcurrentReads(t *testing.T) {
956
}
957
wg.Wait()
958
}
959
+
960
func writeFile(rt *Root, path string, data []byte) error {
961
n, err := Lookup(rt, path)
962
if err != nil {
@@ -975,8 +979,8 @@ func writeFile(rt *Root, path string, data []byte) error {
979
return err
980
}
981
978
- if nw != 10 {
979
- fmt.Errorf("wrote incorrect amount")
982
+ if nw != len(data) {
983
+ return fmt.Errorf("wrote incorrect amount: %d != 10", nw)
984
}
985
986
return nil
unixfs/hamt/hamt.go
+7
-7
@@ -351,17 +351,17 @@ func (ds *HamtShard) getValue(ctx context.Context, hv *hashBits, key string, cb
351
return os.ErrNotExist
352
}
353
354
-func (ds *HamtShard) EnumLinks() ([]*node.Link, error) {
354
+func (ds *HamtShard) EnumLinks(ctx context.Context) ([]*node.Link, error) {
355
var links []*node.Link
356
- err := ds.ForEachLink(func(l *node.Link) error {
356
+ err := ds.ForEachLink(ctx, func(l *node.Link) error {
357
links = append(links, l)
358
return nil
359
})
360
return links, err
361
}
362
363
-func (ds *HamtShard) ForEachLink(f func(*node.Link) error) error {
364
- return ds.walkTrie(func(sv *shardValue) error {
363
+func (ds *HamtShard) ForEachLink(ctx context.Context, f func(*node.Link) error) error {
364
+ return ds.walkTrie(ctx, func(sv *shardValue) error {
365
lnk, err := node.MakeLink(sv.val)
366
if err != nil {
367
return err
@@ -373,7 +373,7 @@ func (ds *HamtShard) ForEachLink(f func(*node.Link) error) error {
373
})
374
}
375
376
-func (ds *HamtShard) walkTrie(cb func(*shardValue) error) error {
376
+func (ds *HamtShard) walkTrie(ctx context.Context, cb func(*shardValue) error) error {
377
for i := 0; i < ds.tableSize; i++ {
378
if ds.bitfield.Bit(i) == 0 {
379
continue
@@ -382,7 +382,7 @@ func (ds *HamtShard) walkTrie(cb func(*shardValue) error) error {
382
idx := ds.indexForBitPos(i)
383
// NOTE: an optimized version could simply iterate over each
384
// element in the 'children' array.
385
- c, err := ds.getChild(context.TODO(), idx)
385
+ c, err := ds.getChild(ctx, idx)
386
if err != nil {
387
return err
388
}
@@ -395,7 +395,7 @@ func (ds *HamtShard) walkTrie(cb func(*shardValue) error) error {
395
}
396
397
case *HamtShard:
398
- err := c.walkTrie(cb)
398
+ err := c.walkTrie(ctx, cb)
399
if err != nil {
400
return err
401
}
unixfs/hamt/hamt_test.go
+10
-7
@@ -72,6 +72,8 @@ func assertLink(s *HamtShard, name string, found bool) error {
72
}
73
74
func assertSerializationWorks(ds dag.DAGService, s *HamtShard) error {
75
+ ctx, cancel := context.WithCancel(context.Background())
76
+ defer cancel()
77
nd, err := s.Node()
78
if err != nil {
79
return err
@@ -82,12 +84,12 @@ func assertSerializationWorks(ds dag.DAGService, s *HamtShard) error {
84
return err
85
}
86
85
- linksA, err := s.EnumLinks()
87
+ linksA, err := s.EnumLinks(ctx)
88
if err != nil {
89
return err
90
}
91
90
- linksB, err := nds.EnumLinks()
92
+ linksB, err := nds.EnumLinks(ctx)
93
if err != nil {
94
return err
95
}
@@ -160,7 +162,8 @@ func TestDirBuilding(t *testing.T) {
162
func TestShardReload(t *testing.T) {
163
ds := mdtest.Mock()
164
s, _ := NewHamtShard(ds, 256)
163
- ctx := context.Background()
165
+ ctx, cancel := context.WithCancel(context.Background())
166
+ defer cancel()
167
168
_, s, err := makeDir(ds, 200)
169
if err != nil {
@@ -177,7 +180,7 @@ func TestShardReload(t *testing.T) {
180
t.Fatal(err)
181
}
182
180
- lnks, err := nds.EnumLinks()
183
+ lnks, err := nds.EnumLinks(ctx)
184
if err != nil {
185
t.Fatal(err)
186
}
@@ -270,7 +273,7 @@ func TestSetAfterMarshal(t *testing.T) {
273
}
274
}
275
273
- links, err := nds.EnumLinks()
276
+ links, err := nds.EnumLinks(ctx)
277
if err != nil {
278
t.Fatal(err)
279
}
@@ -301,7 +304,7 @@ func TestDuplicateAddShard(t *testing.T) {
304
t.Fatal(err)
305
}
306
304
- lnks, err := dir.EnumLinks()
307
+ lnks, err := dir.EnumLinks(ctx)
308
if err != nil {
309
t.Fatal(err)
310
}
@@ -393,7 +396,7 @@ func TestRemoveElemsAfterMarshal(t *testing.T) {
396
}
397
}
398
396
- links, err := nds.EnumLinks()
399
+ links, err := nds.EnumLinks(ctx)
400
if err != nil {
401
t.Fatal(err)
402
}
unixfs/io/dagreader_test.go
+4
-1
@@ -169,7 +169,10 @@ func TestMetadataNode(t *testing.T) {
169
ctx, closer := context.WithCancel(context.Background())
170
defer closer()
171
172
- data, err := unixfs.BytesForMetadata(&unixfs.Metadata{"text", 125})
172
+ data, err := unixfs.BytesForMetadata(&unixfs.Metadata{
173
+ MimeType: "text",
174
+ Size: 125,
175
+ })
176
if err != nil {
177
t.Fatal(err)
178
}
unixfs/io/dirbuilder.go
+4
-4
@@ -119,7 +119,7 @@ func (d *Directory) switchToSharding(ctx context.Context) error {
119
return nil
120
}
121
122
-func (d *Directory) ForEachLink(f func(*node.Link) error) error {
122
+func (d *Directory) ForEachLink(ctx context.Context, f func(*node.Link) error) error {
123
if d.shard == nil {
124
for _, l := range d.dirnode.Links() {
125
if err := f(l); err != nil {
@@ -129,15 +129,15 @@ func (d *Directory) ForEachLink(f func(*node.Link) error) error {
129
return nil
130
}
131
132
- return d.shard.ForEachLink(f)
132
+ return d.shard.ForEachLink(ctx, f)
133
}
134
135
-func (d *Directory) Links() ([]*node.Link, error) {
135
+func (d *Directory) Links(ctx context.Context) ([]*node.Link, error) {
136
if d.shard == nil {
137
return d.dirnode.Links(), nil
138
}
139
140
- return d.shard.EnumLinks()
140
+ return d.shard.EnumLinks(ctx)
141
}
142
143
func (d *Directory) Find(ctx context.Context, name string) (node.Node, error) {
unixfs/io/dirbuilder_test.go
+4
-4
@@ -38,7 +38,7 @@ func TestDirectoryGrowth(t *testing.T) {
38
t.Fatal(err)
39
}
40
41
- links, err := dir.Links()
41
+ links, err := dir.Links(ctx)
42
if err != nil {
43
t.Fatal(err)
44
}
@@ -86,7 +86,7 @@ func TestDuplicateAddDir(t *testing.T) {
86
t.Fatal(err)
87
}
88
89
- lnks, err := dir.Links()
89
+ lnks, err := dir.Links(ctx)
90
if err != nil {
91
t.Fatal(err)
92
}
@@ -121,7 +121,7 @@ func TestDirBuilder(t *testing.T) {
121
t.Fatal(err)
122
}
123
124
- links, err := dir.Links()
124
+ links, err := dir.Links(ctx)
125
if err != nil {
126
t.Fatal(err)
127
}
@@ -135,7 +135,7 @@ func TestDirBuilder(t *testing.T) {
135
t.Fatal(err)
136
}
137
138
- links, err = adir.Links()
138
+ links, err = adir.Links(ctx)
139
if err != nil {
140
t.Fatal(err)
141
}