Top stories

Live mirror
30 storiesupdated 0s agoView source snapshot
  1. Introducing System One Models and Jev(typesafe.ai ↗)
    148comments
  2. Show HN: An e-ink frame that hears birds and draws them as 1800s illustrations(github.com/arnegiacomo ↗)
    155comments
  3. An Update on Wayback Machine Access(blog.archive.org ↗)
    131comments
  4. Jean-Pierre Serre is 100 years old today(st-andrews.ac.uk ↗)
    2comments
  5. German Rheinmetall open-sources its Battlesuite connected weapon system protcol(rheinmetall.github.io ↗)
    3comments
  6. Gemini 3.8 Live and 3.8 Live Extended Thinking(blog.google ↗)
    124comments
  7. We got admin access to Baseten's production GitHub in 25 minutes(strix.ai ↗)
    66comments
  8. Chopping up books when they're physically too big(mattkirkland.com ↗)
    58comments
  9. WangNet – 1.8 MB, zero-dependency Numberwang adjudication in 11 languages(github.com/graafhenk ↗)
    19comments
  10. Building a Linux GPU Driver for the M4 Mac Mini in One Month(codyho.dev ↗)
    7comments
  11. Show HN: Capsule – Single-file web apps that save their data into SQLite(withcapsule.app ↗)
    110comments
  12. I can't stop thinking about Papua New Guinea(notnottalmud.substack.com ↗)
    387comments
  13. Vibe Coding is the new Internet Dating?(joecmarshall.com ↗)
    8comments
  14. GEFS on OpenBSD: A Early Preview(marc.info ↗)
    43comments
  15. Jiga (YC W21) Is Hiring Product Engineer (Remote/US)(jiga.io ↗)
    discuss
  16. The CSS Zen Garden dream, finally shipped(josprague.com ↗)
    46comments
  17. Suspected sabotage causes major Netherlands rail disruption(bbc.com ↗)
    372comments
  18. Let's make quality the norm again(forbrukerradet.no ↗)
    264comments
  19. Cartesian – AI 3D Modeling for Design(formas.ai ↗)
    62comments
  20. Show HN: Hacking a $20 4G wireless hotspot into a texting device(bkovac.github.io ↗)
    29comments
  21. The Inference Hardware Revolution of 2026(ieee.org ↗)
    7comments
  22. How much oil-market buffer is left?(depletion.org ↗)
    95comments
  23. A single firm is behind OpenAI, Anthropic, and Meta hacking scandals(effort.news ↗)
    125comments
  24. Most people prefer traditional architecture(worksinprogress.news ↗)
    170comments
  25. Java 27(openjdk.org ↗)
    260comments
  26. The Two MMLU Scores: What a Benchmark Name Does Not Fix(zatona.dev ↗)
    discuss
  27. US confirms for first time it has deployed space weapons(bbc.com ↗)
    282comments
  28. America's Driver's License Breach Is a National Security Disaster(lawfaremedia.org ↗)
    128comments
  29. 25 years of mass surveillance is enough(schneier.com ↗)
    253comments
  30. Paul A. M. Dirac, Interview by Friedrich Hund (1982) [video](youtube.com ↗)
    6comments

GEFS on OpenBSD: A Early Preview

82 pointsby 4h agomarc.info
43 comments
3h agoHN ↗

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

3h agoHN ↗

Are you sure it's not just a dodgy SSD that simply failed to persist data when losing power mid-write? I've had my share of sudden power cuts upon OpenBSD during the past 20+ years, and FFS has so far never gone corrupt on me.

2h agoHN ↗

I do not believe so?

Drive is a 2TB Intel 670p NVMe SSD (INTEL SSDPEKNU020TZ) with 9078 power on hours and 42TBW - so pretty spry, but not at the start of the bathtub curve either.

It was mounted as fast storage for a Bitcoin node.

