Here's me rambling about libzfs and libzfs_core, the weird libraries that power the #OpenZFS CLI tools and very little else. Along the way, we look at some of the other inadequate OpenZFS programming options that exist, the chats we've had about them the OpenZFS Production User Calls and the very first steps I'm taking to try and make sense of this whole mess.

With thanks to @bsdfund. Turns out that if you buy me some snacks I'll write whatever you want! 🤑

https://despairlabs.com/blog/posts/2025-03-12-we-should-improve-libzfs-somewhat/

We should improve libzfs somewhat

OpenZFS has some extremely nice tools and you can do a lot with them, but they start to struggle once you need to do more complicated things with your storage, or scale your OpenZFS installation out to tens or hundreds of pools, or use it as a component of a larger product. That’s usually when people turn up looking for better ways to “program” OpenZFS, and it’s usually not long before they’re disappointed, horrified or both.

despair labs
@robn @bsdfund Maybe the right abstraction level is about tasks people expect to be able to do via the api?
@firstyear @bsdfund strong agree. It's part of why I'm moving so slowly, because I really want some clear use cases and/or an enthusiastic application developer to drive it. we're working on that, but until then, I'm loathe to go much further than getting the existing stuff easier to experiment with
@robn @bsdfund There are some obvious ones - list snapshots, all datasets, pools etc. id say recursive snap create and delete too. Judging based on what I used when hacking up a send recv automation.
Creating and renaming datasets would be useful from a kanidm point of view as weve been asked to have zfs integration to make and rename home dirs
@robn @bsdfund
A long time ago in a galaxy that now seems far, far, away, a colleague had thoughts on what an API might look like ( https://youtu.be/hGTjxSypEKU?si=2d7ApgF8TplfRPvm) motivated by a user-space ZFS thing we were doing.
Also, do I get a necromancer badge for resurrecting a post this old 😜
Second March 2020 OpenZFS Leadership Meeting

YouTube