bsc/core
rjl493456442 e04d63ebd3
core/rawdb: fsync head data file before closing it (#26490)
This PR fixes an issue which might result in data lost in freezer.

Whenever mutation happens in freezer, all data will be written into head data file
and it will be rotated with a new one in case the size of file reaches the threshold.

Theoretically, the rotated old data file should be fsync'd to prevent data loss.
In freezer.Sync function, we only fsync: (1) index file (2) meta file and (3) head
data file. So this PR forcibly fsync the head data file if mutation happens in the
boundary of data file.
2023-01-13 05:55:50 -05:00
..
asm all: change format 0x%x to %#x (#25221) 2022-07-04 11:03:32 +03:00
beacon build: upgrade to go 1.19 (#25726) 2022-09-10 13:25:40 +02:00
bloombits all: fix spelling mistakes (#25961) 2022-10-11 09:37:00 +02:00
forkid eth, les: polish forkid a bit, fix races and transition validation 2023-01-06 15:29:57 +02:00
rawdb core/rawdb: fsync head data file before closing it (#26490) 2023-01-13 05:55:50 -05:00
state core/state: remove notion of fake storage (#24916) 2023-01-10 08:24:30 -05:00
txpool core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
types all: assign zero after resize in implementations of heap.Interface (#26296) 2022-12-05 13:49:54 +01:00
vm core/vm: enable EIP-3855 (PUSH0) in Shanghai (#26475) 2023-01-12 11:00:08 +01:00
.gitignore Renamed chain => core 2014-12-04 10:28:02 +01:00
bench_test.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
block_validator_test.go tests: update tests (#26314) 2022-12-20 09:56:52 -05:00
block_validator.go cmd, core, eth, miner: deprecate miner.gastarget flag (#23213) 2021-08-10 11:28:33 +03:00
blockchain_insert.go core: fix log order in "Imported new chain segment" (#25768) 2022-09-15 13:18:23 +02:00
blockchain_reader.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01:00
blockchain_repair_test.go core, ethclient/gethclient: improve flaky tests (#25918) 2022-10-06 13:39:20 +02:00
blockchain_sethead_test.go core, ethclient/gethclient: improve flaky tests (#25918) 2022-10-06 13:39:20 +02:00
blockchain_snapshot_test.go core: fix typo in blockchain_snapshot_test.go (#26357) 2022-12-14 11:48:12 +02:00
blockchain_test.go core, les, params: add timestamp based fork compatibility checks 2023-01-03 12:57:06 +02:00
blockchain.go core, les, light: implement timestamp based sethead and genesis rewinds 2023-01-03 12:57:07 +02:00
blocks.go core: typos and comments improve 2017-05-25 17:14:33 +03:00
bloom_indexer.go core: preallocate batch size in bloomIndexer (#25289) 2022-08-03 17:02:09 +02:00
chain_indexer_test.go core: fix potential race in chainIndexerTest (#22346) 2021-03-19 13:32:57 +01:00
chain_indexer.go all: make logs a bit easier on the eye to digest (#22665) 2021-04-15 20:35:00 +03:00
chain_makers_test.go all: move genesis initialization to blockchain (#25523) 2022-08-30 18:22:28 +02:00
chain_makers.go tests: update tests (#26314) 2022-12-20 09:56:52 -05:00
dao_test.go core, ethclient/gethclient: improve flaky tests (#25918) 2022-10-06 13:39:20 +02:00
error.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
events.go eth/filters: remove use of event.TypeMux for pending logs (#20312) 2019-12-10 12:39:14 +01:00
evm.go core/evm: fix error in comment (#25040) 2022-06-08 18:40:37 +02:00
forkchoice.go core: clarify code in forkchoice (#26257) 2022-11-28 11:07:25 +01:00
gaspool.go miner: avoid unnecessary work (#15883) 2018-01-15 12:57:06 +02:00
gen_genesis_account.go tests: update for London (#22976) 2021-06-07 14:37:56 +02:00
gen_genesis.go core: change baseFee into baseFeePerGas in genesis json 2021-06-14 14:04:44 +02:00
genesis_alloc.go core/genesis: remove calaverasAllocData (#25516) 2022-08-12 13:58:06 +02:00
genesis_test.go core, les, params: add timestamp based fork compatibility checks 2023-01-03 12:57:06 +02:00
genesis.go cmd, core, eth, els, params: disallow setheads below genesis, tweaks 2023-01-06 15:29:58 +02:00
headerchain_test.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01:00
headerchain.go cmd, core, eth, els, params: disallow setheads below genesis, tweaks 2023-01-06 15:29:58 +02:00
mkalloc.go build: upgrade to go 1.19 (#25726) 2022-09-10 13:25:40 +02:00
rlp_test.go all: cleanup tests (#25641) 2022-09-07 20:21:59 +02:00
sender_cacher.go all: refactor txpool into it's own package in prep for 4844 2022-10-24 16:35:53 +03:00
state_prefetcher.go all: implement EIP-1153 transient storage (#26003) 2022-11-16 10:18:52 +01:00
state_processor_test.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
state_processor.go core, cmd: fill blockNumber in logs (#26345) 2022-12-13 07:54:16 -05:00
state_transition.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
types.go core: prefetch next block state concurrently 2019-04-01 11:06:15 +03:00