THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
创建tmp文件,作为磁盘buffer,记录目标地址和写入数据。
3.6.1. 磁盘buffer的格式设计
逻辑上一个磁盘buffer应具备如下三个状态:
- 未被使用:此时的重启恢复无需处理磁盘buffer,也证明文件处于完整可用的状态
- 正在准备数据:此时重启恢复需要清空磁盘buffer,新数据仍未写入文件,抛弃该次写入操作
- 完成数据准备,正在执行数据迁移:此时重启恢复需要重做数据迁移,直接覆盖目标地址空间
因此磁盘buffer的格式可有如下的初步设计:
- 标记位,是否已正在被使用
- 标记位,是否已完成buffer数据的准备
- 目标地址
- 待刷盘数据,以链表为粒度一次性准备好
...