diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2013-01-30 04:17:33 +0100 |
---|---|---|
committer | Pieter Wuille <pieterw@google.com> | 2013-01-30 04:55:38 +0100 |
commit | 1eb578796c98f457546059b66eb98fd0efc8e690 (patch) | |
tree | 31f41b033a1c43799d1ed9b6eaab7ed705a908e4 /src/main.cpp | |
parent | 288fdc092aff9d7e0cea159196b2e96044a786c7 (diff) |
Drop padding in blk* when finalizing file
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main.cpp b/src/main.cpp index fe35fbaf29..a94fdc3090 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1572,7 +1572,7 @@ bool CBlock::DisconnectBlock(CBlockIndex *pindex, CCoinsViewCache &view, bool *p } } -void static FlushBlockFile() +void static FlushBlockFile(bool fFinalize = false) { LOCK(cs_LastBlockFile); @@ -1580,12 +1580,16 @@ void static FlushBlockFile() FILE *fileOld = OpenBlockFile(posOld); if (fileOld) { + if (fFinalize) + TruncateFile(fileOld, infoLastBlockFile.nSize); FileCommit(fileOld); fclose(fileOld); } fileOld = OpenUndoFile(posOld); if (fileOld) { + if (fFinalize) + TruncateFile(fileOld, infoLastBlockFile.nUndoSize); FileCommit(fileOld); fclose(fileOld); } @@ -1991,7 +1995,7 @@ bool FindBlockPos(CDiskBlockPos &pos, unsigned int nAddSize, unsigned int nHeigh } else { while (infoLastBlockFile.nSize + nAddSize >= MAX_BLOCKFILE_SIZE) { printf("Leaving block file %i: %s\n", nLastBlockFile, infoLastBlockFile.ToString().c_str()); - FlushBlockFile(); + FlushBlockFile(true); nLastBlockFile++; infoLastBlockFile.SetNull(); pblocktree->ReadBlockFileInfo(nLastBlockFile, infoLastBlockFile); // check whether data for the new file somehow already exist; can fail just fine |