Add GenesisBlock::OperatingMode to control how cluster features are activated (#6430)

This commit is contained in:
Michael Vines
2019-10-23 11:50:10 -07:00
committed by GitHub
parent 35d6196384
commit 35cc74ef25
13 changed files with 256 additions and 46 deletions

View File

@ -393,6 +393,12 @@ fn get_bank_forks(
verify_ledger: bool,
dev_halt_at_slot: Option<Slot>,
) -> (BankForks, Vec<BankForksInfo>, LeaderScheduleCache) {
let process_options = blocktree_processor::ProcessOptions {
verify_ledger,
dev_halt_at_slot,
..blocktree_processor::ProcessOptions::default()
};
if let Some(snapshot_config) = snapshot_config.as_ref() {
info!(
"Initializing snapshot path: {:?}",
@ -417,13 +423,10 @@ fn get_bank_forks(
.expect("Load from snapshot failed");
return blocktree_processor::process_blocktree_from_root(
genesis_block,
blocktree,
Arc::new(deserialized_bank),
&blocktree_processor::ProcessOptions {
verify_ledger,
dev_halt_at_slot,
..blocktree_processor::ProcessOptions::default()
},
&process_options,
)
.expect("processing blocktree after loading snapshot failed");
} else {
@ -438,11 +441,7 @@ fn get_bank_forks(
&genesis_block,
&blocktree,
account_paths,
blocktree_processor::ProcessOptions {
verify_ledger,
dev_halt_at_slot,
..blocktree_processor::ProcessOptions::default()
},
process_options,
)
.expect("process_blocktree failed")
}