In v15:
(1)
+ for (cur_blk = firstDelBlock[j]; cur_blk < nblocks; cur_blk++)
The right side of "cur_blk <" should not be nblocks, because nblocks is not the number of the relation fork anymore.
(2)
+ BlockNumber nblocks;
+ nblocks = smgrnblocks(smgr_reln, forkNum[j]) - firstDelBlock[j];
You should either:
* Combine the two lines into one: BlockNumber nblocks = ...;
or
* Put an empty line between the two lines to separate declarations and execution statements.
After correcting these, I think you can check the recovery performance.
Regards
Takayuki Tsunakawa