fix(core): look for MFS root in local repo only (#8661)
Co-authored-by: Andrew Gillis <11790789+gammazero@users.noreply.github.com>
Lucas Molas committed
Oct 3, 2024 at 16:38 UTC
22aeb13124eb7a0f204c6af46135cb37823f76dd
1 file changed
+5
-4
core/node/core.go
+5
-4
@@ -146,7 +146,7 @@ func Dag(bs blockservice.BlockService) format.DAGService {
146
}
147
148
// Files loads persisted MFS root
149
-func Files(mctx helpers.MetricsCtx, lc fx.Lifecycle, repo repo.Repo, dag format.DAGService) (*mfs.Root, error) {
149
+func Files(mctx helpers.MetricsCtx, lc fx.Lifecycle, repo repo.Repo, dag format.DAGService, bs blockstore.Blockstore) (*mfs.Root, error) {
150
dsk := datastore.NewKey("/local/filesroot")
151
pf := func(ctx context.Context, c cid.Cid) error {
152
rootDS := repo.Datastore()
@@ -172,7 +172,7 @@ func Files(mctx helpers.MetricsCtx, lc fx.Lifecycle, repo repo.Repo, dag format.
172
nd = unixfs.EmptyDirNode()
173
err := dag.Add(ctx, nd)
174
if err != nil {
175
- return nil, fmt.Errorf("failure writing to dagstore: %s", err)
175
+ return nil, fmt.Errorf("failure writing filesroot to dagstore: %s", err)
176
}
177
case err == nil:
178
c, err := cid.Cast(val)
@@ -180,9 +180,10 @@ func Files(mctx helpers.MetricsCtx, lc fx.Lifecycle, repo repo.Repo, dag format.
180
return nil, err
181
}
182
183
- rnd, err := dag.Get(ctx, c)
183
+ offineDag := merkledag.NewDAGService(blockservice.New(bs, offline.Exchange(bs)))
184
+ rnd, err := offineDag.Get(ctx, c)
185
if err != nil {
185
- return nil, fmt.Errorf("error loading filesroot from DAG: %s", err)
186
+ return nil, fmt.Errorf("error loading filesroot from dagservice: %s", err)
187
}
188
189
pbnd, ok := rnd.(*merkledag.ProtoNode)