The scenic route to Userspace ZFS — and elsewhere
This presentation was given at OpenZFS User and Developer Summit 2026
Abstract
At last year’s summit, “Userspace ZFS” came up in multiple different contexts, which gave me plenty of opportunity to outline some of my hopes and dreams for a portable and modular OpenZFS that could be easily integrated into and extended by any host environment. As well as the classic “ZFS-FUSE”, we also talked about standalone applications such as backup receivers and web servers; alternate dataset types for object storage; embedding the OpenZFS core into other storage systems, testing and QA, and more.
Since then, I’ve been slowly and meticulously cleaning, refactoring, reorganising and extending OpenZFS in several directions, all looking towards a world where OpenZFS is easy to test, experiment with, embed, and port to other platforms. Come with me as we look at some of the things I’ve been working on this year, including removing unused code, APIs and functions; refactoring and documenting others; drawing clear lines between platform-specific code and the core; defining the SPL as the “host interface”; building a unit-testing framework and test suites for ZAPs, nvlists and more; lifting encryption, checksum and compression algorithms into a central registry; separating the control plane from ioctl-specific details; and beginning a port of OpenZFS to Haiku.
Resources
- Slides: web presenter (as presented, PDF coming soon)
- Video: coming soon
Links from the slides
- Unit tests:
- framework and tests: https://github.com/openzfs/zfs/tree/master/tests/unit
- µnit: https://nemequ.github.io/munit/
- kthread retool: https://github.com/openzfs/zfs/pull/19508
- wolfCrypt patch: https://github.com/wolfSSL/osp/tree/master/zfs
- zalgo (algorithm hub thinger): https://github.com/openzfs/zfs/pull/19129
- nvlist marshalling: https://github.com/robn/zfs/commits/nv-marshal/
Acknowledgements
Thanks to the OpenZFS Summit 2026 committee for inviting me to present this work, and to TrueNAS for their continued support of my work.