Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Jun 2024 18:31:26 +0000
From:      Shawn Webb <shawn.webb@hardenedbsd.org>
To:        David Chisnall <theraven@freebsd.org>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: Is anyone using libzfs_core on 15-CURRENT?
Message-ID:  <luthdqzdmaqxpicmrm2sto5wl2nuu4pmlw7zkcoch4foz66vej@5p4ar5ufht3i>
In-Reply-To: <FDAB0752-6D63-4A69-9162-5ACCE90BDACA@FreeBSD.org>
References:  <FDAB0752-6D63-4A69-9162-5ACCE90BDACA@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--t5vldg4ugcahddvt
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Jun 19, 2024 at 06:34:24PM +0100, David Chisnall wrote:
> Hi all,
>=20
> I have some code using libzfs_core that works fine on 13, but seems not t=
o on 15-CURRENT.  The lzc_snapshot function is failing with exactly the sam=
e nv list argument.  It is failing with errno 2 (ENOENT) from the ZFS ioctl=
 (and not returning an nvlist of errors).
>=20
> 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 t=
hat would be expected to cause incompatibilities?  The fact that we don=E2=
=80=99t install usable headers for these libraries makes it quite difficult=
 to be sure that I haven=E2=80=99t done anything wrong, but stepping throug=
h the libzfs_core bits in a debugger, everything looks correct up to the io=
ctl 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/liblattzf=
s.c?ref_type=3Dheads#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/hbsdm=
on/zfs.c?ref_type=3Dheads

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,

--=20
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/03A=
4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc

--t5vldg4ugcahddvt
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAmZzI/cACgkQ/y5nonf4
4frZmQ//TgOOpBGjWmKyYeUs/1IdbtLoDZzzbhZKZtNgcNTxoA6DxuYTFX+dS9nD
aSf4sSteJIoUe3YsqrsKAP56Le13dc1/1AtZcnaStlS+Ie2MixW4nJAWaD7YnDtd
qL3s/skjC/0H/mM9iaNtLww7i6Sttt9zqhHJDfRY0NmAPyMX9VIS3V+H4+d6QbLL
Roij0feXNTxYE7cLlKtdKm8G/P2MRhwjBdf1Eivi0okYXzsH/wIQn7vWDgA1p7qV
dlfPq4W5AnVMw6lupVhcVH0t9exx09Rqn3CLBhWaz1dsHViTf9owCqSyp3LvX5cD
RES2zzSnxEmfU6W9dW01ZfbxD/A3QbXo5wWYZgEpJWRjsFJDUSpFGza85XXo0azP
je8wlasJL5UVz0/IiBomZg4tMmhHD8fE7effgJVFjKtEzVnOC3R/n9pD5DbHjui6
VUo3bRVpI6Cw6oXNgCk6E0x0PH9EAvk6lAUvV4javbM7tKGNaNhwkBMCBsU8TvlM
Uzvky1/nMYCmEkY2ujvUHVTahP3Hm35NohQkzVJlYpmsrNqthPB46EGuQoI0XbL0
LLwKu12V023cthCgqA8hz257K86gu/IWdP20DygrQIypLojuQU5XIR4+yQqK4GdU
Li9QnfyXKIs9ic5wzWCe6C+ELws6N+Fpm1fF3lCU0guPCybCf4E=
=Uw5m
-----END PGP SIGNATURE-----

--t5vldg4ugcahddvt--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?luthdqzdmaqxpicmrm2sto5wl2nuu4pmlw7zkcoch4foz66vej>