diff --git a/extern/storage-sealing/input.go b/extern/storage-sealing/input.go index 9654296ca..5d6176202 100644 --- a/extern/storage-sealing/input.go +++ b/extern/storage-sealing/input.go @@ -5,6 +5,8 @@ import ( "sort" "time" + "github.com/filecoin-project/lotus/extern/storage-sealing/lib/nullreader" + "github.com/filecoin-project/go-padreader" "github.com/filecoin-project/go-statemachine" "github.com/ipfs/go-cid" @@ -220,7 +222,7 @@ func (m *Sealing) handleAddPiece(ctx statemachine.Context, sector SectorInfo) er m.minerSector(sector.SectorType, sector.SectorNumber), pieceSizes, p.Unpadded(), - NewNullReader(p.Unpadded())) + nullreader.NewNullReader(p.Unpadded())) if err != nil { err = xerrors.Errorf("writing padding piece: %w", err) deal.accepted(sector.SectorNumber, offset, err) diff --git a/extern/storage-sealing/lib/nullreader/nullreader.go b/extern/storage-sealing/lib/nullreader/nullreader.go index dc3537ad7..9e4bc523c 100644 --- a/extern/storage-sealing/lib/nullreader/nullreader.go +++ b/extern/storage-sealing/lib/nullreader/nullreader.go @@ -1,5 +1,23 @@ package nullreader +import ( + "io" + + "github.com/filecoin-project/go-state-types/abi" +) + +type NullReader struct { + *io.LimitedReader +} + +func NewNullReader(size abi.UnpaddedPieceSize) io.Reader { + return &NullReader{(io.LimitReader(&Reader{}, int64(size))).(*io.LimitedReader)} +} + +func (m NullReader) NullBytes() int64 { + return m.N +} + // TODO: extract this to someplace where it can be shared with lotus type Reader struct{} diff --git a/extern/storage-sealing/nullreader.go b/extern/storage-sealing/nullreader.go deleted file mode 100644 index 5987a4145..000000000 --- a/extern/storage-sealing/nullreader.go +++ /dev/null @@ -1,20 +0,0 @@ -package sealing - -import ( - "io" - - "github.com/filecoin-project/go-state-types/abi" - nr "github.com/filecoin-project/lotus/extern/storage-sealing/lib/nullreader" -) - -type NullReader struct { - *io.LimitedReader -} - -func NewNullReader(size abi.UnpaddedPieceSize) io.Reader { - return &NullReader{(io.LimitReader(&nr.Reader{}, int64(size))).(*io.LimitedReader)} -} - -func (m NullReader) NullBytes() int64 { - return m.N -} diff --git a/extern/storage-sealing/states_sealing.go b/extern/storage-sealing/states_sealing.go index 1b2556943..bc9389688 100644 --- a/extern/storage-sealing/states_sealing.go +++ b/extern/storage-sealing/states_sealing.go @@ -4,6 +4,8 @@ import ( "bytes" "context" + "github.com/filecoin-project/lotus/extern/storage-sealing/lib/nullreader" + "github.com/ipfs/go-cid" "golang.org/x/xerrors" @@ -91,7 +93,7 @@ func (m *Sealing) padSector(ctx context.Context, sectorID storage.SectorRef, exi for i, size := range sizes { expectCid := zerocomm.ZeroPieceCommitment(size) - ppi, err := m.sealer.AddPiece(ctx, sectorID, existingPieceSizes, size, NewNullReader(size)) + ppi, err := m.sealer.AddPiece(ctx, sectorID, existingPieceSizes, size, nullreader.NewNullReader(size)) if err != nil { return nil, xerrors.Errorf("add piece: %w", err) } diff --git a/lib/rpcenc/reader.go b/lib/rpcenc/reader.go index 61ae80ba9..1e00fb6be 100644 --- a/lib/rpcenc/reader.go +++ b/lib/rpcenc/reader.go @@ -15,13 +15,14 @@ import ( "sync" "time" + sealing "github.com/filecoin-project/lotus/extern/storage-sealing/lib/nullreader" + "github.com/google/uuid" logging "github.com/ipfs/go-log/v2" "golang.org/x/xerrors" "github.com/filecoin-project/go-jsonrpc" "github.com/filecoin-project/go-state-types/abi" - sealing "github.com/filecoin-project/lotus/extern/storage-sealing" ) var log = logging.Logger("rpcenc") diff --git a/lib/rpcenc/reader_test.go b/lib/rpcenc/reader_test.go index 302908df0..06171025a 100644 --- a/lib/rpcenc/reader_test.go +++ b/lib/rpcenc/reader_test.go @@ -9,12 +9,13 @@ import ( "strings" "testing" + sealing "github.com/filecoin-project/lotus/extern/storage-sealing/lib/nullreader" + "github.com/gorilla/mux" "github.com/stretchr/testify/require" "golang.org/x/xerrors" "github.com/filecoin-project/go-jsonrpc" - sealing "github.com/filecoin-project/lotus/extern/storage-sealing" ) type ReaderHandler struct {