GEFS, a crash-safe copy-on-write file system, arrives on OpenBSD as a buggy preview
GEFS on OpenBSD: A Early Preview
Ori Bernstein has released a very early, buggy preview of GEFS, his crash-safe, snapshotting, copy-on-write file system, on OpenBSD. The port is not ready for production and data loss is expected, especially on error. The biggest remaining issues include an uncertain consistency protocol, error handling that is largely commented out, missing userspace tools, and POSIX quirks. The kernel code is under 9,000 lines, and the goal is to keep the data structures in sync with the original 9front version.
The port is NOT ready for production, and data loss is currently expected, especially on error.
- yjftsjthsd-h
From https://orib.dev/gefs.pdf -
> While snapshot consistency is useful to keep data consistent, disks often fail over
time. In order to detect corruption, block pointers contain a hash of the data that they
point at. If corrupted data is returned by the underlying storage medium, this is
detected via block hashes. And if a programmer error causes the file system to write
garbage to disk, this can often be caught early. The corruption is reported, and the
damaged data may then be recovered from backups, RAID restoration, or some other
means.
Okay! It's got CoW, snapshots, and data checksums. Therefore, it's good enough to compete with ZFS while being way smaller and permissively licensed. Now I just want it ported to Linux and the other BSDs:)
- g0xA52A2A
There was a recent presentation on this at EuroBSDCon for those interested.
- limagnolia
I've always wondered why HAMMER2 from DragonFlyBSD hasn't gotten more attention from other OSes?
- moody__
I've been following (and helping test) gefs on 9front for a while now. 9front's nightly builder has been running off of it for quite a while. Ori's done a fantastic job.
- throw0101a
From NYC*BUG† May 2023, "GEFS, A Good Enough File System" By Ori Bernstein:
* https://www.youtube.com/watch?v=juFndFy72gI
September 2026 EuroBSDCon presentation from Sunday:
* https://www.youtube.com/watch?v=yPoU4QEv_u8&t=49m43s
† BSD User Group