specs-actors v0.6

This commit is contained in:
Łukasz Magiera 2020-06-15 14:32:17 +02:00
parent 41f6d62a51
commit f67bbbc457
28 changed files with 102 additions and 99 deletions

2
extern/filecoin-ffi vendored

@ -1 +1 @@
Subproject commit 61c02f6bea8d69bb79c70daa1d62f26c486643aa Subproject commit 1bff7f4563370ada590a605b5459b91e1662ebaa

View File

@ -13,11 +13,11 @@ import (
// TODO: Track things more actively // TODO: Track things more actively
type FaultTracker interface { type FaultTracker interface {
CheckProvable(ctx context.Context, spt abi.RegisteredProof, sectors []abi.SectorID) ([]abi.SectorID, error) CheckProvable(ctx context.Context, spt abi.RegisteredSealProof, sectors []abi.SectorID) ([]abi.SectorID, error)
} }
// Returns unprovable sectors // Returns unprovable sectors
func (m *Manager) CheckProvable(ctx context.Context, spt abi.RegisteredProof, sectors []abi.SectorID) ([]abi.SectorID, error) { func (m *Manager) CheckProvable(ctx context.Context, spt abi.RegisteredSealProof, sectors []abi.SectorID) ([]abi.SectorID, error) {
var bad []abi.SectorID var bad []abi.SectorID
// TODO: More better checks // TODO: More better checks

View File

@ -7,31 +7,27 @@ import (
) )
type Config struct { type Config struct {
SealProofType abi.RegisteredProof SealProofType abi.RegisteredSealProof
_ struct{} // guard against nameless init _ struct{} // guard against nameless init
} }
func sizeFromConfig(cfg Config) (abi.SectorSize, error) { func sizeFromConfig(cfg Config) (abi.SectorSize, error) {
if cfg.SealProofType == abi.RegisteredProof(0) {
return abi.SectorSize(0), xerrors.New("must specify a seal proof type from abi.RegisteredProof")
}
return cfg.SealProofType.SectorSize() return cfg.SealProofType.SectorSize()
} }
func SealProofTypeFromSectorSize(ssize abi.SectorSize) (abi.RegisteredProof, error) { func SealProofTypeFromSectorSize(ssize abi.SectorSize) (abi.RegisteredSealProof, error) {
switch ssize { switch ssize {
case 2 << 10: case 2 << 10:
return abi.RegisteredProof_StackedDRG2KiBSeal, nil return abi.RegisteredSealProof_StackedDrg2KiBV1, nil
case 8 << 20: case 8 << 20:
return abi.RegisteredProof_StackedDRG8MiBSeal, nil return abi.RegisteredSealProof_StackedDrg8MiBV1, nil
case 512 << 20: case 512 << 20:
return abi.RegisteredProof_StackedDRG512MiBSeal, nil return abi.RegisteredSealProof_StackedDrg512MiBV1, nil
case 32 << 30: case 32 << 30:
return abi.RegisteredProof_StackedDRG32GiBSeal, nil return abi.RegisteredSealProof_StackedDrg32GiBV1, nil
case 64 << 30: case 64 << 30:
return abi.RegisteredProof_StackedDRG64GiBSeal, nil return abi.RegisteredSealProof_StackedDrg64GiBV1, nil
default: default:
return 0, xerrors.Errorf("unsupported sector size for miner: %v", ssize) return 0, xerrors.Errorf("unsupported sector size for miner: %v", ssize)
} }

View File

@ -8,7 +8,7 @@ import (
var log = logging.Logger("ffiwrapper") var log = logging.Logger("ffiwrapper")
type Sealer struct { type Sealer struct {
sealProofType abi.RegisteredProof sealProofType abi.RegisteredSealProof
ssize abi.SectorSize // a function of sealProofType and postProofType ssize abi.SectorSize // a function of sealProofType and postProofType
sectors SectorProvider sectors SectorProvider
@ -23,6 +23,6 @@ func (sb *Sealer) SectorSize() abi.SectorSize {
return sb.ssize return sb.ssize
} }
func (sb *Sealer) SealProofType() abi.RegisteredProof { func (sb *Sealer) SealProofType() abi.RegisteredSealProof {
return sb.sealProofType return sb.sealProofType
} }

View File

@ -510,7 +510,7 @@ func (sb *Sealer) FinalizeSector(ctx context.Context, sector abi.SectorID) error
return ffi.ClearCache(uint64(sb.ssize), paths.Cache) return ffi.ClearCache(uint64(sb.ssize), paths.Cache)
} }
func GeneratePieceCIDFromFile(proofType abi.RegisteredProof, piece io.Reader, pieceSize abi.UnpaddedPieceSize) (cid.Cid, error) { func GeneratePieceCIDFromFile(proofType abi.RegisteredSealProof, piece io.Reader, pieceSize abi.UnpaddedPieceSize) (cid.Cid, error) {
f, werr, err := ToReadableFile(piece, int64(pieceSize)) f, werr, err := ToReadableFile(piece, int64(pieceSize))
if err != nil { if err != nil {
return cid.Undef, err return cid.Undef, err
@ -524,7 +524,7 @@ func GeneratePieceCIDFromFile(proofType abi.RegisteredProof, piece io.Reader, pi
return pieceCID, werr() return pieceCID, werr()
} }
func GenerateUnsealedCID(proofType abi.RegisteredProof, pieces []abi.PieceInfo) (cid.Cid, error) { func GenerateUnsealedCID(proofType abi.RegisteredSealProof, pieces []abi.PieceInfo) (cid.Cid, error) {
var sum abi.PaddedPieceSize var sum abi.PaddedPieceSize
for _, p := range pieces { for _, p := range pieces {
sum += p.Size sum += p.Size

View File

@ -32,7 +32,7 @@ func init() {
logging.SetLogLevel("*", "DEBUG") //nolint: errcheck logging.SetLogLevel("*", "DEBUG") //nolint: errcheck
} }
var sealProofType = abi.RegisteredProof_StackedDRG2KiBSeal var sealProofType = abi.RegisteredSealProof_StackedDrg2KiBV1
var sectorSize, _ = sealProofType.SectorSize() var sectorSize, _ = sealProofType.SectorSize()
var sealRand = abi.SealRandomness{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2} var sealRand = abi.SealRandomness{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2}
@ -91,7 +91,7 @@ func (s *seal) commit(t *testing.T, sb *Sealer, done func()) {
ok, err := ProofVerifier.VerifySeal(abi.SealVerifyInfo{ ok, err := ProofVerifier.VerifySeal(abi.SealVerifyInfo{
SectorID: s.id, SectorID: s.id,
SealedCID: s.cids.Sealed, SealedCID: s.cids.Sealed,
RegisteredProof: sealProofType, SealProof: sealProofType,
Proof: proof, Proof: proof,
Randomness: s.ticket, Randomness: s.ticket,
InteractiveRandomness: seed, InteractiveRandomness: seed,
@ -439,7 +439,7 @@ func BenchmarkWriteWithAlignment(b *testing.B) {
tf, _ := ioutil.TempFile("/tmp/", "scrb-") tf, _ := ioutil.TempFile("/tmp/", "scrb-")
b.StartTimer() b.StartTimer()
ffi.WriteWithAlignment(abi.RegisteredProof_StackedDRG2KiBSeal, rf, bt, tf, nil) ffi.WriteWithAlignment(abi.RegisteredSealProof_StackedDrg2KiBV1, rf, bt, tf, nil)
w() w()
} }
} }

View File

@ -37,7 +37,7 @@ type Verifier interface {
VerifyWinningPoSt(ctx context.Context, info abi.WinningPoStVerifyInfo) (bool, error) VerifyWinningPoSt(ctx context.Context, info abi.WinningPoStVerifyInfo) (bool, error)
VerifyWindowPoSt(ctx context.Context, info abi.WindowPoStVerifyInfo) (bool, error) VerifyWindowPoSt(ctx context.Context, info abi.WindowPoStVerifyInfo) (bool, error)
GenerateWinningPoStSectorChallenge(context.Context, abi.RegisteredProof, abi.ActorID, abi.PoStRandomness, uint64) ([]uint64, error) GenerateWinningPoStSectorChallenge(context.Context, abi.RegisteredPoStProof, abi.ActorID, abi.PoStRandomness, uint64) ([]uint64, error)
} }
type SectorProvider interface { type SectorProvider interface {

View File

@ -16,7 +16,7 @@ import (
func (sb *Sealer) GenerateWinningPoSt(ctx context.Context, minerID abi.ActorID, sectorInfo []abi.SectorInfo, randomness abi.PoStRandomness) ([]abi.PoStProof, error) { func (sb *Sealer) GenerateWinningPoSt(ctx context.Context, minerID abi.ActorID, sectorInfo []abi.SectorInfo, randomness abi.PoStRandomness) ([]abi.PoStProof, error) {
randomness[31] = 0 // TODO: Not correct, fixme randomness[31] = 0 // TODO: Not correct, fixme
privsectors, skipped, done, err := sb.pubSectorToPriv(ctx, minerID, sectorInfo, nil, abi.RegisteredProof.RegisteredWinningPoStProof) // TODO: FAULTS? privsectors, skipped, done, err := sb.pubSectorToPriv(ctx, minerID, sectorInfo, nil, abi.RegisteredSealProof.RegisteredWinningPoStProof) // TODO: FAULTS?
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -30,7 +30,7 @@ func (sb *Sealer) GenerateWinningPoSt(ctx context.Context, minerID abi.ActorID,
func (sb *Sealer) GenerateWindowPoSt(ctx context.Context, minerID abi.ActorID, sectorInfo []abi.SectorInfo, randomness abi.PoStRandomness) ([]abi.PoStProof, []abi.SectorID, error) { func (sb *Sealer) GenerateWindowPoSt(ctx context.Context, minerID abi.ActorID, sectorInfo []abi.SectorInfo, randomness abi.PoStRandomness) ([]abi.PoStProof, []abi.SectorID, error) {
randomness[31] = 0 // TODO: Not correct, fixme randomness[31] = 0 // TODO: Not correct, fixme
privsectors, skipped, done, err := sb.pubSectorToPriv(ctx, minerID, sectorInfo, nil, abi.RegisteredProof.RegisteredWindowPoStProof) privsectors, skipped, done, err := sb.pubSectorToPriv(ctx, minerID, sectorInfo, nil, abi.RegisteredSealProof.RegisteredWindowPoStProof)
if err != nil { if err != nil {
return nil, nil, xerrors.Errorf("gathering sector info: %w", err) return nil, nil, xerrors.Errorf("gathering sector info: %w", err)
} }
@ -40,7 +40,7 @@ func (sb *Sealer) GenerateWindowPoSt(ctx context.Context, minerID abi.ActorID, s
return proof, skipped, err return proof, skipped, err
} }
func (sb *Sealer) pubSectorToPriv(ctx context.Context, mid abi.ActorID, sectorInfo []abi.SectorInfo, faults []abi.SectorNumber, rpt func(abi.RegisteredProof) (abi.RegisteredProof, error)) (ffi.SortedPrivateSectorInfo, []abi.SectorID, func(), error) { func (sb *Sealer) pubSectorToPriv(ctx context.Context, mid abi.ActorID, sectorInfo []abi.SectorInfo, faults []abi.SectorNumber, rpt func(abi.RegisteredSealProof) (abi.RegisteredPoStProof, error)) (ffi.SortedPrivateSectorInfo, []abi.SectorID, func(), error) {
fmap := map[abi.SectorNumber]struct{}{} fmap := map[abi.SectorNumber]struct{}{}
for _, fault := range faults { for _, fault := range faults {
fmap[fault] = struct{}{} fmap[fault] = struct{}{}
@ -70,7 +70,7 @@ func (sb *Sealer) pubSectorToPriv(ctx context.Context, mid abi.ActorID, sectorIn
} }
doneFuncs = append(doneFuncs, d) doneFuncs = append(doneFuncs, d)
postProofType, err := rpt(s.RegisteredProof) postProofType, err := rpt(s.SealProof)
if err != nil { if err != nil {
done() done()
return ffi.SortedPrivateSectorInfo{}, nil, nil, xerrors.Errorf("acquiring registered PoSt proof from sector info %+v: %w", s, err) return ffi.SortedPrivateSectorInfo{}, nil, nil, xerrors.Errorf("acquiring registered PoSt proof from sector info %+v: %w", s, err)
@ -113,7 +113,7 @@ func (proofVerifier) VerifyWindowPoSt(ctx context.Context, info abi.WindowPoStVe
return ffi.VerifyWindowPoSt(info) return ffi.VerifyWindowPoSt(info)
} }
func (proofVerifier) GenerateWinningPoStSectorChallenge(ctx context.Context, proofType abi.RegisteredProof, minerID abi.ActorID, randomness abi.PoStRandomness, eligibleSectorCount uint64) ([]uint64, error) { func (proofVerifier) GenerateWinningPoStSectorChallenge(ctx context.Context, proofType abi.RegisteredPoStProof, minerID abi.ActorID, randomness abi.PoStRandomness, eligibleSectorCount uint64) ([]uint64, error) {
randomness[31] = 0 // TODO: Not correct, fixme randomness[31] = 0 // TODO: Not correct, fixme
return ffi.GenerateWinningPoStSectorChallenge(proofType, minerID, randomness, eligibleSectorCount) return ffi.GenerateWinningPoStSectorChallenge(proofType, minerID, randomness, eligibleSectorCount)
} }

View File

@ -30,7 +30,7 @@ func TestWriteTwoPcs(t *testing.T) {
rf, w, _ := ffiwrapper.ToReadableFile(bytes.NewReader(buf), int64(len(buf))) rf, w, _ := ffiwrapper.ToReadableFile(bytes.NewReader(buf), int64(len(buf)))
_, _, _, err := ffi.WriteWithAlignment(abi.RegisteredProof_StackedDRG32GiBSeal, rf, abi.UnpaddedPieceSize(len(buf)), tf, nil) _, _, _, err := ffi.WriteWithAlignment(abi.RegisteredSealProof_StackedDrg32GiBV1, rf, abi.UnpaddedPieceSize(len(buf)), tf, nil)
if err != nil { if err != nil {
panic(err) panic(err)
} }

View File

@ -20,7 +20,7 @@ func padFFI(buf []byte) []byte {
rf, w, _ := ffiwrapper.ToReadableFile(bytes.NewReader(buf), int64(len(buf))) rf, w, _ := ffiwrapper.ToReadableFile(bytes.NewReader(buf), int64(len(buf)))
tf, _ := ioutil.TempFile("/tmp/", "scrb-") tf, _ := ioutil.TempFile("/tmp/", "scrb-")
_, _, _, err := ffi.WriteWithAlignment(abi.RegisteredProof_StackedDRG32GiBSeal, rf, abi.UnpaddedPieceSize(len(buf)), tf, nil) _, _, _, err := ffi.WriteWithAlignment(abi.RegisteredSealProof_StackedDrg32GiBV1, rf, abi.UnpaddedPieceSize(len(buf)), tf, nil)
if err != nil { if err != nil {
panic(err) panic(err)
} }

2
go.mod
View File

@ -9,7 +9,7 @@ require (
github.com/filecoin-project/go-bitfield v0.0.2-0.20200518150651-562fdb554b6e github.com/filecoin-project/go-bitfield v0.0.2-0.20200518150651-562fdb554b6e
github.com/filecoin-project/go-fil-commcid v0.0.0-20200208005934-2b8bd03caca5 github.com/filecoin-project/go-fil-commcid v0.0.0-20200208005934-2b8bd03caca5
github.com/filecoin-project/go-paramfetch v0.0.1 github.com/filecoin-project/go-paramfetch v0.0.1
github.com/filecoin-project/specs-actors v0.5.4-0.20200521014528-0df536f7e461 github.com/filecoin-project/specs-actors v0.6.0
github.com/filecoin-project/specs-storage v0.1.0 github.com/filecoin-project/specs-storage v0.1.0
github.com/google/uuid v1.1.1 github.com/google/uuid v1.1.1
github.com/gorilla/mux v1.7.4 github.com/gorilla/mux v1.7.4

2
go.sum
View File

@ -45,6 +45,8 @@ github.com/filecoin-project/go-paramfetch v0.0.1/go.mod h1:fZzmf4tftbwf9S37XRifo
github.com/filecoin-project/specs-actors v0.3.0/go.mod h1:nQYnFbQ7Y0bHZyq6HDEuVlCPR+U3z5Q3wMOQ+2aiV+Y= github.com/filecoin-project/specs-actors v0.3.0/go.mod h1:nQYnFbQ7Y0bHZyq6HDEuVlCPR+U3z5Q3wMOQ+2aiV+Y=
github.com/filecoin-project/specs-actors v0.5.4-0.20200521014528-0df536f7e461 h1:yyAoJ9dNboljDWj0uBdJEbdaTak/YhkjYUQt0GzlY0A= github.com/filecoin-project/specs-actors v0.5.4-0.20200521014528-0df536f7e461 h1:yyAoJ9dNboljDWj0uBdJEbdaTak/YhkjYUQt0GzlY0A=
github.com/filecoin-project/specs-actors v0.5.4-0.20200521014528-0df536f7e461/go.mod h1:r5btrNzZD0oBkEz1pohv80gSCXQnqGrD0kYwOTiExyE= github.com/filecoin-project/specs-actors v0.5.4-0.20200521014528-0df536f7e461/go.mod h1:r5btrNzZD0oBkEz1pohv80gSCXQnqGrD0kYwOTiExyE=
github.com/filecoin-project/specs-actors v0.6.0 h1:IepUsmDGY60QliENVTkBTAkwqGWw9kNbbHOcU/9oiC0=
github.com/filecoin-project/specs-actors v0.6.0/go.mod h1:dRdy3cURykh2R8O/DKqy8olScl70rmIS7GrB4hB1IDY=
github.com/filecoin-project/specs-storage v0.1.0 h1:PkDgTOT5W5Ao7752onjDl4QSv+sgOVdJbvFjOnD5w94= github.com/filecoin-project/specs-storage v0.1.0 h1:PkDgTOT5W5Ao7752onjDl4QSv+sgOVdJbvFjOnD5w94=
github.com/filecoin-project/specs-storage v0.1.0/go.mod h1:Pr5ntAaxsh+sLG/LYiL4tKzvA83Vk5vLODYhfNwOg7k= github.com/filecoin-project/specs-storage v0.1.0/go.mod h1:Pr5ntAaxsh+sLG/LYiL4tKzvA83Vk5vLODYhfNwOg7k=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=

View File

@ -23,7 +23,7 @@ import (
var pathTypes = []stores.SectorFileType{stores.FTUnsealed, stores.FTSealed, stores.FTCache} var pathTypes = []stores.SectorFileType{stores.FTUnsealed, stores.FTSealed, stores.FTCache}
type WorkerConfig struct { type WorkerConfig struct {
SealProof abi.RegisteredProof SealProof abi.RegisteredSealProof
TaskTypes []sealtasks.TaskType TaskTypes []sealtasks.TaskType
} }

View File

@ -77,7 +77,7 @@ func newTestMgr(ctx context.Context, t *testing.T) (*Manager, *stores.Local, *st
si := stores.NewIndex() si := stores.NewIndex()
cfg := &ffiwrapper.Config{ cfg := &ffiwrapper.Config{
SealProofType: abi.RegisteredProof_StackedDRG2KiBSeal, SealProofType: abi.RegisteredSealProof_StackedDrg2KiBV1,
} }
lstor, err := stores.NewLocal(ctx, st, si, nil) lstor, err := stores.NewLocal(ctx, st, si, nil)
@ -118,7 +118,7 @@ func TestSimple(t *testing.T) {
} }
err := m.AddWorker(ctx, newTestWorker(WorkerConfig{ err := m.AddWorker(ctx, newTestWorker(WorkerConfig{
SealProof: abi.RegisteredProof_StackedDRG2KiBSeal, SealProof: abi.RegisteredSealProof_StackedDrg2KiBV1,
TaskTypes: localTasks, TaskTypes: localTasks,
}, lstor)) }, lstor))
require.NoError(t, err) require.NoError(t, err)

View File

@ -27,7 +27,7 @@ type SectorMgr struct {
pieces map[cid.Cid][]byte pieces map[cid.Cid][]byte
sectorSize abi.SectorSize sectorSize abi.SectorSize
nextSectorID abi.SectorNumber nextSectorID abi.SectorNumber
proofType abi.RegisteredProof proofType abi.RegisteredSealProof
lk sync.Mutex lk sync.Mutex
} }
@ -258,21 +258,26 @@ func AddOpFinish(ctx context.Context) (context.Context, func()) {
} }
func (mgr *SectorMgr) GenerateWinningPoSt(ctx context.Context, minerID abi.ActorID, sectorInfo []abi.SectorInfo, randomness abi.PoStRandomness) ([]abi.PoStProof, error) { func (mgr *SectorMgr) GenerateWinningPoSt(ctx context.Context, minerID abi.ActorID, sectorInfo []abi.SectorInfo, randomness abi.PoStRandomness) ([]abi.PoStProof, error) {
return generateFakePoSt(sectorInfo), nil return generateFakePoSt(sectorInfo, abi.RegisteredSealProof.RegisteredWinningPoStProof), nil
} }
func (mgr *SectorMgr) GenerateWindowPoSt(ctx context.Context, minerID abi.ActorID, sectorInfo []abi.SectorInfo, randomness abi.PoStRandomness) ([]abi.PoStProof, []abi.SectorID, error) { func (mgr *SectorMgr) GenerateWindowPoSt(ctx context.Context, minerID abi.ActorID, sectorInfo []abi.SectorInfo, randomness abi.PoStRandomness) ([]abi.PoStProof, []abi.SectorID, error) {
return generateFakePoSt(sectorInfo), nil, nil return generateFakePoSt(sectorInfo, abi.RegisteredSealProof.RegisteredWindowPoStProof), nil, nil
} }
func generateFakePoSt(sectorInfo []abi.SectorInfo) []abi.PoStProof { func generateFakePoSt(sectorInfo []abi.SectorInfo, rpt func(abi.RegisteredSealProof) (abi.RegisteredPoStProof, error)) []abi.PoStProof {
se, err := sectorInfo[0].RegisteredProof.WindowPoStPartitionSectors() se, err := sectorInfo[0].SealProof.WindowPoStPartitionSectors()
if err != nil { if err != nil {
panic(err) panic(err)
} }
wp, err := rpt(sectorInfo[0].SealProof)
if err != nil {
panic(err)
}
return []abi.PoStProof{ return []abi.PoStProof{
{ {
RegisteredProof: sectorInfo[0].RegisteredProof, PoStProof: wp,
ProofBytes: make([]byte, 192*int(math.Ceil(float64(len(sectorInfo))/float64(se)))), ProofBytes: make([]byte, 192*int(math.Ceil(float64(len(sectorInfo))/float64(se)))),
}, },
} }
@ -340,11 +345,11 @@ func (m mockVerif) VerifyWindowPoSt(ctx context.Context, info abi.WindowPoStVeri
return true, nil return true, nil
} }
func (m mockVerif) GenerateDataCommitment(pt abi.RegisteredProof, pieces []abi.PieceInfo) (cid.Cid, error) { func (m mockVerif) GenerateDataCommitment(pt abi.RegisteredSealProof, pieces []abi.PieceInfo) (cid.Cid, error) {
return ffiwrapper.GenerateUnsealedCID(pt, pieces) return ffiwrapper.GenerateUnsealedCID(pt, pieces)
} }
func (m mockVerif) GenerateWinningPoStSectorChallenge(ctx context.Context, proofType abi.RegisteredProof, minerID abi.ActorID, randomness abi.PoStRandomness, eligibleSectorCount uint64) ([]uint64, error) { func (m mockVerif) GenerateWinningPoStSectorChallenge(ctx context.Context, proofType abi.RegisteredPoStProof, minerID abi.ActorID, randomness abi.PoStRandomness, eligibleSectorCount uint64) ([]uint64, error) {
return []uint64{0}, nil return []uint64{0}, nil
} }

View File

@ -22,9 +22,9 @@ func (r Resources) MultiThread() bool {
const MaxCachingOverhead = 32 << 30 const MaxCachingOverhead = 32 << 30
var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredSealProof]Resources{
sealtasks.TTAddPiece: { sealtasks.TTAddPiece: {
abi.RegisteredProof_StackedDRG64GiBSeal: Resources{ // This is probably a bit conservative abi.RegisteredSealProof_StackedDrg64GiBV1: Resources{ // This is probably a bit conservative
MaxMemory: 64 << 30, MaxMemory: 64 << 30,
MinMemory: 64 << 30, MinMemory: 64 << 30,
@ -32,7 +32,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 1 << 30, BaseMinMemory: 1 << 30,
}, },
abi.RegisteredProof_StackedDRG32GiBSeal: Resources{ // This is probably a bit conservative abi.RegisteredSealProof_StackedDrg32GiBV1: Resources{ // This is probably a bit conservative
MaxMemory: 32 << 30, MaxMemory: 32 << 30,
MinMemory: 32 << 30, MinMemory: 32 << 30,
@ -40,7 +40,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 1 << 30, BaseMinMemory: 1 << 30,
}, },
abi.RegisteredProof_StackedDRG512MiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg512MiBV1: Resources{
MaxMemory: 1 << 30, MaxMemory: 1 << 30,
MinMemory: 1 << 30, MinMemory: 1 << 30,
@ -48,7 +48,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 1 << 30, BaseMinMemory: 1 << 30,
}, },
abi.RegisteredProof_StackedDRG2KiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg2KiBV1: Resources{
MaxMemory: 2 << 10, MaxMemory: 2 << 10,
MinMemory: 2 << 10, MinMemory: 2 << 10,
@ -56,7 +56,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 2 << 10, BaseMinMemory: 2 << 10,
}, },
abi.RegisteredProof_StackedDRG8MiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg8MiBV1: Resources{
MaxMemory: 8 << 20, MaxMemory: 8 << 20,
MinMemory: 8 << 20, MinMemory: 8 << 20,
@ -66,7 +66,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
}, },
}, },
sealtasks.TTPreCommit1: { sealtasks.TTPreCommit1: {
abi.RegisteredProof_StackedDRG64GiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg64GiBV1: Resources{
MaxMemory: 128 << 30, MaxMemory: 128 << 30,
MinMemory: 96 << 30, MinMemory: 96 << 30,
@ -74,7 +74,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 60 << 30, BaseMinMemory: 60 << 30,
}, },
abi.RegisteredProof_StackedDRG32GiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg32GiBV1: Resources{
MaxMemory: 64 << 30, MaxMemory: 64 << 30,
MinMemory: 48 << 30, MinMemory: 48 << 30,
@ -82,7 +82,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 30 << 30, BaseMinMemory: 30 << 30,
}, },
abi.RegisteredProof_StackedDRG512MiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg512MiBV1: Resources{
MaxMemory: 3 << 29, // 1.5G MaxMemory: 3 << 29, // 1.5G
MinMemory: 1 << 30, MinMemory: 1 << 30,
@ -90,7 +90,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 1 << 30, BaseMinMemory: 1 << 30,
}, },
abi.RegisteredProof_StackedDRG2KiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg2KiBV1: Resources{
MaxMemory: 2 << 10, MaxMemory: 2 << 10,
MinMemory: 2 << 10, MinMemory: 2 << 10,
@ -98,7 +98,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 2 << 10, BaseMinMemory: 2 << 10,
}, },
abi.RegisteredProof_StackedDRG8MiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg8MiBV1: Resources{
MaxMemory: 8 << 20, MaxMemory: 8 << 20,
MinMemory: 8 << 20, MinMemory: 8 << 20,
@ -108,7 +108,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
}, },
}, },
sealtasks.TTPreCommit2: { sealtasks.TTPreCommit2: {
abi.RegisteredProof_StackedDRG64GiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg64GiBV1: Resources{
MaxMemory: 64 << 30, MaxMemory: 64 << 30,
MinMemory: 64 << 30, MinMemory: 64 << 30,
@ -117,7 +117,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 60 << 30, BaseMinMemory: 60 << 30,
}, },
abi.RegisteredProof_StackedDRG32GiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg32GiBV1: Resources{
MaxMemory: 32 << 30, MaxMemory: 32 << 30,
MinMemory: 32 << 30, MinMemory: 32 << 30,
@ -126,7 +126,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 30 << 30, BaseMinMemory: 30 << 30,
}, },
abi.RegisteredProof_StackedDRG512MiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg512MiBV1: Resources{
MaxMemory: 3 << 29, // 1.5G MaxMemory: 3 << 29, // 1.5G
MinMemory: 1 << 30, MinMemory: 1 << 30,
@ -134,7 +134,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 1 << 30, BaseMinMemory: 1 << 30,
}, },
abi.RegisteredProof_StackedDRG2KiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg2KiBV1: Resources{
MaxMemory: 2 << 10, MaxMemory: 2 << 10,
MinMemory: 2 << 10, MinMemory: 2 << 10,
@ -142,7 +142,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 2 << 10, BaseMinMemory: 2 << 10,
}, },
abi.RegisteredProof_StackedDRG8MiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg8MiBV1: Resources{
MaxMemory: 8 << 20, MaxMemory: 8 << 20,
MinMemory: 8 << 20, MinMemory: 8 << 20,
@ -152,7 +152,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
}, },
}, },
sealtasks.TTCommit1: { // Very short (~100ms), so params are very light sealtasks.TTCommit1: { // Very short (~100ms), so params are very light
abi.RegisteredProof_StackedDRG64GiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg64GiBV1: Resources{
MaxMemory: 1 << 30, MaxMemory: 1 << 30,
MinMemory: 1 << 30, MinMemory: 1 << 30,
@ -160,7 +160,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 1 << 30, BaseMinMemory: 1 << 30,
}, },
abi.RegisteredProof_StackedDRG32GiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg32GiBV1: Resources{
MaxMemory: 1 << 30, MaxMemory: 1 << 30,
MinMemory: 1 << 30, MinMemory: 1 << 30,
@ -168,7 +168,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 1 << 30, BaseMinMemory: 1 << 30,
}, },
abi.RegisteredProof_StackedDRG512MiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg512MiBV1: Resources{
MaxMemory: 1 << 30, MaxMemory: 1 << 30,
MinMemory: 1 << 30, MinMemory: 1 << 30,
@ -176,7 +176,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 1 << 30, BaseMinMemory: 1 << 30,
}, },
abi.RegisteredProof_StackedDRG2KiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg2KiBV1: Resources{
MaxMemory: 2 << 10, MaxMemory: 2 << 10,
MinMemory: 2 << 10, MinMemory: 2 << 10,
@ -184,7 +184,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 2 << 10, BaseMinMemory: 2 << 10,
}, },
abi.RegisteredProof_StackedDRG8MiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg8MiBV1: Resources{
MaxMemory: 8 << 20, MaxMemory: 8 << 20,
MinMemory: 8 << 20, MinMemory: 8 << 20,
@ -194,7 +194,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
}, },
}, },
sealtasks.TTCommit2: { sealtasks.TTCommit2: {
abi.RegisteredProof_StackedDRG64GiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg64GiBV1: Resources{
MaxMemory: 260 << 30, // TODO: Confirm MaxMemory: 260 << 30, // TODO: Confirm
MinMemory: 60 << 30, MinMemory: 60 << 30,
@ -203,7 +203,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 64 << 30, // params BaseMinMemory: 64 << 30, // params
}, },
abi.RegisteredProof_StackedDRG32GiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg32GiBV1: Resources{
MaxMemory: 150 << 30, // TODO: ~30G of this should really be BaseMaxMemory MaxMemory: 150 << 30, // TODO: ~30G of this should really be BaseMaxMemory
MinMemory: 30 << 30, MinMemory: 30 << 30,
@ -212,7 +212,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 32 << 30, // params BaseMinMemory: 32 << 30, // params
}, },
abi.RegisteredProof_StackedDRG512MiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg512MiBV1: Resources{
MaxMemory: 3 << 29, // 1.5G MaxMemory: 3 << 29, // 1.5G
MinMemory: 1 << 30, MinMemory: 1 << 30,
@ -221,7 +221,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 10 << 30, BaseMinMemory: 10 << 30,
}, },
abi.RegisteredProof_StackedDRG2KiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg2KiBV1: Resources{
MaxMemory: 2 << 10, MaxMemory: 2 << 10,
MinMemory: 2 << 10, MinMemory: 2 << 10,
@ -230,7 +230,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 2 << 10, BaseMinMemory: 2 << 10,
}, },
abi.RegisteredProof_StackedDRG8MiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg8MiBV1: Resources{
MaxMemory: 8 << 20, MaxMemory: 8 << 20,
MinMemory: 8 << 20, MinMemory: 8 << 20,
@ -241,7 +241,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
}, },
}, },
sealtasks.TTFetch: { sealtasks.TTFetch: {
abi.RegisteredProof_StackedDRG64GiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg64GiBV1: Resources{
MaxMemory: 1 << 20, MaxMemory: 1 << 20,
MinMemory: 1 << 20, MinMemory: 1 << 20,
@ -250,7 +250,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 0, BaseMinMemory: 0,
}, },
abi.RegisteredProof_StackedDRG32GiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg32GiBV1: Resources{
MaxMemory: 1 << 20, MaxMemory: 1 << 20,
MinMemory: 1 << 20, MinMemory: 1 << 20,
@ -259,7 +259,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 0, BaseMinMemory: 0,
}, },
abi.RegisteredProof_StackedDRG512MiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg512MiBV1: Resources{
MaxMemory: 1 << 20, MaxMemory: 1 << 20,
MinMemory: 1 << 20, MinMemory: 1 << 20,
@ -268,7 +268,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 0, BaseMinMemory: 0,
}, },
abi.RegisteredProof_StackedDRG2KiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg2KiBV1: Resources{
MaxMemory: 1 << 20, MaxMemory: 1 << 20,
MinMemory: 1 << 20, MinMemory: 1 << 20,
@ -277,7 +277,7 @@ var ResourceTable = map[sealtasks.TaskType]map[abi.RegisteredProof]Resources{
BaseMinMemory: 0, BaseMinMemory: 0,
}, },
abi.RegisteredProof_StackedDRG8MiBSeal: Resources{ abi.RegisteredSealProof_StackedDrg8MiBV1: Resources{
MaxMemory: 1 << 20, MaxMemory: 1 << 20,
MinMemory: 1 << 20, MinMemory: 1 << 20,

View File

@ -13,7 +13,7 @@ import (
type readonlyProvider struct { type readonlyProvider struct {
index stores.SectorIndex index stores.SectorIndex
stor *stores.Local stor *stores.Local
spt abi.RegisteredProof spt abi.RegisteredSealProof
} }
func (l *readonlyProvider) AcquireSector(ctx context.Context, id abi.SectorID, existing stores.SectorFileType, allocate stores.SectorFileType, sealing stores.PathType) (stores.SectorPaths, func(), error) { func (l *readonlyProvider) AcquireSector(ctx context.Context, id abi.SectorID, existing stores.SectorFileType, allocate stores.SectorFileType, sealing stores.PathType) (stores.SectorPaths, func(), error) {

View File

@ -20,13 +20,13 @@ const mib = 1 << 20
type WorkerAction func(ctx context.Context, w Worker) error type WorkerAction func(ctx context.Context, w Worker) error
type WorkerSelector interface { type WorkerSelector interface {
Ok(ctx context.Context, task sealtasks.TaskType, spt abi.RegisteredProof, a *workerHandle) (bool, error) // true if worker is acceptable for performing a task Ok(ctx context.Context, task sealtasks.TaskType, spt abi.RegisteredSealProof, a *workerHandle) (bool, error) // true if worker is acceptable for performing a task
Cmp(ctx context.Context, task sealtasks.TaskType, a, b *workerHandle) (bool, error) // true if a is preferred over b Cmp(ctx context.Context, task sealtasks.TaskType, a, b *workerHandle) (bool, error) // true if a is preferred over b
} }
type scheduler struct { type scheduler struct {
spt abi.RegisteredProof spt abi.RegisteredSealProof
workersLk sync.Mutex workersLk sync.Mutex
nextWorker WorkerID nextWorker WorkerID
@ -44,7 +44,7 @@ type scheduler struct {
schedQueue *requestQueue schedQueue *requestQueue
} }
func newScheduler(spt abi.RegisteredProof) *scheduler { func newScheduler(spt abi.RegisteredSealProof) *scheduler {
return &scheduler{ return &scheduler{
spt: spt, spt: spt,
@ -321,7 +321,7 @@ func (sh *scheduler) assignWorker(wid WorkerID, w *workerHandle, req *workerRequ
return nil return nil
} }
func (a *activeResources) withResources(spt abi.RegisteredProof, id WorkerID, wr storiface.WorkerResources, r Resources, locker sync.Locker, cb func() error) error { func (a *activeResources) withResources(spt abi.RegisteredSealProof, id WorkerID, wr storiface.WorkerResources, r Resources, locker sync.Locker, cb func() error) error {
for !canHandleRequest(r, spt, id, wr, a) { for !canHandleRequest(r, spt, id, wr, a) {
if a.cond == nil { if a.cond == nil {
a.cond = sync.NewCond(locker) a.cond = sync.NewCond(locker)
@ -367,7 +367,7 @@ func (a *activeResources) free(wr storiface.WorkerResources, r Resources) {
a.memUsedMax -= r.MaxMemory a.memUsedMax -= r.MaxMemory
} }
func canHandleRequest(needRes Resources, spt abi.RegisteredProof, wid WorkerID, res storiface.WorkerResources, active *activeResources) bool { func canHandleRequest(needRes Resources, spt abi.RegisteredSealProof, wid WorkerID, res storiface.WorkerResources, active *activeResources) bool {
// TODO: dedupe needRes.BaseMinMemory per task type (don't add if that task is already running) // TODO: dedupe needRes.BaseMinMemory per task type (don't add if that task is already running)
minNeedMem := res.MemReserved + active.memUsedMin + needRes.MinMemory + needRes.BaseMinMemory minNeedMem := res.MemReserved + active.memUsedMin + needRes.MinMemory + needRes.BaseMinMemory
@ -377,10 +377,10 @@ func canHandleRequest(needRes Resources, spt abi.RegisteredProof, wid WorkerID,
} }
maxNeedMem := res.MemReserved + active.memUsedMax + needRes.MaxMemory + needRes.BaseMinMemory maxNeedMem := res.MemReserved + active.memUsedMax + needRes.MaxMemory + needRes.BaseMinMemory
if spt == abi.RegisteredProof_StackedDRG32GiBSeal { if spt == abi.RegisteredSealProof_StackedDrg32GiBV1 {
maxNeedMem += MaxCachingOverhead maxNeedMem += MaxCachingOverhead
} }
if spt == abi.RegisteredProof_StackedDRG64GiBSeal { if spt == abi.RegisteredSealProof_StackedDrg64GiBV1 {
maxNeedMem += MaxCachingOverhead * 2 // ewwrhmwh maxNeedMem += MaxCachingOverhead * 2 // ewwrhmwh
} }
if maxNeedMem > res.MemSwap+res.MemPhysical { if maxNeedMem > res.MemSwap+res.MemPhysical {

View File

@ -25,7 +25,7 @@ func newAllocSelector(ctx context.Context, index stores.SectorIndex, alloc store
}, nil }, nil
} }
func (s *allocSelector) Ok(ctx context.Context, task sealtasks.TaskType, spt abi.RegisteredProof, whnd *workerHandle) (bool, error) { func (s *allocSelector) Ok(ctx context.Context, task sealtasks.TaskType, spt abi.RegisteredSealProof, whnd *workerHandle) (bool, error) {
tasks, err := whnd.w.TaskTypes(ctx) tasks, err := whnd.w.TaskTypes(ctx)
if err != nil { if err != nil {
return false, xerrors.Errorf("getting supported worker task types: %w", err) return false, xerrors.Errorf("getting supported worker task types: %w", err)

View File

@ -26,7 +26,7 @@ func newExistingSelector(ctx context.Context, index stores.SectorIndex, sector a
}, nil }, nil
} }
func (s *existingSelector) Ok(ctx context.Context, task sealtasks.TaskType, spt abi.RegisteredProof, whnd *workerHandle) (bool, error) { func (s *existingSelector) Ok(ctx context.Context, task sealtasks.TaskType, spt abi.RegisteredSealProof, whnd *workerHandle) (bool, error) {
tasks, err := whnd.w.TaskTypes(ctx) tasks, err := whnd.w.TaskTypes(ctx)
if err != nil { if err != nil {
return false, xerrors.Errorf("getting supported worker task types: %w", err) return false, xerrors.Errorf("getting supported worker task types: %w", err)

View File

@ -19,7 +19,7 @@ func newTaskSelector() *taskSelector {
return &taskSelector{} return &taskSelector{}
} }
func (s *taskSelector) Ok(ctx context.Context, task sealtasks.TaskType, spt abi.RegisteredProof, whnd *workerHandle) (bool, error) { func (s *taskSelector) Ok(ctx context.Context, task sealtasks.TaskType, spt abi.RegisteredSealProof, whnd *workerHandle) (bool, error) {
tasks, err := whnd.w.TaskTypes(ctx) tasks, err := whnd.w.TaskTypes(ctx)
if err != nil { if err != nil {
return false, xerrors.Errorf("getting supported worker task types: %w", err) return false, xerrors.Errorf("getting supported worker task types: %w", err)

View File

@ -50,7 +50,7 @@ func (t SectorFileType) Has(singleType SectorFileType) bool {
return t&singleType == singleType return t&singleType == singleType
} }
func (t SectorFileType) SealSpaceUse(spt abi.RegisteredProof) (uint64, error) { func (t SectorFileType) SealSpaceUse(spt abi.RegisteredSealProof) (uint64, error) {
ssize, err := spt.SectorSize() ssize, err := spt.SectorSize()
if err != nil { if err != nil {
return 0, xerrors.Errorf("getting sector size: %w", err) return 0, xerrors.Errorf("getting sector size: %w", err)

View File

@ -58,7 +58,7 @@ type SectorIndex interface { // part of storage-miner api
StorageDropSector(ctx context.Context, storageId ID, s abi.SectorID, ft SectorFileType) error StorageDropSector(ctx context.Context, storageId ID, s abi.SectorID, ft SectorFileType) error
StorageFindSector(ctx context.Context, sector abi.SectorID, ft SectorFileType, allowFetch bool) ([]SectorStorageInfo, error) StorageFindSector(ctx context.Context, sector abi.SectorID, ft SectorFileType, allowFetch bool) ([]SectorStorageInfo, error)
StorageBestAlloc(ctx context.Context, allocate SectorFileType, spt abi.RegisteredProof, pathType PathType) ([]StorageInfo, error) StorageBestAlloc(ctx context.Context, allocate SectorFileType, spt abi.RegisteredSealProof, pathType PathType) ([]StorageInfo, error)
// atomically acquire locks on all sector file types. close ctx to unlock // atomically acquire locks on all sector file types. close ctx to unlock
StorageLock(ctx context.Context, sector abi.SectorID, read SectorFileType, write SectorFileType) error StorageLock(ctx context.Context, sector abi.SectorID, read SectorFileType, write SectorFileType) error
@ -342,7 +342,7 @@ func (i *Index) StorageInfo(ctx context.Context, id ID) (StorageInfo, error) {
return *si.info, nil return *si.info, nil
} }
func (i *Index) StorageBestAlloc(ctx context.Context, allocate SectorFileType, spt abi.RegisteredProof, pathType PathType) ([]StorageInfo, error) { func (i *Index) StorageBestAlloc(ctx context.Context, allocate SectorFileType, spt abi.RegisteredSealProof, pathType PathType) ([]StorageInfo, error) {
i.lk.RLock() i.lk.RLock()
defer i.lk.RUnlock() defer i.lk.RUnlock()

View File

@ -24,7 +24,7 @@ const (
) )
type Store interface { type Store interface {
AcquireSector(ctx context.Context, s abi.SectorID, spt abi.RegisteredProof, existing SectorFileType, allocate SectorFileType, sealing PathType, op AcquireMode) (paths SectorPaths, stores SectorPaths, err error) AcquireSector(ctx context.Context, s abi.SectorID, spt abi.RegisteredSealProof, existing SectorFileType, allocate SectorFileType, sealing PathType, op AcquireMode) (paths SectorPaths, stores SectorPaths, err error)
Remove(ctx context.Context, s abi.SectorID, types SectorFileType, force bool) error Remove(ctx context.Context, s abi.SectorID, types SectorFileType, force bool) error
// like remove, but doesn't remove the primary sector copy, nor the last // like remove, but doesn't remove the primary sector copy, nor the last
@ -32,7 +32,7 @@ type Store interface {
RemoveCopies(ctx context.Context, s abi.SectorID, types SectorFileType) error RemoveCopies(ctx context.Context, s abi.SectorID, types SectorFileType) error
// move sectors into storage // move sectors into storage
MoveStorage(ctx context.Context, s abi.SectorID, spt abi.RegisteredProof, types SectorFileType) error MoveStorage(ctx context.Context, s abi.SectorID, spt abi.RegisteredSealProof, types SectorFileType) error
FsStat(ctx context.Context, id ID) (FsStat, error) FsStat(ctx context.Context, id ID) (FsStat, error)
} }

View File

@ -197,7 +197,7 @@ func (st *Local) reportHealth(ctx context.Context) {
} }
} }
func (st *Local) AcquireSector(ctx context.Context, sid abi.SectorID, spt abi.RegisteredProof, existing SectorFileType, allocate SectorFileType, pathType PathType, op AcquireMode) (SectorPaths, SectorPaths, error) { func (st *Local) AcquireSector(ctx context.Context, sid abi.SectorID, spt abi.RegisteredSealProof, existing SectorFileType, allocate SectorFileType, pathType PathType, op AcquireMode) (SectorPaths, SectorPaths, error) {
if existing|allocate != existing^allocate { if existing|allocate != existing^allocate {
return SectorPaths{}, SectorPaths{}, xerrors.New("can't both find and allocate a sector") return SectorPaths{}, SectorPaths{}, xerrors.New("can't both find and allocate a sector")
} }
@ -397,7 +397,7 @@ func (st *Local) removeSector(ctx context.Context, sid abi.SectorID, typ SectorF
return nil return nil
} }
func (st *Local) MoveStorage(ctx context.Context, s abi.SectorID, spt abi.RegisteredProof, types SectorFileType) error { func (st *Local) MoveStorage(ctx context.Context, s abi.SectorID, spt abi.RegisteredSealProof, types SectorFileType) error {
dest, destIds, err := st.AcquireSector(ctx, s, spt, FTNone, types, false, AcquireMove) dest, destIds, err := st.AcquireSector(ctx, s, spt, FTNone, types, false, AcquireMove)
if err != nil { if err != nil {
return xerrors.Errorf("acquire dest storage: %w", err) return xerrors.Errorf("acquire dest storage: %w", err)

View File

@ -50,7 +50,7 @@ func NewRemote(local *Local, index SectorIndex, auth http.Header) *Remote {
} }
} }
func (r *Remote) AcquireSector(ctx context.Context, s abi.SectorID, spt abi.RegisteredProof, existing SectorFileType, allocate SectorFileType, pathType PathType, op AcquireMode) (SectorPaths, SectorPaths, error) { func (r *Remote) AcquireSector(ctx context.Context, s abi.SectorID, spt abi.RegisteredSealProof, existing SectorFileType, allocate SectorFileType, pathType PathType, op AcquireMode) (SectorPaths, SectorPaths, error) {
if existing|allocate != existing^allocate { if existing|allocate != existing^allocate {
return SectorPaths{}, SectorPaths{}, xerrors.New("can't both find and allocate a sector") return SectorPaths{}, SectorPaths{}, xerrors.New("can't both find and allocate a sector")
} }
@ -119,7 +119,7 @@ func (r *Remote) AcquireSector(ctx context.Context, s abi.SectorID, spt abi.Regi
return paths, stores, nil return paths, stores, nil
} }
func (r *Remote) acquireFromRemote(ctx context.Context, s abi.SectorID, spt abi.RegisteredProof, fileType SectorFileType, pathType PathType, op AcquireMode) (string, ID, string, error) { func (r *Remote) acquireFromRemote(ctx context.Context, s abi.SectorID, spt abi.RegisteredSealProof, fileType SectorFileType, pathType PathType, op AcquireMode) (string, ID, string, error) {
si, err := r.index.StorageFindSector(ctx, s, fileType, false) si, err := r.index.StorageFindSector(ctx, s, fileType, false)
if err != nil { if err != nil {
return "", "", "", err return "", "", "", err
@ -210,7 +210,7 @@ func (r *Remote) fetch(ctx context.Context, url, outname string) error {
} }
} }
func (r *Remote) MoveStorage(ctx context.Context, s abi.SectorID, spt abi.RegisteredProof, types SectorFileType) error { func (r *Remote) MoveStorage(ctx context.Context, s abi.SectorID, spt abi.RegisteredSealProof, types SectorFileType) error {
// Make sure we have the data local // Make sure we have the data local
_, _, err := r.AcquireSector(ctx, s, spt, types, FTNone, PathStorage, AcquireMove) _, _, err := r.AcquireSector(ctx, s, spt, types, FTNone, PathStorage, AcquireMove)
if err != nil { if err != nil {

View File

@ -94,7 +94,7 @@ func (t *testWorker) Paths(ctx context.Context) ([]stores.StoragePath, error) {
} }
func (t *testWorker) Info(ctx context.Context) (storiface.WorkerInfo, error) { func (t *testWorker) Info(ctx context.Context) (storiface.WorkerInfo, error) {
res := ResourceTable[sealtasks.TTPreCommit2][abi.RegisteredProof_StackedDRG2KiBSeal] res := ResourceTable[sealtasks.TTPreCommit2][abi.RegisteredSealProof_StackedDrg2KiBV1]
return storiface.WorkerInfo{ return storiface.WorkerInfo{
Hostname: "testworkerer", Hostname: "testworkerer",

View File

@ -20,7 +20,7 @@ func TestComms(t *testing.T) {
var expPieceComms [zerocomm.Levels - zerocomm.Skip]cid.Cid var expPieceComms [zerocomm.Levels - zerocomm.Skip]cid.Cid
{ {
l2, err := ffiwrapper.GeneratePieceCIDFromFile(abi.RegisteredProof_StackedDRG2KiBPoSt, bytes.NewReader(make([]byte, 127)), 127) l2, err := ffiwrapper.GeneratePieceCIDFromFile(abi.RegisteredSealProof_StackedDrg2KiBV1, bytes.NewReader(make([]byte, 127)), 127)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -33,7 +33,7 @@ func TestComms(t *testing.T) {
fmt.Println(i, sz) fmt.Println(i, sz)
r := io.LimitReader(&NullReader{}, int64(sz)) r := io.LimitReader(&NullReader{}, int64(sz))
expPieceComms[i], err = ffiwrapper.GeneratePieceCIDFromFile(abi.RegisteredProof_StackedDRG2KiBPoSt, r, sz) expPieceComms[i], err = ffiwrapper.GeneratePieceCIDFromFile(abi.RegisteredSealProof_StackedDrg2KiBV1, r, sz)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -59,7 +59,7 @@ func TestCommsSmall(t *testing.T) {
lvls := len(expPieceComms) + zerocomm.Skip lvls := len(expPieceComms) + zerocomm.Skip
{ {
l2, err := ffiwrapper.GeneratePieceCIDFromFile(abi.RegisteredProof_StackedDRG2KiBPoSt, bytes.NewReader(make([]byte, 127)), 127) l2, err := ffiwrapper.GeneratePieceCIDFromFile(abi.RegisteredSealProof_StackedDrg2KiBV1, bytes.NewReader(make([]byte, 127)), 127)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -72,7 +72,7 @@ func TestCommsSmall(t *testing.T) {
fmt.Println(i, sz) fmt.Println(i, sz)
r := io.LimitReader(&NullReader{}, int64(sz)) r := io.LimitReader(&NullReader{}, int64(sz))
expPieceComms[i], err = ffiwrapper.GeneratePieceCIDFromFile(abi.RegisteredProof_StackedDRG2KiBPoSt, r, sz) expPieceComms[i], err = ffiwrapper.GeneratePieceCIDFromFile(abi.RegisteredSealProof_StackedDrg2KiBV1, r, sz)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -94,7 +94,7 @@ func TestCommsSmall(t *testing.T) {
} }
func TestForSise(t *testing.T) { func TestForSise(t *testing.T) {
exp, err := ffiwrapper.GeneratePieceCIDFromFile(abi.RegisteredProof_StackedDRG2KiBPoSt, bytes.NewReader(make([]byte, 1016)), 1016) exp, err := ffiwrapper.GeneratePieceCIDFromFile(abi.RegisteredSealProof_StackedDrg2KiBV1, bytes.NewReader(make([]byte, 1016)), 1016)
if err != nil { if err != nil {
return return
} }