diff --git a/chain/vm/fvm.go b/chain/vm/fvm.go index 653110586..d3c4d7a46 100644 --- a/chain/vm/fvm.go +++ b/chain/vm/fvm.go @@ -205,14 +205,14 @@ func (x *FvmExtern) VerifyConsensusFault(ctx context.Context, a, b, extra []byte // check blocks are properly signed by their respective miner // note we do not need to check extra's: it is a parent to block b // which itself is signed, so it was willingly included by the miner - gasA, sigErr := x.VerifyBlockSig(ctx, &blockA) + gasA, sigErr := x.verifyBlockSig(ctx, &blockA) totalGas += gasA if sigErr != nil { log.Info("invalid consensus fault: cannot verify first block sig: %w", sigErr) return ret, totalGas } - gas2, sigErr := x.VerifyBlockSig(ctx, &blockB) + gas2, sigErr := x.verifyBlockSig(ctx, &blockB) totalGas += gas2 if sigErr != nil { log.Info("invalid consensus fault: cannot verify second block sig: %w", sigErr) @@ -225,7 +225,7 @@ func (x *FvmExtern) VerifyConsensusFault(ctx context.Context, a, b, extra []byte return ret, totalGas } -func (x *FvmExtern) VerifyBlockSig(ctx context.Context, blk *types.BlockHeader) (int64, error) { +func (x *FvmExtern) verifyBlockSig(ctx context.Context, blk *types.BlockHeader) (int64, error) { waddr, gasUsed, err := x.workerKeyAtLookback(ctx, blk.Miner, blk.Height) if err != nil { return gasUsed, err diff --git a/cmd/lotus-bench/main.go b/cmd/lotus-bench/main.go index d7b9b0409..279f2d5fd 100644 --- a/cmd/lotus-bench/main.go +++ b/cmd/lotus-bench/main.go @@ -468,7 +468,7 @@ var sealBenchCmd = &cli.Command{ } bo.EnvVar = make(map[string]string) - for _, envKey := range []string{"BELLMAN_NO_GPU", "FIL_PROOFS_MAXIMIZE_CACHING", "FIL_PROOFS_USE_GPU_COLUMN_BUILDER", + for _, envKey := range []string{"BELLMAN_NO_GPU", "FIL_PROOFS_USE_GPU_COLUMN_BUILDER", "FIL_PROOFS_USE_GPU_TREE_BUILDER", "FIL_PROOFS_USE_MULTICORE_SDR", "BELLMAN_CUSTOM_GPU"} { envValue, found := os.LookupEnv(envKey) if found { diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 2b9862808..8c7323a2b 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -36,7 +36,7 @@ parts: - libhwloc15 - ocl-icd-libopencl1 override-build: | - LDFLAGS="-z noexecstack" make lotus lotus-miner lotus-worker + LDFLAGS="" make lotus lotus-miner lotus-worker cp lotus lotus-miner lotus-worker $SNAPCRAFT_PART_INSTALL cp scripts/snap-lotus-entrypoint.sh $SNAPCRAFT_PART_INSTALL diff --git a/storage/sealer/README.md b/storage/sealer/README.md index a4661f9d8..83fa3ea5f 100644 --- a/storage/sealer/README.md +++ b/storage/sealer/README.md @@ -21,16 +21,15 @@ Please report your issues with regards to sector-storage at the [lotus issue tra Manages is the top-level piece of the storage system gluing all the other pieces together. It also implements scheduling logic. -### `package stores` +### `package paths` This package implements the sector storage subsystem. Fundamentally the storage is divided into `path`s, each path has it's UUID, and stores a set of sector -'files'. There are currently 3 types of sector files - `unsealed`, `sealed`, -and `cache`. +'files'. There are currently 5 types of sector files - `unsealed`, `sealed`, `cache`, `update` and `update-cache`. Paths can be shared between nodes by sharing the underlying filesystem. -### `stores.Local` +### `paths.Local` The Local store implements SectorProvider for paths mounted in the local filesystem. Paths can be shared between nodes, and support shared filesystems @@ -38,12 +37,12 @@ such as NFS. stores.Local implements all native filesystem-related operations -### `stores.Remote` +### `paths.Remote` The Remote store extends Local store, handles fetching sector files into a local store if needed, and handles removing sectors from non-local stores. -### `stores.Index` +### `paths.Index` The Index is a singleton holding metadata about storage paths, and a mapping of sector files to paths diff --git a/storage/sealer/docs/sector-storage.svg b/storage/sealer/docs/sector-storage.svg index 3978ef2f8..0e2ed27a7 100644 --- a/storage/sealer/docs/sector-storage.svg +++ b/storage/sealer/docs/sector-storage.svg @@ -1,3 +1,4 @@ + -
LocalWorker
LocalWorker
stores.Local
stores.Local
stores.Store
stores.Store
stores.SectorIndex
stores.SectorInd...
ffiwrapper.Sealer
ffiwrapper.Seal...
SectorProvider
SectorProvider
localProvider
localProvider
Worker
Worker
stores.Remote
stores.Remote
stores.Local
stores.Local
stores.SectorIndex
stores.SectorInd...
localPaths []string
localPaths []str...
urls []string
urls []stri...
stores.SectorIndex
stores.SectorInd...
specs-storage.Prover
specs-storage.Prover
ronlyProvider
ronlyProvider
stores.Index
stores.Index
FetchHandler
FetchHandler
ffiwrapper.Sealer
ffiwrapper.Seal...
SectorProvider
SectorProvider
specs-storage.[Sealer,Storage]
specs-storage.[Sealer,Storage]
specs-storage.Prover
specs-storage.Prover
Manager API
Manager API
Scheduler
Scheduler
[]workerHandle
[]workerHandle
Worker
Worker
WorkerInfo
Worker...
resourceInfo
resourceInfo
schedQueue
schedQueue
stores.SectorIndex
stores.SectorInd...
sector-storage.Manager
sector-storage.Manager
worker management APIs
worker management APIs
Filecoin 'Miner' Node
Filecoin 'Miner' Node
HTTP API
HTTP API
/remote
/remote
JsonRPC
JsonRPC
/rpc/v0
/rpc/v0
LocalWorker
LocalWorker
stores.Local
stores.Local
stores.Store
stores.Store
stores.SectorIndex
stores.SectorInd...
ffiwrapper.Sealer
ffiwrapper.Seal...
SectorProvider
SectorProvider
localProvider
localProvider
Worker
Worker
stores.Remote
stores.Remote
stores.Local
stores.Local
stores.SectorIndex
stores.SectorInd...
localPaths []string
localPaths []str...
urls []string
urls []stri...
stores.SectorIndex
stores.SectorInd...
Miner JsonRPC client
Miner JsonRPC client
miner.Register(remoteWorker)
miner.Register(remoteWorker)
HTTP API
HTTP API
FetchHandler
FetchHandler
/remote
/remote
RemoteWorker
RemoteWorker
/rpc/v0
/rpc/v0
JsonRPC
JsonRPC
Seal Worker Node
Seal Worker Node
Viewer does not support full SVG 1.1
\ No newline at end of file +
LocalWorker
LocalWorker
paths.Local
paths.Local
paths.Store
paths.Store
paths.SectorIndex
paths.SectorIndex
ffiwrapper.Sealer
ffiwrapper.Seal...
SectorProvider
SectorProvider
localProvider
localProvider
Worker
Worker
paths.Remote
paths.Remote
paths.Local
paths.Local
paths.SectorIndex
paths.SectorIndex
localPaths []string
localPaths []str...
urls []string
urls []stri...
paths.SectorIndex
paths.SectorIndex
storiface.Prover
storiface.Prover
ronlyProvider
ronlyProvider
paths.Index
paths.Index
FetchHandler
FetchHandler
ffiwrapper.Sealer
ffiwrapper.Seal...
SectorProvider
SectorProvider
storiface.[Sealer,Storage]
storiface.[Sealer,Storage]
storiface.Prover
storiface.Prover
Manager API
Manager API
Scheduler
Scheduler
[]workerHandle
[]workerHandle
Worker
Worker
WorkerInfo
Worker...
resourceInfo
resourceInfo
schedQueue
schedQueue
paths.SectorIndex
paths.SectorIndex
sealer.Manager
sealer.Manager
worker management APIs
worker management APIs
'Lotus-Miner' Node
'Lotus-Miner' Node
HTTP API
HTTP API
/remote
/remote
JsonRPC
JsonRPC
/rpc/v0
/rpc/v0
LocalWorker
LocalWorker
paths.Local
paths.Local
paths.Store
paths.Store
paths.SectorIndex
paths.SectorIndex
ffiwrapper.Sealer
ffiwrapper.Seal...
SectorProvider
SectorProvider
localProvider
localProvider
Worker
Worker
paths.Remote
paths.Remote
paths.Local
paths.Local
paths.SectorIndex
paths.SectorIndex
localPaths []string
localPaths []str...
urls []string
urls []stri...
paths.SectorIndex
paths.SectorIndex
Miner JsonRPC client
Miner JsonRPC client
miner.Register(remoteWorker)
miner.Register(remoteWorker)
HTTP API
HTTP API
FetchHandler
FetchHandler
/remote
/remote
RemoteWorker
RemoteWorker
/rpc/v0
/rpc/v0
JsonRPC
JsonRPC
'Lotus-Worker' node
'Lotus-Worker' node
Text is not SVG - cannot display
\ No newline at end of file