On Wed, Jun 19, 2024 at 06:34:24PM +0100, David Chisnall wrote:
> Hi all,
> 
> I have some code using libzfs_core that works fine on 13, but seems not to on 
> 15-CURRENT.  The lzc_snapshot function is failing with exactly the same nv 
> list argument.  It is failing with errno 2 (ENOENT) from the ZFS ioctl (and 
> not returning an nvlist of errors).
> 
> My understanding is that the zfs command-line tool wraps libzfs_core and so 
> it must be working somehow.  Has anything changed in between 13 and 14 that 
> would be expected to cause incompatibilities?  The fact that we don’t install 
> usable headers for these libraries makes it quite difficult to be sure that I 
> haven’t done anything wrong, but stepping through the libzfs_core bits in a 
> debugger, everything looks correct up to the ioctl call.

I have a little wrapper around libzfs{,_core}:
https://git.hardenedbsd.org/shawn.webb/liblattzfs

It kinda sucks, but fills a need. We imported that into HardenedBSD
base.

We don't link against libzfs_core, but we do reference a header:
https://git.hardenedbsd.org/shawn.webb/liblattzfs/-/blob/main/src/liblattzfs.c?ref_type=heads#L40

liblattzfs mainly serves to get the status of a pool. We use it in
another utility, hbsdmon:
https://git.hardenedbsd.org/hardenedbsd/hbsdmon

hbsdmon is a simple HardenedBSD system monitoring tool. It can monitor
a ZFS pool, sending a Pushover message if the pool is unhealthy:
https://git.hardenedbsd.org/hardenedbsd/hbsdmon/-/blob/master/usr.bin/hbsdmon/zfs.c?ref_type=heads

So to answer your question of whether there are any libzfs_core
consumers: yes, but only the C headers. My use case seems quite
different than yours, so the information presented in this email might
not be applicable.

Thanks,

-- 
Shawn Webb
Cofounder / Security Engineer
HardenedBSD

Tor-ified Signal: +1 303-901-1600 / shawn_webb_opsec.50
https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc

Attachment: signature.asc
Description: PGP signature

Reply via email to