Perhaps the only 'unique' thing is it is using a NVMe to PCIe adapter card (Synology M2D20) due to this being my "legacy" server that's still rocking a Broadwell chip.

46m agoHN ↗

I've seen file corruption with FFS on some of my OpenBSD servers, though them being VMs is likely a factor there.

23m agoHN ↗

FFS corrupted multiple times on me, with intel video driver freezing on OpenBSD. My short OpenBSD sidetrack ended after reliably corrupting itself the third time... every time video driver panicking, leaving a corrupted filesystem after reboot, when I had eg. ports install going on during panic.

Windows ran fine on the machine (Lenovo 200) before, and Linux ran fine after. FFS (and the intel video drivers) are the weakest part of OpenBSD in my experience, I liked many other aspects.

3h agoHN ↗

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.

3h agoHN ↗

The git repo is hidden on shithub

Heh :)

24m agoHN ↗

Indeed. If that URL is too crude then one may also use only9fans.com.

3h agoHN ↗

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.

3h agoHN ↗

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:)

3h agoHN ↗

I don't think it will compete with ZFS or BTRFS (e.g. I don't think ppl will use GEFS over ZFS or BTRFS for a storage server), but it's a modern, much needed FFS replacement.

2h agoHN ↗

Who said anything about storage servers? I'm using zfs on laptops and desktops right now because I want data checksums and a filesystem that doesn't have a history of breaking horribly (I dropped btrfs after the second time it hosed my rootfs). Given the license issue with zfs - and in particular, the technical fallout like needing dkms - I'd be very pleased to replace it.

2h agoHN ↗

I dropped btrfs after the second time it hosed my rootfs

btrfs fans use the "you're using it wrong" excuse a lot.

I recall a failure mode that activated when you fill the FS to 100% and their response was "you should never fill a filesystem to capacity"

1h agoHN ↗

Otoh, good luck bringing a CoW filesystem back from 100%. Delete a file? Sure, let me just make a copy of all the metadata that was pointing at it using... the zero blocks I have left.

Tradeoffs are a bitch, bitch.

1h agoHN ↗

Which is why ZFS reserves "slop space" to make sure that doesn't happen, instead of defaulting to making it easy for users to corner themselves like that.

1h agoHN ↗

I have been hearing noise recently that btrfs is risky and unstable but (knocks on wood) i've been running it for years now with zero issues. What am I missing?

1h agoHN ↗

Failures in storage software are very rare. Which makes it very hard to test... (you need to run it a lot, for a very long time if you hope to find errors by chance).

Also, some failure modes are worse than others. The failures known as DI (data integrity) are the worst. Even though they aren't expected to happen to everyone at a certain frequency (because, again, mature storage software is comparatively very reliable), even a single DI error that happened to any user sets up a major alarm.

In the storage industry, the running joke is that after first DI in your product you lose funding, after the second DI you loose the product.

And it did happen to Btrfs quite a bit... I've seen it with my own eyes when a system didn't come back after power failure. (But I'm in the business of testing software storage products, so, it's less surprising that it happened to me).

So... it's perfectly plausible that you have never seen Btrfs fail, and it's been more error prone than eg. EXT4. The error rate is low enough so that if you don't actively try to cause the error you will never experience one. But, over a large group of diverse use patterns, the rate is still worse than expected.

53m agoHN ↗

btrfs is almost 20 years old now, so lots of people only used it back when it was newer and far buggier.

In my experience, btrfs is actually more reliable than other filesystems due to its checksumming abilities, but when it does fail, it's much harder to fix than with other filesystems (which will often try to continue on even when stuff is broken).

1h agoHN ↗

Who said anything about storage servers?

I did.

I'm using zfs [...]

ZFS is primarily used on single-storage appliances.

2h agoHN ↗

I've always wondered about similar designs: Doesn't calculating a hash of every block, on every read and every write, create lots of overhead? Why isn't that a problem?

