message: [Net] AcceptBlock, first prev block loaded from disk.
diff: @@ -4693,23 +4693,23 @@ bool AcceptBlock(CBlock& block, CValidationState& state, CBlockIndex** ppindex,
  // Start at the block we're adding on to
  CBlockIndex *prev = pindexPrev;
  + CBlock bl;
  + if (!ReadBlockFromDisk(bl, prev))
  + return error("%s: previous block %s not on disk", __func__, prev->GetBlockHash().GetHex());
  +
  vector<CBigNum> vBlockSerials;
  - if (!chainActive.Contains(prev)) {
  int readBlock = 0;
  - CBlock bl;
  // Go backwards on the forked chain up to the split
  - do {
  + while (!chainActive.Contains(prev)) {
  +
  + // Increase amount of read blocks
  + readBlock++;
  // Check if the forked chain is longer than the max reorg limit
  if (readBlock == Params().MaxReorganizationDepth()) {
  // TODO: Remove this chain from disk.
  return error("%s: forked chain longer than maximum reorg limit", __func__);
  }
  - if (!ReadBlockFromDisk(bl, prev))
  - // Previous block not on disk
  - return error("%s: previous block %s not on disk", __func__, prev->GetBlockHash().GetHex());
  - // Increase amount of read blocks
  - readBlock++;
  // Loop through every input from said block
  for (const CTransaction &t : bl.vtx) {
  for (const CTxIn &in: t.vin) {
  @@ -4733,9 +4733,12 @@ bool AcceptBlock(CBlock& block, CValidationState& state, CBlockIndex** ppindex,
  }
  }
  + // Prev block
  prev = prev->pprev;
  + if (!ReadBlockFromDisk(bl, prev))
  + // Previous block not on disk
  + return error("%s: previous block %s not on disk", __func__, prev->GetBlockHash().GetHex());
  - } while (!chainActive.Contains(prev));
  }
  // Split height
  