GEFS 登陆 OpenBSD:早期预览揭秘
GEFS on OpenBSD: A Early Preview
我在 EuroBSD 上展示了一个粗糙且充满 Bug 的 GEFS 预览版,它正在被移植到 OpenBSD。这是一个我为 9front 编写的崩溃安全、支持快照和写时复制的新文件系统。目前,这个移植版绝对不适合生产环境,错误处理甚至可能导致数据丢失,但我认为剩余问题已基本清晰,欢迎大家来测试。我计划保持内核代码与 Plan 9 的高度同步,以便共享修复,但必须重写错误处理逻辑并解决 Posix 兼容性、硬链接及 Kqueue 等难题。目前代码尚未进行 KNF 风格调整,且没有针对 OpenBSD 的回归测试套件。如果你感兴趣,可以通过 GitHub 获取初始仓库并拉取我的增量更新,但请注意我会频繁变基。
移植版目前绝不适合生产环境,数据丢失是预期内的风险,尤其是在出错时。
HN 评论区
59- yjftsjthsd-h
来自 https://orib.dev/gefs.pdf -
> 虽然快照一致性对于保持数据一致很有用,但磁盘往往会随着时间推移而损坏。为了检测损坏,块指针包含其所指向数据的哈希值。如果底层存储介质返回了损坏的数据,可以通过块哈希检测到这一点。如果程序员错误导致文件系统向磁盘写入垃圾数据,通常也能尽早发现。损坏会被报告出来,受损数据随后可以从备份、RAID 恢复或其他途径中找回。
好吧!它拥有 CoW、快照和数据校验和。因此,它足以与 ZFS 竞争,同时体积更小且采用宽松许可。现在我只希望它能移植到 Linux 和其他 BSD 系统上:)。
- g0xA52A2A
对于那些感兴趣的人,EuroBSDCon 最近有一次关于此主题的演讲。
- limagnolia
我一直很好奇,为什么来自 DragonFlyBSD 的 HAMMER2 没有受到其他操作系统的更多关注?
- tiffanyh
完全尊重作者的工作,但就我个人而言——我更感兴趣的是 Hammer2(来自 Dragonfly BSD)能来到 OpenBSD。
- moody__
我一直关注(并协助测试)9front 上的 gefs 已经有一段时间了。9front 的夜间构建器已经基于它运行了很久。Ori 做得非常出色。