mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-19 05:45:05 +01:00
Add warning on first startup if free disk space is less than necessary
To accommodate the expected blocks data. Co-authored-by: Antoine Poinsot <darosior@protonmail.com> Co-authored-by: benthecarman <benthecarman@live.com> Co-authored-by: Justin Litchfield <litch@me.com> Co-authored-by: Liran Cohen <c.liran.c@gmail.com> Co-authored-by: Ryan Loomba <ryan.loomba@gmail.com> Co-authored-by: Buck Perley <bucko.perley@gmail.com> Co-authored-by: bajjer <bajjer@bajjer.xyz> Co-authored-by: Suhail Saqan <suhail.saqan@gmail.com> Co-authored-by: Christopher Sweeney <sweeney.chris@gmail.com> Co-authored-by: Alyssa <orbitalturtle@protonmail.com> Co-authored-by: Ben Schroth <ben@styng.social> Co-authored-by: Jason Hester <mail@jason-hester.me> Co-authored-by: Matt Clough <Matt.clough@pm.me> Co-authored-by: Elise Schedler <eliseschedler@gmail.com> Co-authored-by: ghander <cen254@gmail.com> Co-authored-by: PopeLaz <btclz@fastmail.com> Co-authored-by: Aurèle Oulès <hello@aureleoules.com>
This commit is contained in:
parent
57c192767b
commit
6630a1e844
20
src/init.cpp
20
src/init.cpp
@ -1569,6 +1569,24 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
|
||||
return false;
|
||||
}
|
||||
|
||||
int chain_active_height = WITH_LOCK(cs_main, return chainman.ActiveChain().Height());
|
||||
|
||||
// On first startup, warn on low block storage space
|
||||
if (!fReindex && !fReindexChainState && chain_active_height <= 1) {
|
||||
uint64_t additional_bytes_needed = fPruneMode ? nPruneTarget
|
||||
: chainparams.AssumedBlockchainSize() * 1024 * 1024 * 1024;
|
||||
|
||||
if (!CheckDiskSpace(args.GetBlocksDirPath(), additional_bytes_needed)) {
|
||||
InitWarning(strprintf(_(
|
||||
"Disk space for %s may not accommodate the block files. " \
|
||||
"Approximately %u GB of data will be stored in this directory."
|
||||
),
|
||||
fs::quoted(fs::PathToString(args.GetBlocksDirPath())),
|
||||
chainparams.AssumedBlockchainSize()
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
// Either install a handler to notify us when genesis activates, or set fHaveGenesis directly.
|
||||
// No locking, as this happens before any background thread is started.
|
||||
boost::signals2::connection block_notify_genesis_wait_connection;
|
||||
@ -1618,8 +1636,6 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
|
||||
|
||||
// ********************************************************* Step 12: start node
|
||||
|
||||
int chain_active_height;
|
||||
|
||||
//// debug print
|
||||
{
|
||||
LOCK(cs_main);
|
||||
|
@ -22,7 +22,7 @@ class RejectLowDifficultyHeadersTest(BitcoinTestFramework):
|
||||
self.setup_clean_chain = True
|
||||
self.chain = 'testnet3' # Use testnet chain because it has an early checkpoint
|
||||
self.num_nodes = 2
|
||||
self.extra_args = [["-minimumchainwork=0x0"], ["-minimumchainwork=0x0"]]
|
||||
self.extra_args = [["-minimumchainwork=0x0", '-prune=550']] * self.num_nodes
|
||||
|
||||
def add_options(self, parser):
|
||||
parser.add_argument(
|
||||
@ -63,7 +63,7 @@ class RejectLowDifficultyHeadersTest(BitcoinTestFramework):
|
||||
|
||||
self.log.info("Feed all fork headers (succeeds without checkpoint)")
|
||||
# On node 0 it succeeds because checkpoints are disabled
|
||||
self.restart_node(0, extra_args=['-nocheckpoints', "-minimumchainwork=0x0"])
|
||||
self.restart_node(0, extra_args=['-nocheckpoints', "-minimumchainwork=0x0", '-prune=550'])
|
||||
peer_no_checkpoint = self.nodes[0].add_p2p_connection(P2PInterface())
|
||||
peer_no_checkpoint.send_and_ping(msg_headers(self.headers_fork))
|
||||
assert {
|
||||
|
@ -21,7 +21,7 @@ class WalletCrossChain(BitcoinTestFramework):
|
||||
|
||||
# Switch node 1 to testnet before starting it.
|
||||
self.nodes[1].chain = 'testnet3'
|
||||
self.nodes[1].extra_args = ['-maxconnections=0'] # disable testnet sync
|
||||
self.nodes[1].extra_args = ['-maxconnections=0', '-prune=550'] # disable testnet sync
|
||||
with open(self.nodes[1].bitcoinconf, 'r', encoding='utf8') as conf:
|
||||
conf_data = conf.read()
|
||||
with open (self.nodes[1].bitcoinconf, 'w', encoding='utf8') as conf:
|
||||
@ -51,7 +51,7 @@ class WalletCrossChain(BitcoinTestFramework):
|
||||
if not self.options.descriptors:
|
||||
self.log.info("Override cross-chain wallet load protection")
|
||||
self.stop_nodes()
|
||||
self.start_nodes([['-walletcrosschain']] * self.num_nodes)
|
||||
self.start_nodes([['-walletcrosschain', '-prune=550']] * self.num_nodes)
|
||||
self.nodes[0].loadwallet(node1_wallet)
|
||||
self.nodes[1].loadwallet(node0_wallet)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user