fuse: load unixfs adls as their dagpb substrates
Adin Schmahmann committed
Sep 27, 2021 at 12:50 UTC
85e30b9b3635a40781c3b8e99ca40978c514146e
4 files changed
+13
-4
docs/examples/go-ipfs-as-a-library/go.sum
+2
-1
@@ -545,8 +545,9 @@ github.com/ipfs/go-unixfs v0.1.0/go.mod h1:lysk5ELhOso8+Fed9U1QTGey2ocsfaZ18h0NC
545
github.com/ipfs/go-unixfs v0.2.4/go.mod h1:SUdisfUjNoSDzzhGVxvCL9QO/nKdwXdr+gbMUdqcbYw=
546
github.com/ipfs/go-unixfs v0.2.5 h1:irj/WzIcgTBay48mSMUYDbKlIzIocXWcuUUsi5qOMOE=
547
github.com/ipfs/go-unixfs v0.2.5/go.mod h1:SUdisfUjNoSDzzhGVxvCL9QO/nKdwXdr+gbMUdqcbYw=
548
-github.com/ipfs/go-unixfsnode v1.1.2 h1:aTsCdhwU0F4dMShMwYGroAj4v4EzSONLdoENebvTRb0=
548
github.com/ipfs/go-unixfsnode v1.1.2/go.mod h1:5dcE2x03pyjHk4JjamXmunTMzz+VUtqvPwZjIEkfV6s=
549
+github.com/ipfs/go-unixfsnode v1.1.3 h1:IyqJBGIEvcHvll1wDDVIHOEVXnE+IH6tjzTWpZ6kGiI=
550
+github.com/ipfs/go-unixfsnode v1.1.3/go.mod h1:ZZxUM5wXBC+G0Co9FjrYTOm+UlhZTjxLfRYdWY9veZ4=
551
github.com/ipfs/go-verifcid v0.0.1 h1:m2HI7zIuR5TFyQ1b79Da5N9dnnCP1vcu2QqawmWlK2E=
552
github.com/ipfs/go-verifcid v0.0.1/go.mod h1:5Hrva5KBeIog4A+UpqlaIU+DEstipcJYQQZc0g37pY0=
553
github.com/ipfs/interface-go-ipfs-core v0.4.0/go.mod h1:UJBcU6iNennuI05amq3FQ7g0JHUkibHFAfhfUIy927o=
fuse/readonly/readonly_unix.go
+8
-1
@@ -21,6 +21,7 @@ import (
21
"github.com/ipfs/go-path/resolver"
22
ft "github.com/ipfs/go-unixfs"
23
uio "github.com/ipfs/go-unixfs/io"
24
+ ipldprime "github.com/ipld/go-ipld-prime"
25
cidlink "github.com/ipld/go-ipld-prime/linking/cid"
26
)
27
@@ -89,7 +90,13 @@ func (s *Root) Lookup(ctx context.Context, name string) (fs.Node, error) {
90
var fnd ipld.Node
91
switch cidLnk.Cid.Prefix().Codec {
92
case cid.DagProtobuf:
92
- fnd, err = mdag.ProtoNodeConverter(blk, nd)
93
+ adl, ok := nd.(ipldprime.ADL)
94
+ if ok {
95
+ substrate := adl.Substrate()
96
+ fnd, err = mdag.ProtoNodeConverter(blk, substrate)
97
+ } else {
98
+ fnd, err = mdag.ProtoNodeConverter(blk, nd)
99
+ }
100
case cid.Raw:
101
fnd, err = mdag.RawNodeConverter(blk, nd)
102
default:
go.mod
+1
-1
@@ -54,7 +54,7 @@ require (
54
github.com/ipfs/go-path v0.1.2
55
github.com/ipfs/go-pinning-service-http-client v0.1.0
56
github.com/ipfs/go-unixfs v0.2.5
57
- github.com/ipfs/go-unixfsnode v1.1.2
57
+ github.com/ipfs/go-unixfsnode v1.1.3
58
github.com/ipfs/go-verifcid v0.0.1
59
github.com/ipfs/interface-go-ipfs-core v0.5.1
60
github.com/ipfs/tar-utils v0.0.1
go.sum
+2
-1
@@ -560,8 +560,9 @@ github.com/ipfs/go-unixfs v0.1.0/go.mod h1:lysk5ELhOso8+Fed9U1QTGey2ocsfaZ18h0NC
560
github.com/ipfs/go-unixfs v0.2.4/go.mod h1:SUdisfUjNoSDzzhGVxvCL9QO/nKdwXdr+gbMUdqcbYw=
561
github.com/ipfs/go-unixfs v0.2.5 h1:irj/WzIcgTBay48mSMUYDbKlIzIocXWcuUUsi5qOMOE=
562
github.com/ipfs/go-unixfs v0.2.5/go.mod h1:SUdisfUjNoSDzzhGVxvCL9QO/nKdwXdr+gbMUdqcbYw=
563
-github.com/ipfs/go-unixfsnode v1.1.2 h1:aTsCdhwU0F4dMShMwYGroAj4v4EzSONLdoENebvTRb0=
563
github.com/ipfs/go-unixfsnode v1.1.2/go.mod h1:5dcE2x03pyjHk4JjamXmunTMzz+VUtqvPwZjIEkfV6s=
564
+github.com/ipfs/go-unixfsnode v1.1.3 h1:IyqJBGIEvcHvll1wDDVIHOEVXnE+IH6tjzTWpZ6kGiI=
565
+github.com/ipfs/go-unixfsnode v1.1.3/go.mod h1:ZZxUM5wXBC+G0Co9FjrYTOm+UlhZTjxLfRYdWY9veZ4=
566
github.com/ipfs/go-verifcid v0.0.1 h1:m2HI7zIuR5TFyQ1b79Da5N9dnnCP1vcu2QqawmWlK2E=
567
github.com/ipfs/go-verifcid v0.0.1/go.mod h1:5Hrva5KBeIog4A+UpqlaIU+DEstipcJYQQZc0g37pY0=
568
github.com/ipfs/interface-go-ipfs-core v0.4.0/go.mod h1:UJBcU6iNennuI05amq3FQ7g0JHUkibHFAfhfUIy927o=