软更新回滚如何工作

软更新回滚如何工作

我一直在读一篇论文软更新最近,它讨论了回滚更改以避免依赖循环。这样做的目的是因为“我们必须以块大小为单位写入磁盘,每个块可能包含受多个元数据操作影响的元数据”

所以我明白现在发生了什么以及为什么我们必须执行此操作,但我一直坚持理解回滚在实践中如何实际工作的过程。我知道 FreeBSD 目前尚未实现软更新,但我需要了解这个概念,以便进行本周的测试。

答案1

它是作为低水温网络文章指出“当您写出一个块时,您将锁定它并迭代该块的各个更改的记录。对于其依赖性尚未得到满足的每个单独更改,您撤消对该块的更改,然后写出由此产生的块。”然而,可视化整个过程的部分很困难,直到我找到了 McKusick 本人的演示文稿,我才能够理解它。这特别讨论回滚对已删除文件的更改以满足添加文件的能力。添加完成后,我们就可以进行删除了。

相关内容