fix: ipfs mount crashing if there was no name published before
License: MIT Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
Jakub Sztandera committed
Feb 26, 2017 at 18:59 UTC
83086311e2e84bb2b741699fea995a6520c40b30
1 file changed
+7
-1
fuse/ipns/ipns_unix.go
+7
-1
@@ -13,8 +13,10 @@ import (
13
core "github.com/ipfs/go-ipfs/core"
14
dag "github.com/ipfs/go-ipfs/merkledag"
15
mfs "github.com/ipfs/go-ipfs/mfs"
16
+ namesys "github.com/ipfs/go-ipfs/namesys"
17
path "github.com/ipfs/go-ipfs/path"
18
ft "github.com/ipfs/go-ipfs/unixfs"
19
+ uio "github.com/ipfs/go-ipfs/unixfs/io"
20
21
ci "gx/ipfs/QmNiCwBNA8MWDADTFVq1BonUEJbS2SvjAoNkZZrhEwcuUi/go-libp2p-crypto"
22
logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log"
@@ -95,7 +97,11 @@ func loadRoot(ctx context.Context, rt *keyRoot, ipfs *core.IpfsNode, name string
97
}
98
99
node, err := core.Resolve(ctx, ipfs.Namesys, ipfs.Resolver, p)
98
- if err != nil {
100
+ switch err {
101
+ case nil:
102
+ case namesys.ErrResolveFailed:
103
+ node = uio.NewEmptyDirectory()
104
+ default:
105
log.Errorf("looking up %s: %s", p, err)
106
return nil, err
107
}