mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-22 06:52:36 +01:00
walletdb: remove fAggressive from Salvage
The only call to Salvage set fAggressive = true so remove that parameter and always use DB_AGGRESSIVE
This commit is contained in:
parent
8ebcbc85c6
commit
07250b8dce
2 changed files with 4 additions and 12 deletions
|
@ -343,7 +343,7 @@ bool BerkeleyBatch::Recover(const fs::path& file_path, void *callbackDataIn, boo
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<BerkeleyEnvironment::KeyValPair> salvagedData;
|
std::vector<BerkeleyEnvironment::KeyValPair> salvagedData;
|
||||||
bool fSuccess = env->Salvage(newFilename, true, salvagedData);
|
bool fSuccess = env->Salvage(newFilename, salvagedData);
|
||||||
if (salvagedData.empty())
|
if (salvagedData.empty())
|
||||||
{
|
{
|
||||||
LogPrintf("Salvage(aggressive) found no records in %s.\n", newFilename);
|
LogPrintf("Salvage(aggressive) found no records in %s.\n", newFilename);
|
||||||
|
@ -425,25 +425,17 @@ static const char *HEADER_END = "HEADER=END";
|
||||||
/* End of key/value data */
|
/* End of key/value data */
|
||||||
static const char *DATA_END = "DATA=END";
|
static const char *DATA_END = "DATA=END";
|
||||||
|
|
||||||
bool BerkeleyEnvironment::Salvage(const std::string& strFile, bool fAggressive, std::vector<BerkeleyEnvironment::KeyValPair>& vResult)
|
bool BerkeleyEnvironment::Salvage(const std::string& strFile, std::vector<BerkeleyEnvironment::KeyValPair>& vResult)
|
||||||
{
|
{
|
||||||
LOCK(cs_db);
|
LOCK(cs_db);
|
||||||
assert(mapFileUseCount.count(strFile) == 0);
|
assert(mapFileUseCount.count(strFile) == 0);
|
||||||
|
|
||||||
u_int32_t flags = DB_SALVAGE;
|
|
||||||
if (fAggressive)
|
|
||||||
flags |= DB_AGGRESSIVE;
|
|
||||||
|
|
||||||
std::stringstream strDump;
|
std::stringstream strDump;
|
||||||
|
|
||||||
Db db(dbenv.get(), 0);
|
Db db(dbenv.get(), 0);
|
||||||
int result = db.verify(strFile.c_str(), nullptr, &strDump, flags);
|
int result = db.verify(strFile.c_str(), nullptr, &strDump, DB_SALVAGE | DB_AGGRESSIVE);
|
||||||
if (result == DB_VERIFY_BAD) {
|
if (result == DB_VERIFY_BAD) {
|
||||||
LogPrintf("BerkeleyEnvironment::Salvage: Database salvage found errors, all data may not be recoverable.\n");
|
LogPrintf("BerkeleyEnvironment::Salvage: Database salvage found errors, all data may not be recoverable.\n");
|
||||||
if (!fAggressive) {
|
|
||||||
LogPrintf("BerkeleyEnvironment::Salvage: Rerun with aggressive mode to ignore errors and continue.\n");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (result != 0 && result != DB_VERIFY_BAD) {
|
if (result != 0 && result != DB_VERIFY_BAD) {
|
||||||
LogPrintf("BerkeleyEnvironment::Salvage: Database salvage failed with result %d.\n", result);
|
LogPrintf("BerkeleyEnvironment::Salvage: Database salvage failed with result %d.\n", result);
|
||||||
|
|
|
@ -75,7 +75,7 @@ public:
|
||||||
* for huge databases.
|
* for huge databases.
|
||||||
*/
|
*/
|
||||||
typedef std::pair<std::vector<unsigned char>, std::vector<unsigned char> > KeyValPair;
|
typedef std::pair<std::vector<unsigned char>, std::vector<unsigned char> > KeyValPair;
|
||||||
bool Salvage(const std::string& strFile, bool fAggressive, std::vector<KeyValPair>& vResult);
|
bool Salvage(const std::string& strFile, std::vector<KeyValPair>& vResult);
|
||||||
|
|
||||||
bool Open(bool retry);
|
bool Open(bool retry);
|
||||||
void Close();
|
void Close();
|
||||||
|
|
Loading…
Add table
Reference in a new issue