aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Matuska <mm@FreeBSD.org>2026-02-04 00:14:25 +0000
committerMartin Matuska <mm@FreeBSD.org>2026-02-04 00:15:54 +0000
commitefcd8ec1aa5fadcdff1c395484b21b847ede0b19 (patch)
tree41c5231504faefc7f3fd3ce9befff44026c9387b
parentb60027b5938285de047c0d1a6616db2a6b2251d7 (diff)
filesystems/openzfs: unbreak compilation on head
Unbreak build on FreeBSD 16 by adding nvpair.c patch from upstream Source: https://github.com/openzfs/zfs/pull/18154
-rw-r--r--filesystems/openzfs/Makefile1
-rw-r--r--filesystems/openzfs/files/patch-cmd_zfs_zfs__main.c6
-rw-r--r--filesystems/openzfs/files/patch-module_nvpair_nvpair.c30
3 files changed, 34 insertions, 3 deletions
diff --git a/filesystems/openzfs/Makefile b/filesystems/openzfs/Makefile
index 0e37ec1de063..f0ff998915bd 100644
--- a/filesystems/openzfs/Makefile
+++ b/filesystems/openzfs/Makefile
@@ -1,5 +1,6 @@
PORTNAME= openzfs
PORTVERSION= 2.4.0
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= filesystems sysutils
MASTER_SITES= https://github.com/openzfs/zfs/releases/download/zfs-${PORTVERSION}/
diff --git a/filesystems/openzfs/files/patch-cmd_zfs_zfs__main.c b/filesystems/openzfs/files/patch-cmd_zfs_zfs__main.c
index c0028d254a4d..3a0537b2c44a 100644
--- a/filesystems/openzfs/files/patch-cmd_zfs_zfs__main.c
+++ b/filesystems/openzfs/files/patch-cmd_zfs_zfs__main.c
@@ -1,6 +1,6 @@
---- cmd/zfs/zfs_main.c.orig 2025-12-18 18:41:34.311311571 +0100
-+++ cmd/zfs/zfs_main.c 2025-12-29 11:32:45.050147000 +0100
-@@ -6884,17 +6884,28 @@
+--- cmd/zfs/zfs_main.c.orig 2025-12-18 17:41:34 UTC
++++ cmd/zfs/zfs_main.c
+@@ -6884,17 +6884,28 @@ print_holds(boolean_t scripted, int nwidth, int tagwid
if (scripted) {
if (parsable) {
diff --git a/filesystems/openzfs/files/patch-module_nvpair_nvpair.c b/filesystems/openzfs/files/patch-module_nvpair_nvpair.c
new file mode 100644
index 000000000000..aa86845fe14a
--- /dev/null
+++ b/filesystems/openzfs/files/patch-module_nvpair_nvpair.c
@@ -0,0 +1,30 @@
+--- module/nvpair/nvpair.c.orig 2025-12-18 18:01:01 UTC
++++ module/nvpair/nvpair.c
+@@ -3246,7 +3246,8 @@ nvs_xdr_nvl_fini(nvstream_t *nvs)
+ * xdrproc_t-compatible callbacks for xdr_array()
+ */
+
+-#if defined(_KERNEL) && defined(__linux__) /* Linux kernel */
++#if (defined(__FreeBSD_version) && __FreeBSD_version >= 1600010) || \
++ defined(_KERNEL) && defined(__linux__) /* Linux kernel */
+
+ #define NVS_BUILD_XDRPROC_T(type) \
+ static bool_t \
+@@ -3255,7 +3256,7 @@ nvs_xdr_nvp_##type(XDR *xdrs, void *ptr) \
+ return (xdr_##type(xdrs, ptr)); \
+ }
+
+-#elif !defined(_KERNEL) && defined(XDR_CONTROL) /* tirpc */
++#elif !defined(_KERNEL) && defined(XDR_CONTROL) /* tirpc, FreeBSD < 16 */
+
+ #define NVS_BUILD_XDRPROC_T(type) \
+ static bool_t \
+@@ -3271,7 +3272,7 @@ nvs_xdr_nvp_##type(XDR *xdrs, ...) \
+ return (xdr_##type(xdrs, ptr)); \
+ }
+
+-#else /* FreeBSD, sunrpc */
++#else /* FreeBSD kernel < 16, sunrpc */
+
+ #define NVS_BUILD_XDRPROC_T(type) \
+ static bool_t \