Upgrading to 0.8: re-use blkNNNN.dat files.
This commit is contained in:
parent
da8c5c9f4e
commit
f4445f9982
27
src/init.cpp
27
src/init.cpp
@ -729,6 +729,33 @@ bool AppInit2()
|
|||||||
return InitError(msg);
|
return InitError(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Upgrading to 0.8; hard-link the old blknnnn.dat files into /blocks/
|
||||||
|
filesystem::path blocksDir = GetDataDir() / "blocks";
|
||||||
|
if (!filesystem::exists(blocksDir))
|
||||||
|
{
|
||||||
|
filesystem::create_directories(blocksDir);
|
||||||
|
bool linked = false;
|
||||||
|
for (unsigned int i = 1; i < 10000; i++) {
|
||||||
|
filesystem::path source = GetDataDir() / strprintf("blk%04u.dat", i);
|
||||||
|
if (!filesystem::exists(source)) break;
|
||||||
|
filesystem::path dest = blocksDir / strprintf("blk%05u.dat", i-1);
|
||||||
|
try {
|
||||||
|
filesystem::create_hard_link(source, dest);
|
||||||
|
printf("Hardlinked %s -> %s\n", source.string().c_str(), dest.string().c_str());
|
||||||
|
linked = true;
|
||||||
|
} catch (filesystem::filesystem_error & e) {
|
||||||
|
// Note: hardlink creation failing is not a disaster, it just means
|
||||||
|
// blocks will get re-downloaded from peers.
|
||||||
|
printf("Error hardlinking blk%04u.dat : %s\n", i, e.what());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (linked)
|
||||||
|
{
|
||||||
|
fReindex = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// cache size calculations
|
// cache size calculations
|
||||||
size_t nTotalCache = GetArg("-dbcache", 25) << 20;
|
size_t nTotalCache = GetArg("-dbcache", 25) << 20;
|
||||||
if (nTotalCache < (1 << 22))
|
if (nTotalCache < (1 << 22))
|
||||||
|
Loading…
Reference in New Issue
Block a user