@cryptotaxi247 / kubo / commits / 675106d75

coreapi unixfs: rebase fixes for fileAdder.AddAllAndPin

License: MIT Signed-off-by: Łukasz Magiera <magik6k@gmail.com>

Łukasz Magiera committed Oct 3, 2018 at 02:08 UTC 675106d75968612049c5aba28060cc6c65303b50
4 files changed +14 -24
core/commands/add.go
+1 -1
@@ -302,7 +302,7 @@ You can now check what blocks have been created by:
302 var err error
303 defer func() { errCh <- err }()
304 defer close(outChan)
305 - err = fileAdder.AddAllAndPin(req.Files)
305 + _, err = fileAdder.AddAllAndPin(req.Files)
306 }()
307
308 err = res.Emit(outChan)
core/coreapi/unixfs.go
+3 -13
@@ -68,7 +68,7 @@ func (api *UnixfsAPI) Add(ctx context.Context, r io.ReadCloser, opts ...options.
68 //fileAdder.Progress = progress
69 //fileAdder.Hidden = hidden
70 //fileAdder.Wrap = wrap
71 - fileAdder.Pin = settings.Pin
71 + fileAdder.Pin = settings.Pin && !settings.OnlyHash
72 fileAdder.Silent = true
73 fileAdder.RawLeaves = settings.RawLeaves
74 //fileAdder.NoCopy = nocopy
@@ -104,21 +104,11 @@ func (api *UnixfsAPI) Add(ctx context.Context, r io.ReadCloser, opts ...options.
104 fileAdder.SetMfsRoot(mr)
105 }
106
107 - err = fileAdder.AddFile(files.NewReaderFile("", "", r, nil))
107 + nd, err := fileAdder.AddAllAndPin(files.NewReaderFile("", "", r, nil))
108 if err != nil {
109 return nil, err
110 }
111 -
112 - nd, err := fileAdder.Finalize()
113 - if err != nil {
114 - return nil, err
115 - }
116 -
117 - if settings.Pin {
118 - err = fileAdder.PinRoot()
119 - }
120 -
121 - return coreiface.IpfsPath(nd.Cid()), err
111 + return coreiface.IpfsPath(nd.Cid()), nil
112 }
113
114 // Cat returns the data contained by an IPFS or IPNS object(s) at path `p`.
core/coreunix/add.go
+8 -8
@@ -399,7 +399,7 @@ func (adder *Adder) addNode(node ipld.Node, path string) error {
399 }
400
401 // AddAllAndPin adds the given request's files and pin them.
402 -func (adder *Adder) AddAllAndPin(file files.File) error {
402 +func (adder *Adder) AddAllAndPin(file files.File) (ipld.Node, error) {
403 if adder.Pin {
404 adder.unlocker = adder.blockstore.PinLock()
405 }
@@ -420,30 +420,30 @@ func (adder *Adder) AddAllAndPin(file files.File) error {
420 // Finished the list of files.
421 break
422 } else if err != nil {
423 - return err
423 + return nil, err
424 }
425 if err := adder.addFile(file); err != nil {
426 - return err
426 + return nil, err
427 }
428 }
429 break
430 default:
431 if err := adder.addFile(file); err != nil {
432 - return err
432 + return nil, err
433 }
434 break
435 }
436
437 // copy intermediary nodes from editor to our actual dagservice
438 - _, err := adder.Finalize()
438 + nd, err := adder.Finalize()
439 if err != nil {
440 - return err
440 + return nil, err
441 }
442
443 if !adder.Pin {
444 - return nil
444 + return nd, nil
445 }
446 - return adder.PinRoot()
446 + return nd, adder.PinRoot()
447 }
448
449 func (adder *Adder) addFile(file files.File) error {
core/coreunix/add_test.go
+2 -2
@@ -85,7 +85,7 @@ func TestAddGCLive(t *testing.T) {
85 go func() {
86 defer close(addDone)
87 defer close(out)
88 - err := adder.AddAllAndPin(slf)
88 + _, err := adder.AddAllAndPin(slf)
89
90 if err != nil {
91 t.Fatal(err)
@@ -191,7 +191,7 @@ func testAddWPosInfo(t *testing.T, rawLeaves bool) {
191
192 go func() {
193 defer close(adder.Out)
194 - err = adder.AddAllAndPin(file)
194 + _, err = adder.AddAllAndPin(file)
195 if err != nil {
196 t.Fatal(err)
197 }