From 2a988d453cdba8d7b8cc0742eafa351df80a0f86 Mon Sep 17 00:00:00 2001 From: Jennifer Wang Date: Sat, 26 Mar 2022 22:36:32 -0400 Subject: [PATCH 1/2] chore: ffi: the latest fvm release --- chain/vm/fvm.go | 15 +++++++++++---- extern/filecoin-ffi | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/chain/vm/fvm.go b/chain/vm/fvm.go index 72c84f966..ab32247e0 100644 --- a/chain/vm/fvm.go +++ b/chain/vm/fvm.go @@ -233,10 +233,17 @@ func NewFVM(ctx context.Context, opts *VMOpts) (*FVM, error) { } } - fvm, err := ffi.CreateFVM(0, - &FvmExtern{Rand: opts.Rand, Blockstore: opts.Bstore, lbState: opts.LookbackState, base: opts.StateBase, epoch: opts.Epoch}, - opts.Epoch, opts.BaseFee, circToReport, opts.NetworkVersion, opts.StateBase, - ) + fvmOpts := ffi.FVMOpts{ + FVMVersion: 0, + Externs: &FvmExtern{Rand: opts.Rand, Blockstore: opts.Bstore, lbState: opts.LookbackState, base: opts.StateBase, epoch: opts.Epoch}, + Epoch: opts.Epoch, + BaseFee: opts.BaseFee, + BaseCircSupply: circToReport, + NetworkVersion: opts.NetworkVersion, + StateBase: opts.StateBase, + } + + fvm, err := ffi.CreateFVM(&fvmOpts) if err != nil { return nil, err } diff --git a/extern/filecoin-ffi b/extern/filecoin-ffi index e81d30283..7f93fe5cf 160000 --- a/extern/filecoin-ffi +++ b/extern/filecoin-ffi @@ -1 +1 @@ -Subproject commit e81d302831f5dcd0c5b7b9415c353f8b43291b8c +Subproject commit 7f93fe5cf63aee1c6c21986903e870b02e337a16 From c951e348b46b7738fdddc32ba16fb5d789e8a209 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Sat, 26 Mar 2022 15:50:21 -0400 Subject: [PATCH 2/2] feat: config: Move MakeNewSectorForDeals config into the Sealing sectoin --- documentation/en/default-lotus-miner-config.toml | 16 ++++++++-------- node/config/def.go | 2 +- node/config/doc_gen.go | 16 ++++++++-------- node/config/types.go | 9 +++++---- node/modules/storageminer.go | 3 ++- 5 files changed, 24 insertions(+), 22 deletions(-) diff --git a/documentation/en/default-lotus-miner-config.toml b/documentation/en/default-lotus-miner-config.toml index d00d790c5..8e1d4ce0b 100644 --- a/documentation/en/default-lotus-miner-config.toml +++ b/documentation/en/default-lotus-miner-config.toml @@ -173,14 +173,6 @@ # env var: LOTUS_DEALMAKING_EXPECTEDSEALDURATION #ExpectedSealDuration = "24h0m0s" - # Whether new sectors are created to pack incoming deals - # When this is set to false no new sectors will be created for sealing incoming deals - # This is useful for forcing all deals to be assigned as snap deals to sectors marked for upgrade - # - # type: bool - # env var: LOTUS_DEALMAKING_MAKENEWSECTORFORDEALS - #MakeNewSectorForDeals = true - # Maximum amount of time proposed deal StartEpoch can be in future # # type: Duration @@ -365,6 +357,14 @@ # env var: LOTUS_SEALING_FINALIZEEARLY #FinalizeEarly = false + # Whether new sectors are created to pack incoming deals + # When this is set to false no new sectors will be created for sealing incoming deals + # This is useful for forcing all deals to be assigned as snap deals to sectors marked for upgrade + # + # type: bool + # env var: LOTUS_SEALING_MAKENEWSECTORFORDEALS + #MakeNewSectorForDeals = true + # After sealing CC sectors, make them available for upgrading with deals # # type: bool diff --git a/node/config/def.go b/node/config/def.go index c70ab2129..86f655e37 100644 --- a/node/config/def.go +++ b/node/config/def.go @@ -110,6 +110,7 @@ func DefaultStorageMiner() *StorageMiner { WaitDealsDelay: Duration(time.Hour * 6), AlwaysKeepUnsealedCopy: true, FinalizeEarly: false, + MakeNewSectorForDeals: true, CollateralFromMinerBalance: false, AvailableBalanceBuffer: types.FIL(big.Zero()), @@ -163,7 +164,6 @@ func DefaultStorageMiner() *StorageMiner { ConsiderVerifiedStorageDeals: true, ConsiderUnverifiedStorageDeals: true, PieceCidBlocklist: []cid.Cid{}, - MakeNewSectorForDeals: true, // TODO: It'd be nice to set this based on sector size MaxDealStartDelay: Duration(time.Hour * 24 * 14), ExpectedSealDuration: Duration(time.Hour * 24), diff --git a/node/config/doc_gen.go b/node/config/doc_gen.go index 972c196f7..d1aa69ff7 100644 --- a/node/config/doc_gen.go +++ b/node/config/doc_gen.go @@ -253,14 +253,6 @@ Default value: 1 minute.`, Comment: `Maximum expected amount of time getting the deal into a sealed sector will take This includes the time the deal will need to get transferred and published before being assigned to a sector`, - }, - { - Name: "MakeNewSectorForDeals", - Type: "bool", - - Comment: `Whether new sectors are created to pack incoming deals -When this is set to false no new sectors will be created for sealing incoming deals -This is useful for forcing all deals to be assigned as snap deals to sectors marked for upgrade`, }, { Name: "MaxDealStartDelay", @@ -750,6 +742,14 @@ avoid the relatively high cost of unsealing the data later, at the cost of more Comment: `Run sector finalization before submitting sector proof to the chain`, }, + { + Name: "MakeNewSectorForDeals", + Type: "bool", + + Comment: `Whether new sectors are created to pack incoming deals +When this is set to false no new sectors will be created for sealing incoming deals +This is useful for forcing all deals to be assigned as snap deals to sectors marked for upgrade`, + }, { Name: "MakeCCSectorsAvailable", Type: "bool", diff --git a/node/config/types.go b/node/config/types.go index 2e9357993..d8c01e85b 100644 --- a/node/config/types.go +++ b/node/config/types.go @@ -128,10 +128,6 @@ type DealmakingConfig struct { // This includes the time the deal will need to get transferred and published // before being assigned to a sector ExpectedSealDuration Duration - // Whether new sectors are created to pack incoming deals - // When this is set to false no new sectors will be created for sealing incoming deals - // This is useful for forcing all deals to be assigned as snap deals to sectors marked for upgrade - MakeNewSectorForDeals bool // Maximum amount of time proposed deal StartEpoch can be in future MaxDealStartDelay Duration // When a deal is ready to publish, the amount of time to wait for more @@ -250,6 +246,11 @@ type SealingConfig struct { // Run sector finalization before submitting sector proof to the chain FinalizeEarly bool + // Whether new sectors are created to pack incoming deals + // When this is set to false no new sectors will be created for sealing incoming deals + // This is useful for forcing all deals to be assigned as snap deals to sectors marked for upgrade + MakeNewSectorForDeals bool + // After sealing CC sectors, make them available for upgrading with deals MakeCCSectorsAvailable bool diff --git a/node/modules/storageminer.go b/node/modules/storageminer.go index 05d41a427..a1986c44e 100644 --- a/node/modules/storageminer.go +++ b/node/modules/storageminer.go @@ -897,6 +897,7 @@ func NewSetSealConfigFunc(r repo.LockedRepo) (dtypes.SetSealingConfigFunc, error MaxSealingSectorsForDeals: cfg.MaxSealingSectorsForDeals, CommittedCapacitySectorLifetime: config.Duration(cfg.CommittedCapacitySectorLifetime), WaitDealsDelay: config.Duration(cfg.WaitDealsDelay), + MakeNewSectorForDeals: cfg.MakeNewSectorForDeals, MakeCCSectorsAvailable: cfg.MakeCCSectorsAvailable, AlwaysKeepUnsealedCopy: cfg.AlwaysKeepUnsealedCopy, FinalizeEarly: cfg.FinalizeEarly, @@ -933,7 +934,7 @@ func ToSealingConfig(cfg *config.StorageMiner) sealiface.Config { MaxSealingSectors: cfg.Sealing.MaxSealingSectors, MaxSealingSectorsForDeals: cfg.Sealing.MaxSealingSectorsForDeals, StartEpochSealingBuffer: abi.ChainEpoch(cfg.Dealmaking.StartEpochSealingBuffer), - MakeNewSectorForDeals: cfg.Dealmaking.MakeNewSectorForDeals, + MakeNewSectorForDeals: cfg.Sealing.MakeNewSectorForDeals, CommittedCapacitySectorLifetime: time.Duration(cfg.Sealing.CommittedCapacitySectorLifetime), WaitDealsDelay: time.Duration(cfg.Sealing.WaitDealsDelay), MakeCCSectorsAvailable: cfg.Sealing.MakeCCSectorsAvailable,