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

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.