
Linus Torvalds 今天为现在打开的 Linux 6.16 合并窗口合并了许多 VFS 拉取请求,其中 power 子系统支持能够启动文件系统冻结/解冻事件,作为系统暂停和恢复周期的一部分。
Microsoft 的 Linux 工程师 Christian Brauner 提交了 Linux 6.16 的“VFS 冻结”更新,其中包含他主要致力于让电源子系统支持文件系统冻结以用于系统挂起和休眠的提交。Brauner 在拉取请求中解释说:
“允许 power 子系统支持挂起和休眠的文件系统冻结。
现在所有部分都已准备就绪,实际上允许 power 子系统在挂起/恢复期间冻结/解冻文件系统。只有当 power 子系统确实拥有冻结时,文件系统才会被冻结和解冻。
如果在我们冻结所有用户空间进程时文件系统已经冻结,我们不想再次冻结它。一旦进程恢复,这就是用户空间的工作。我们只在绝对必要的情况下才会真正冻结文件系统,并且我们会忽略其他冻结失败。
如果错误不是 EBUSK(也就是它已经被冻结),我们可能会冒泡错误并失败挂起/恢复,但我认为这不值得。在暂停/恢复期间冻结文件系统是尽力而为。如果用户挂载了 500 个 ext4 文件系统,但 4 个由于某种原因无法冻结,那么我们只需跳过它们。
我们现在所拥有的已经是一个很大的进步,让我们看看我们如何应对它,然后再让我们的生活变得比我们必须的更难(和更丑陋)。
作为这项工作的一部分,我们还添加了 /sys/power/freeze_filesystems 以允许用户空间在挂起和休眠期间冻结文件系统。VFS 冻结拉取请求还向 EFI 变量 (efivars) 代码添加了冻结/解冻支持。
对于对此 Git 合并感兴趣的人,请提供更多详细信息。
转自 Linux 6.16 Adds Ability For Power Code To Freeze The File-System For Suspend & Hibernate – Phoronix
Linuxeden开源社区