ports/filesystems/py-libzfs/files/extra-zpool-add.patch
Robert Clausecker 6e2da9672f filesystems: add new category for file systems and related utilities
The filesystems category houses file systems and file system utilities.
It is added mainly to turn the sysutils/fusefs-* pseudo-category into
a proper one, but is also useful for the sundry of other file systems
related ports found in the tree.

Ports that seem like they belong there are moved to the new category.
Two ports, sysutils/fusefs-funionfs and sysutils/fusefs-fusepak are
not moved as they currently don't fetch and don't have TIMESTAMP set
in their distinfo, but that is required to be able to push a rename
of the port by the pre-receive hook.

Approved by:	portmgr (rene)
Reviewed by:	mat
Pull Request:	https://github.com/freebsd/freebsd-ports/pull/302
PR:		281988
2024-11-06 16:17:35 +01:00

44 lines
1.7 KiB
Diff

From b5ffe1f1d6097df6e2f5cc6dd3c968872ec60804 Mon Sep 17 00:00:00 2001
From: Ameer Hamza <ahamza@ixsystems.com>
Date: Tue, 2 Apr 2024 23:56:55 +0500
Subject: [PATCH] zpool_add API changed in upstream zfs master
---
libzfs.pyx | 5 +++--
pxd/libzfs.pxd | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/libzfs.pyx b/libzfs.pyx
index a59fca8..71efa96 100644
--- a/libzfs.pyx
+++ ./libzfs.pyx
@@ -3175,13 +3175,14 @@ cdef class ZFSPool(object):
hopts = self.root.generate_history_opts(fsopts, '-o')
self.root.write_history('zfs create', hopts, name)
- def attach_vdevs(self, vdevs_tree):
+ def attach_vdevs(self, vdevs_tree, check_ashift=0):
cdef const char *command = 'zpool add'
cdef ZFSVdev vd = self.root.make_vdev_tree(vdevs_tree, {'ashift': self.properties['ashift'].parsed})
cdef int ret
+ cdef boolean_t ashift = check_ashift
with nogil:
- ret = libzfs.zpool_add(self.handle, vd.nvlist.handle)
+ ret = libzfs.zpool_add(self.handle, vd.nvlist.handle, ashift)
if ret != 0:
raise self.root.get_error()
diff --git a/pxd/libzfs.pxd b/pxd/libzfs.pxd
index 3ab9374..6afa275 100644
--- a/pxd/libzfs.pxd
+++ ./pxd/libzfs.pxd
@@ -228,7 +228,7 @@ cdef extern from "libzfs.h" nogil:
extern int zpool_create(libzfs_handle_t *, const char *, nvpair.nvlist_t *,
nvpair.nvlist_t *, nvpair.nvlist_t *)
extern int zpool_destroy(zpool_handle_t *, const char *)
- extern int zpool_add(zpool_handle_t *, nvpair.nvlist_t *)
+ extern int zpool_add(zpool_handle_t *, nvpair.nvlist_t *, boolean_t)
IF HAVE_ZPOOL_SCAN == 3:
extern int zpool_scan(zpool_handle_t *, zfs.pool_scan_func_t, zfs.pool_scrub_cmd_t)