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
}