← Tue, Sep 15 digest

GEFS on OpenBSD: A Early Preview

read article ↗ hn thread ↗

summary

GEFS is a crash-safe, copy-on-write file system originally developed for 9front that is being ported to OpenBSD. While the current version is an unstable preview that risks data loss, the core architecture is largely functional. The developer intends to keep the codebase similar to the 9front version to simplify bug fixes across platforms without using a heavy abstraction layer.

key points

  1. The porting process involves copying and pasting code to maintain similarity between platforms while avoiding the complex overhead of an abstraction layer.
  2. Major remaining challenges include refining the consistency protocol for superblock writes, implementing POSIX compliance, and creating native OpenBSD userspace tools for filesystem management.
  3. Essential missing features like hardlinks, kqueue support, and bootloader integration are planned for future development alongside a more robust test suite for OpenBSD.

who should read it

OpenBSD developers and kernel engineers interested in experimental file systems and the process of porting software between different operating systems.

discussion positive

consensus

Commenters generally view GEFS as a promising, lightweight alternative to complex filesystems, though most agree it cannot compete with ZFS's self-healing capabilities without a built-in RAID layer. There is a strong shared dislike for Btrfs due to perceived instability and data integrity issues, while ZFS is respected for reliability despite licensing hurdles. The overall sentiment is that while GEFS may not replace ZFS for storage servers, it is a welcome addition for users seeking a modern, permissively licensed filesystem with checksumming.

top insight

A key technical distinction is made between ZFS's 'self-healing' nature and GEFS's current state; ZFS can automatically repair corrupted data using redundant copies and checksums, whereas GEFS only detects corruption and relies on the user or external RAID to recover data. This highlights the trade-off between a monolithic 'layer-violating' design like ZFS and a more modular approach where the filesystem and RAID layers are separate.

Generated by an LLM from the article and thread. Check the sources before relying on it.