Wire ctx to getdag operations in gc.GC
License: MIT Signed-off-by: rht <rhtbot@gmail.com>
rht committed
Jan 21, 2016 at 14:40 UTC
fdba13a3e2c06aefdcb0c0e0e949a5ac7b8a6dea
2 files changed
+14
-8
pin/gc/gc.go
+7
-7
@@ -28,7 +28,7 @@ func GC(ctx context.Context, bs bstore.GCBlockstore, pn pin.Pinner) (<-chan key.
28
bsrv := bserv.New(bs, offline.Exchange(bs))
29
ds := dag.NewDAGService(bsrv)
30
31
- gcs, err := ColoredSet(pn, ds)
31
+ gcs, err := ColoredSet(ctx, pn, ds)
32
if err != nil {
33
return nil, err
34
}
@@ -69,16 +69,16 @@ func GC(ctx context.Context, bs bstore.GCBlockstore, pn pin.Pinner) (<-chan key.
69
return output, nil
70
}
71
72
-func Descendants(ds dag.DAGService, set key.KeySet, roots []key.Key) error {
72
+func Descendants(ctx context.Context, ds dag.DAGService, set key.KeySet, roots []key.Key) error {
73
for _, k := range roots {
74
set.Add(k)
75
- nd, err := ds.Get(context.Background(), k)
75
+ nd, err := ds.Get(ctx, k)
76
if err != nil {
77
return err
78
}
79
80
// EnumerateChildren recursively walks the dag and adds the keys to the given set
81
- err = dag.EnumerateChildren(context.Background(), ds, nd, set)
81
+ err = dag.EnumerateChildren(ctx, ds, nd, set)
82
if err != nil {
83
return err
84
}
@@ -87,11 +87,11 @@ func Descendants(ds dag.DAGService, set key.KeySet, roots []key.Key) error {
87
return nil
88
}
89
90
-func ColoredSet(pn pin.Pinner, ds dag.DAGService) (key.KeySet, error) {
90
+func ColoredSet(ctx context.Context, pn pin.Pinner, ds dag.DAGService) (key.KeySet, error) {
91
// KeySet currently implemented in memory, in the future, may be bloom filter or
92
// disk backed to conserve memory.
93
gcs := key.NewKeySet()
94
- err := Descendants(ds, gcs, pn.RecursiveKeys())
94
+ err := Descendants(ctx, ds, gcs, pn.RecursiveKeys())
95
if err != nil {
96
return nil, err
97
}
@@ -100,7 +100,7 @@ func ColoredSet(pn pin.Pinner, ds dag.DAGService) (key.KeySet, error) {
100
gcs.Add(k)
101
}
102
103
- err = Descendants(ds, gcs, pn.InternalPins())
103
+ err = Descendants(ctx, ds, gcs, pn.InternalPins())
104
if err != nil {
105
return nil, err
106
}
repo/fsrepo/fsrepo.go
+7
-1
@@ -562,7 +562,13 @@ func (r *FSRepo) GetStorageUsage() (uint64, error) {
562
563
var du uint64
564
err = filepath.Walk(pth, func(p string, f os.FileInfo, err error) error {
565
- du += uint64(f.Size())
565
+ if err != nil {
566
+ log.Debugf("filepath.Walk error: %s", err)
567
+ return nil
568
+ }
569
+ if f != nil {
570
+ du += uint64(f.Size())
571
+ }
572
return nil
573
})
574
return du, err