Some systems have dedicated crypto co-processors for confidentiality (encryption) - e.g., I think drives with FDE, and I think Apple Silicon SoCs might have them. Can those be repurposed for hash calculation? What about systems that lack them?

2h agoHN ↗

Both ZFS and modern btrfs support a large set of checksums.

Both implement sha256, which does impose a heavy speed penalty.

ZFS allows you to adjust the checksum on the fly, using something faster (Fletcher) if desired.

In btrfs, a global checksum is set at filesystem creation; xxhash is the best modern option.

There is a website: https://xxhash.com

Deduplication adds concerns for a strong hash free of collisions.

45m agoHN ↗

Fletcher has been the default for quite some time.

2h agoHN ↗

Yes, it adds some overhead, but it's fine IME. Granted, it helps that compression can significantly speed up performance. (I was very confused the first time I saw ZFS reading data faster than its drives were physically capable of, because it turned out the CPU could decompress faster than the drives could read)

1h agoHN ↗

Programs like filesystems typically have their own schedulers that aggregate writes, it would be an extreme performance hit if they wrote each checksum individually, as a separate I/O operation. They are certainly bundled with some other data that needs to be written.

And if you are concerned about the compute rather than storage, then writing to a block device is still slow enough so that computing a checksum isn't important performance-wise.

49m agoHN ↗

It's got CoW, snapshots, and data checksums. Therefore, it's good enough to compete with ZFS while being way smaller and permissively licensed.

Does it have a built-in RAID layer? Because if it doesn't, then it can't compete with ZFS in many use cases. For example, what does "data may then be recovered from […] RAID restoration" mean?

With ZFS, if you have a (e.g.) mirrored/RAID-1 configuration, and you fetch some data from one drive and the checksum is wrong, ZFS can check the other drive, and if that checksum is good it can (a) pass the good data up, and (b) use the good data to fix the bad data. Most mirroring systems can't do that both-drives checking: ZFS is self-healing.

(This isn't to say that GEFS won't be useful in many other situations.)

3h agoHN ↗

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?

3h agoHN ↗

I think the premise is basically yes, you should assume there will be data-losing bugs, but:

1. The filesystem should be reasonably good at detecting an error/corruption state and informing you, and

2. You should have backups of said data stored elsewhere, and backups should be tested (e.g. to verify that data can be read back)

3h agoHN ↗

What well known data-losing bugs are there in zfs? It can be slow, and resource hungry, but afaik it's about as safe as they come (and I've been using it in prod since solaris 10)

3h agoHN ↗

There was a long-running data corruption issue with non-raw sends that was finally found and patched in 2025: https://github.com/openzfs/openzfs-docs/issues/494. But I agree, it's about as safe as they come. I trust it far more than any other file system, in large part due to all its built-in redundancy and the way it makes backups trivial (encrypted sends <3)...

3h agoHN ↗

I never dug into the failure, but I once had a ZFS get to a state where it would crash the kernel on mount, I was able to mount it with checks turned off an recover what was important, but it was a spooky experience. I live on the bleeding edge of file systems for my desktop, I was on reiser4 back when that was fresh, I daily drive bcachefs (it's been great!) Mostly I've been lucky, I don't usually keep an openbsd system around, but I love FreeBSD and I'll give OpenBSD a try with GEFS for sure!

2h agoHN ↗

Its native encryption has something of a poor history

3h agoHN ↗

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!!

3h agoHN ↗

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.

2h agoHN ↗

If we're looking at 'future' filesystems, is fragmentation really an issue in an SSD world? Not that there isn't a lot of spinning rust (and will be for quite a while), I don't think it's unreasonable to assume "most block storage is going to be SSD in the future" when allocating resources to priorities.

1h agoHN ↗

The day I can furnish my NAS in SSDs for roughly the same price as HDDs probably won't come before any current filesystem is obsoleted for some reason or another, methinks.

46m agoHN ↗

Error handling is largely commented out.

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