diff --git a/core/commands/urlstore.go b/core/commands/urlstore.go index dc0f75e44..f618d1fb3 100644 --- a/core/commands/urlstore.go +++ b/core/commands/urlstore.go @@ -116,7 +116,11 @@ time. layout = trickle.Layout } - root, err := layout(dbp.New(chk)) + db, err := dbp.New(chk) + if err != nil { + return err + } + root, err := layout(db) if err != nil { return err } diff --git a/core/coreapi/interface/tests/unixfs.go b/core/coreapi/interface/tests/unixfs.go index 0ceae06e1..fdc1a08cd 100644 --- a/core/coreapi/interface/tests/unixfs.go +++ b/core/coreapi/interface/tests/unixfs.go @@ -16,6 +16,7 @@ import ( "github.com/ipfs/go-ipfs/core/coreapi/interface/options" "gx/ipfs/QmQXze9tG878pa4Euya4rrDpyTNX3kQe4dhCaBzBozGgpe/go-unixfs" + "gx/ipfs/QmQXze9tG878pa4Euya4rrDpyTNX3kQe4dhCaBzBozGgpe/go-unixfs/importer/helpers" "gx/ipfs/QmR8BauakNcBa3RbE4nbQu76PDiJgoQgz8AJdhJuiU4TAw/go-cid" cbor "gx/ipfs/QmRoARq3nkUb13HSKZGepCZSWe5GrVPwx7xURJGZ7KWv9V/go-ipld-cbor" mdag "gx/ipfs/QmTQdH4848iTVCJmKXYyRiK72HufWTLYQQ8iN3JaQ8K1Hq/go-merkledag" @@ -365,6 +366,13 @@ func (tp *provider) TestAdd(t *testing.T) { opts: []options.UnixfsAddOption{options.Unixfs.Nocopy(true), options.Unixfs.RawLeaves(false)}, err: "nocopy option requires '--raw-leaves' to be enabled as well", }, + { + name: "noCopyNoPath", + data: strFile(helloStr), + path: "/ipfs/zb2rhdhmJjJZs9qkhQCpCQ7VREFkqWw3h1r8utjVvQugwHPFd", + opts: []options.UnixfsAddOption{options.Unixfs.Nocopy(true)}, + err: helpers.ErrMissingFsRef.Error(), + }, // Events / Progress { name: "simpleAddEvent", diff --git a/core/coreunix/add.go b/core/coreunix/add.go index 221fefa1a..ca18a91c7 100644 --- a/core/coreunix/add.go +++ b/core/coreunix/add.go @@ -123,11 +123,15 @@ func (adder *Adder) add(reader io.Reader) (ipld.Node, error) { CidBuilder: adder.CidBuilder, } + db, err := params.New(chnk) + if err != nil { + return nil, err + } if adder.Trickle { - return trickle.Layout(params.New(chnk)) + return trickle.Layout(db) } - return balanced.Layout(params.New(chnk)) + return balanced.Layout(db) } // RootNode returns the root node of the Added.