@@ -20,6 +20,7 @@ import (
20
20
"github.com/filecoin-project/boost/extern/boostd-data/model"
21
21
"github.com/filecoin-project/boost/node/config"
22
22
"github.com/filecoin-project/boost/piecedirectory"
23
+ "github.com/filecoin-project/dagstore/mount"
23
24
"github.com/filecoin-project/go-address"
24
25
"github.com/filecoin-project/go-commp-utils/writer"
25
26
"github.com/filecoin-project/go-jsonrpc"
@@ -34,7 +35,6 @@ import (
34
35
"github.com/google/uuid"
35
36
"github.com/ipfs/go-cid"
36
37
"github.com/ipfs/go-cidutil/cidenc"
37
- carv2 "github.com/ipld/go-car/v2"
38
38
"github.com/mitchellh/go-homedir"
39
39
"github.com/multiformats/go-multibase"
40
40
"github.com/urfave/cli/v2"
@@ -467,7 +467,7 @@ func (dr *DisasterRecovery) CompleteSector(s abi.SectorNumber) error {
467
467
}
468
468
469
469
// safeUnsealSector tries to return a reader to an unsealed sector or times out
470
- func safeUnsealSector (ctx context.Context , sectorid abi.SectorNumber , offset abi.UnpaddedPieceSize , piecesize abi.PaddedPieceSize ) (io. ReadCloser , bool , error ) {
470
+ func safeUnsealSector (ctx context.Context , sectorid abi.SectorNumber , offset abi.UnpaddedPieceSize , piecesize abi.PaddedPieceSize ) (mount. Reader , bool , error ) {
471
471
mid , _ := address .IDFromAddress (maddr )
472
472
473
473
sid := abi.SectorID {
@@ -480,7 +480,7 @@ func safeUnsealSector(ctx context.Context, sectorid abi.SectorNumber, offset abi
480
480
logger .Errorw ("storage find sector" , "err" , err )
481
481
}
482
482
483
- var reader io. ReadCloser
483
+ var reader mount. Reader
484
484
var isUnsealed bool
485
485
486
486
done := make (chan struct {})
@@ -513,7 +513,7 @@ func safeUnsealSector(ctx context.Context, sectorid abi.SectorNumber, offset abi
513
513
logger .Debugw ("sa.IsUnsealed return true" , "sector" , sectorid )
514
514
515
515
go func () {
516
- reader , err = sa .UnsealSector (ctx , sectorid , offset , piecesize .Unpadded ())
516
+ reader , err = sa .UnsealSectorAt (ctx , sectorid , offset , piecesize .Unpadded ())
517
517
if err != nil {
518
518
logger .Errorw ("sa.UnsealSector return error" , "sector" , sectorid , "err" , err )
519
519
return
@@ -580,25 +580,12 @@ func processPiece(ctx context.Context, sectorid abi.SectorNumber, chainDealID ab
580
580
if err != nil {
581
581
return err
582
582
}
583
+ defer reader .Close ()
583
584
if ! isUnsealed {
584
585
return fmt .Errorf ("sector %d is not unsealed" , sid )
585
586
}
586
587
587
588
dr .Sectors [sid ].Deals [cdi ].IsUnsealed = true
588
-
589
- readerAt := reader .(Reader )
590
-
591
- opts := []carv2.Option {carv2 .ZeroLengthSectionAsEOF (true )}
592
- rr , err := carv2 .NewReader (readerAt , opts ... )
593
- if err != nil {
594
- return err
595
- }
596
-
597
- drr , err := rr .DataReader ()
598
- if err != nil {
599
- return err
600
- }
601
-
602
589
dr .Sectors [sid ].Deals [cdi ].GotDataReader = true
603
590
604
591
if ! ignoreLID { // populate LID
@@ -663,7 +650,7 @@ func processPiece(ctx context.Context, sectorid abi.SectorNumber, chainDealID ab
663
650
664
651
if ! ignoreCommp { // commp over data reader
665
652
w := & writer.Writer {}
666
- _ , err = io .CopyBuffer (w , drr , make ([]byte , writer .CommPBuf ))
653
+ _ , err = io .CopyBuffer (w , reader , make ([]byte , writer .CommPBuf ))
667
654
if err != nil {
668
655
return fmt .Errorf ("copy into commp writer: %w" , err )
669
656
}
@@ -676,9 +663,6 @@ func processPiece(ctx context.Context, sectorid abi.SectorNumber, chainDealID ab
676
663
encoder := cidenc.Encoder {Base : multibase .MustNewEncoder (multibase .Base32 )}
677
664
_ = encoder
678
665
679
- //fmt.Println("CommP CID: ", encoder.Encode(commp.PieceCID))
680
- //fmt.Println("Piece size: ", types.NewInt(uint64(commp.PieceSize.Unpadded().Padded())))
681
-
682
666
if ! commp .PieceCID .Equals (piececid ) {
683
667
return fmt .Errorf ("calculated commp doesnt match on-chain data, expected %s, got %s" , piececid , commp .PieceCID )
684
668
}
@@ -782,13 +766,6 @@ func getActorAddress(ctx context.Context, cctx *cli.Context) (maddr address.Addr
782
766
return maddr , nil
783
767
}
784
768
785
- type Reader interface {
786
- io.Closer
787
- io.Reader
788
- io.ReaderAt
789
- io.Seeker
790
- }
791
-
792
769
func createLogger (logPath string ) (* zap.SugaredLogger , error ) {
793
770
logCfg := zap .NewDevelopmentConfig ()
794
771
logCfg .OutputPaths = []string {"stdout" , logPath }
0 commit comments