From a97639a78a6166eb81e55eec7903587187901dc0 Mon Sep 17 00:00:00 2001 From: Jeromy Date: Thu, 13 Aug 2015 15:16:58 -0700 Subject: [PATCH] dont create ipnsfs filesystem until its needed License: MIT Signed-off-by: Jeromy --- core/core.go | 10 ---------- fuse/ipns/mount_unix.go | 9 +++++++++ 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/core/core.go b/core/core.go index 7eb19e997..4e7289cdc 100644 --- a/core/core.go +++ b/core/core.go @@ -38,7 +38,6 @@ import ( routing "github.com/ipfs/go-ipfs/routing" dht "github.com/ipfs/go-ipfs/routing/dht" - kb "github.com/ipfs/go-ipfs/routing/kbucket" nilrouting "github.com/ipfs/go-ipfs/routing/none" offroute "github.com/ipfs/go-ipfs/routing/offline" @@ -162,15 +161,6 @@ func NewIPFSNode(ctx context.Context, option ConfigOption) (*IpfsNode, error) { } node.Resolver = &path.Resolver{DAG: node.DAG} - // Setup the mutable ipns filesystem structure - if node.OnlineMode() { - fs, err := ipnsfs.NewFilesystem(ctx, node.DAG, node.Namesys, node.Pinning, node.PrivateKey) - if err != nil && err != kb.ErrLookupFailure { - return nil, err - } - node.IpnsFs = fs - } - success = true return node, nil } diff --git a/fuse/ipns/mount_unix.go b/fuse/ipns/mount_unix.go index 9b4133341..5ec33eded 100644 --- a/fuse/ipns/mount_unix.go +++ b/fuse/ipns/mount_unix.go @@ -6,6 +6,7 @@ package ipns import ( core "github.com/ipfs/go-ipfs/core" mount "github.com/ipfs/go-ipfs/fuse/mount" + ipnsfs "github.com/ipfs/go-ipfs/ipnsfs" ) // Mount mounts ipns at a given location, and returns a mount.Mount instance. @@ -13,6 +14,14 @@ func Mount(ipfs *core.IpfsNode, ipnsmp, ipfsmp string) (mount.Mount, error) { cfg := ipfs.Repo.Config() allow_other := cfg.Mounts.FuseAllowOther + if ipfs.IpnsFs == nil { + fs, err := ipnsfs.NewFilesystem(ipfs.Context(), ipfs.DAG, ipfs.Namesys, ipfs.Pinning, ipfs.PrivateKey) + if err != nil { + return nil, err + } + ipfs.IpnsFs = fs + } + fsys, err := NewFileSystem(ipfs, ipfs.PrivateKey, ipfsmp, ipnsmp) if err != nil { return nil, err