新的 NOVA 文件系统
Andiry Xu(与 Lu Zhang、Steven Swanson 和其他人合作)发布了一个名为 NOVA (NOn-Volatile memory Accelerated,非易失性内存加速) 的新文件系统的补丁。 普通的 RAM 芯片在每次您关闭计算机时都会被擦除。 非易失性 RAM 可以在重启后保留其数据。 他们的项目针对的是字节寻址的非易失性内存芯片,例如 Intel 的 3DXpoint DIMM。 Andiry 说,他们当前的代码已经能够做很多事情,但他们仍然有一个很大的待办事项列表,并且他们希望得到内核人员的反馈。
Theodore Y. Ts'o 尝试了这些补丁,但他发现如果不进行一些修复,这些补丁甚至无法编译,他在回复中发布了这些修复。 Andiry 说他们会将这些修复应用到他们的补丁中。
NOVA 上一次出现在内核邮件列表中是在 2017 年 8 月,当时 Steven 做了类似的声明。这一次,他们发布了更多的补丁,包括对 SysFS 控制、Kconfig 编译选项和大量文档的支持。
除了支持非易失性 RAM 之外,NOVA 的主要亮点之一是它是一个基于日志的文件系统。 其他文件系统通常在磁盘上映射它们的数据结构,并在原地更新这些结构。 这有利于节省光盘和磁盘上的寻道时间。 基于日志的文件系统按顺序写入所有内容,并将旧数据留在后面。 然后,旧数据可以被视为文件系统早期状态的快照,或者可以在空间不足时被回收。
基于日志的文件系统不一定是光盘和磁盘的首选,因为顺序写入往往会使数据碎片化并减慢速度。 非易失性 RAM 基于不同的技术,具有更快的寻道时间,使得基于日志的方法成为自然的选择。
NOVA 比大多数基于日志的文件系统更进一步,大多数基于日志的文件系统往往为整个文件系统使用一个日志,而 NOVA 为每个 inode 维护一个单独的日志。 使用日志数据,NOVA 可以像传统文件系统一样在原地执行写入,或者作为写时复制 (COW) 操作,这将保留文件的旧版本,直到写入新版本为止。 这样做的好处是,它可以应对灾难性事件,例如在写入过程中突然断电,而不会损坏文件系统。
Andiry 及其团队收到了很多对补丁的回复。 大多数是错误报告和批评,但没有争议。 每个人似乎都对帮助他们正确编写代码感兴趣,以便补丁能够尽快进入主干。
注意:如果您在上面被提及并且想要在评论区上方发布回复,请将包含您的回复文本的消息发送至 ljeditor@linuxjournal.com。