From baf4fbe309dfc4c3bcb88b2b23774edf375772e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Thu, 15 Aug 2019 00:17:27 +0200 Subject: [PATCH] sectorstore: Address review feetback --- lib/sectorbuilder/sectorbuilder_test.go | 20 ++++++++------------ node/impl/storminer.go | 4 ++-- storage/sector/store.go | 16 ++++++++++------ 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/lib/sectorbuilder/sectorbuilder_test.go b/lib/sectorbuilder/sectorbuilder_test.go index 211bbcbbc..ebe28cfac 100644 --- a/lib/sectorbuilder/sectorbuilder_test.go +++ b/lib/sectorbuilder/sectorbuilder_test.go @@ -1,14 +1,14 @@ -package sectorbuilder +package sectorbuilder_test import ( - "context" - "fmt" "io" "io/ioutil" "math/rand" "testing" "github.com/filecoin-project/go-lotus/chain/address" + "github.com/filecoin-project/go-lotus/lib/sectorbuilder" + "github.com/filecoin-project/go-lotus/storage/sector" ) func TestSealAndVerify(t *testing.T) { @@ -23,7 +23,7 @@ func TestSealAndVerify(t *testing.T) { t.Fatal(err) } - sb, err := New(&SectorBuilderConfig{ + sb, err := sectorbuilder.New(§orbuilder.SectorBuilderConfig{ SectorSize: 1024, SealedDir: dir, StagedDir: dir, @@ -34,11 +34,6 @@ func TestSealAndVerify(t *testing.T) { t.Fatal(err) } - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - - sb.Run(ctx) - fi, err := ioutil.TempFile("", "sbtestfi") if err != nil { t.Fatal(err) @@ -51,10 +46,11 @@ func TestSealAndVerify(t *testing.T) { t.Fatal(err) } - ssinfo := <-sb.SealedSectorChan() - fmt.Println("sector sealed...") + store := sector.NewStore(sb) + store.Service() + ssinfo := <-store.Incoming() - ok, err := VerifySeal(1024, ssinfo.CommR[:], ssinfo.CommD[:], ssinfo.CommRStar[:], addr, ssinfo.SectorID, ssinfo.Proof) + ok, err := sectorbuilder.VerifySeal(1024, ssinfo.CommR[:], ssinfo.CommD[:], ssinfo.CommRStar[:], addr, ssinfo.SectorID, ssinfo.Proof) if err != nil { t.Fatal(err) } diff --git a/node/impl/storminer.go b/node/impl/storminer.go index 77c93bd8f..2c3b6e552 100644 --- a/node/impl/storminer.go +++ b/node/impl/storminer.go @@ -3,14 +3,14 @@ package impl import ( "context" "fmt" - "github.com/filecoin-project/go-lotus/chain/address" - "github.com/filecoin-project/go-lotus/storage/sector" "io" "math/rand" "github.com/filecoin-project/go-lotus/api" + "github.com/filecoin-project/go-lotus/chain/address" "github.com/filecoin-project/go-lotus/lib/sectorbuilder" "github.com/filecoin-project/go-lotus/storage" + "github.com/filecoin-project/go-lotus/storage/sector" ) type StorageMinerAPI struct { diff --git a/storage/sector/store.go b/storage/sector/store.go index 6968958a5..2f366cbe3 100644 --- a/storage/sector/store.go +++ b/storage/sector/store.go @@ -24,14 +24,14 @@ type Store struct { incoming []chan sectorbuilder.SectorSealingStatus // TODO: outdated chan - close chan struct{} + closeCh chan struct{} } func NewStore(sb *sectorbuilder.SectorBuilder) *Store { return &Store{ sb: sb, waiting: map[uint64]chan struct{}{}, - close: make(chan struct{}), + closeCh: make(chan struct{}), } } @@ -88,7 +88,7 @@ func (s *Store) service() { select { case <-poll: s.poll() - case <-s.close: + case <-s.closeCh: s.lk.Lock() for _, c := range s.incoming { close(c) @@ -131,7 +131,9 @@ func (s *Store) CloseIncoming(c <-chan sectorbuilder.SectorSealingStatus) { return } if len(s.incoming) > 1 { - s.incoming[at] = s.incoming[len(s.incoming)-1] + last := len(s.incoming) - 1 + s.incoming[at] = s.incoming[last] + s.incoming[last] = nil } s.incoming = s.incoming[:len(s.incoming)-1] s.lk.Unlock() @@ -161,7 +163,7 @@ func (s *Store) WaitSeal(ctx context.Context, sector uint64) (sectorbuilder.Sect } func (s *Store) Stop() { - close(s.close) + close(s.closeCh) } func withTemp(r io.Reader, cb func(string) error) error { @@ -178,7 +180,9 @@ func withTemp(r io.Reader, cb func(string) error) error { err = cb(f.Name()) if err != nil { - os.Remove(f.Name()) + if err := os.Remove(f.Name()); err != nil { + log.Errorf("couldn't remove temp file '%s'", f.Name()) + } return err }