GEFS on OpenBSD: A Early Preview

marc.info

76 points by sippingabonedry 4 hours ago


yjftsjthsd-h - 3 hours ago

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 - 3 hours ago

There was a recent presentation on this at EuroBSDCon for those interested.

https://events.eurobsdcon.org/2026/talk/NVMSCJ/

https://exquisite.tube/w/3QQimMdswWJxrsPaJtak2u

dchest - 3 hours ago

Talk at EuroBSDCon 2026: https://exquisite.tube/w/3QQimMdswWJxrsPaJtak2u

ThePowerOfFuet - 4 minutes ago

>Error handling is largely commented out.

First we do the first 90%, and then we do the last 90%.

moody__ - 3 hours ago

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.

sippingabonedry - 4 hours ago

GEFS: A Good Enough File System https://orib.dev/gefs.pdf

fn-mote - 3 hours ago

Is there any chance of proving a filesystem is correct?

Is this one simple enough that it won’t have bugs??

Given the issues with well-known filesystems like ZFS and BetterFS, why shouldn’t I expect data-losing bugs in this one?

calvinmorrison - 2 hours ago

I have been running GEFS for a number of days and it hasnt crashed

248 ├gefs [ctl.1]

249 ├gefs [mutate.2]

250 ├gefs [sweep.3]

251 ├gefs [tasks.-1]

252 ├gefs [readio.4]

253 ├gefs [syncio.5]

254 ├gefs [srvio.-1]

255 ├gefs [stdio.-1]

up 13 days, 15:34:25

send it to production!!

geoffbp - 3 hours ago

> The git repo is hidden on shithub

Heh :)

doublepg23 - 3 hours ago

This is great timing considering I'm currently dealing with FFS corruption after my OpenBSD server lost power during a storm.

BoingBoomTschak - 2 hours ago

What a wonderful surprise! The nearest thing seem to be modern (v5) XFS + dm-integrity, I'll have to see a comparison once it's stable enough.

A thing ZFS suffers from is fragmentation (no way to defragment in-place nor preallocate so stuff like bittorrent doesn't play well with it), which it justifies with its CoW design, wonder if/how it mitigates the problem.

metalforever - 3 hours ago

Finally . Very good work team !

anthk - 3 hours ago

Ori B. it's a great programmer, he fixed a small bug on the earlier GeFS on 9front versions in no time. It worked fine in my n270 based Atom netbook under 9front, so it will run perfectly well under OpenBSD in a near future.

It isn't as resource heavy as ZFS, and it will be more reliable than FFS, for sure.