Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .kres.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ spec:
- mellanox-mstflint-pkg
- nvidia-open-gpu-kernel-modules-lts-pkg
- nvidia-open-gpu-kernel-modules-production-pkg
- px-fuse-pkg
- tenstorrent-pkg
- xdma-driver-pkg
- zfs-pkg
Expand Down
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
#
# Generated on 2025-12-31T09:52:12Z by kres 8a4aebf.
# Generated on 2026-01-23T13:35:39Z by kres 1ffefb6.

# common variables

Expand Down Expand Up @@ -113,6 +113,7 @@ TARGETS += hailort-pkg
TARGETS += mellanox-mstflint-pkg
TARGETS += nvidia-open-gpu-kernel-modules-lts-pkg
TARGETS += nvidia-open-gpu-kernel-modules-production-pkg
TARGETS += px-fuse-pkg
TARGETS += tenstorrent-pkg
TARGETS += xdma-driver-pkg
TARGETS += zfs-pkg
Expand Down
5 changes: 5 additions & 0 deletions Pkgfile
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,11 @@ vars:
pigz_sha256: eb872b4f0e1f0ebe59c9f7bd8c506c4204893ba6a8492de31df416f0d5170fd0
pigz_sha512: ae3d9d593e1645d65f9ab77aa828600c9af4bb30d0a073da7ae3dd805e65b87efaf6a0efb980f2d0168e475ae506eba194547d6479956dabb9d88293a9078a7f

# renovate: datasource=git-refs versioning=git depName=https://github.com/portworx/px-fuse.git
px_fuse_ref: 1f67ff84c8a5b90fe3eef7ad0a212d06637e3ba5
px_fuse_sha256: 6010f481e102b7ec4ec0564fa45c8f6153aeac75c16f3fa158de06966dbea3ef
px_fuse_sha512: 4a46253025ae01e305b509e3d108f640ccc9b757020e2a985ecea23f5ced3663e05ae11f38c1036b3004e47e903e5bbc2026289e3fc3e1c5e44648b2fd21f8d6

# renovate: datasource=git-tags depName=https://gitlab.gnome.org/GNOME/glib.git
glib_version: 2.87.2
glib_sha256: d6eb74a4f4ffc0b56df79ae3a939463b1d92c623f6c167d51aab24e303a851f3
Expand Down
44 changes: 44 additions & 0 deletions px-fuse/patches/idr.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
--- a/pxd.c 2025-12-01 16:09:31.000000000 +0000
+++ b/pxd.c 2026-01-23 14:55:53.110206851 +0000
@@ -1549,9 +1549,11 @@
spin_lock_init(&pxd_dev->lock);
spin_lock_init(&pxd_dev->qlock);

- new_minor = ida_simple_get(&pxd_minor_ida,
- 1, 1 << MINORBITS,
- GFP_KERNEL);
+ new_minor = ida_alloc_range(&pxd_minor_ida,
+ 1,
+ (1 << MINORBITS) - 1,
+ GFP_KERNEL);
+
if (new_minor < 0) {
err = new_minor;
goto out_module;
@@ -1623,7 +1625,7 @@
out_fp:
pxd_fastpath_cleanup(pxd_dev);
out_id:
- ida_simple_remove(&pxd_minor_ida, new_minor);
+ ida_free(&pxd_minor_ida, new_minor);
out_module:
if (pxd_dev)
kfree(pxd_dev);
@@ -1693,7 +1695,7 @@
list_del(&pxd_dev->node);
--ctx->num_devices;
pxd_dev->exported = false;
- ida_simple_remove(&pxd_minor_ida, pxd_dev->minor);
+ ida_free(&pxd_minor_ida, pxd_dev->minor);
spin_unlock(&pxd_dev->lock);
spin_unlock(&ctx->lock);
kfree(pxd_dev);
@@ -2551,7 +2553,7 @@
struct pxd_device *pxd_dev = dev_to_pxd_dev(dev);

pxd_free_disk(pxd_dev);
- ida_simple_remove(&pxd_minor_ida, pxd_dev->minor);
+ ida_free(&pxd_minor_ida, pxd_dev->minor);
pxd_mem_printk("freeing dev %llu pxd device %px\n", pxd_dev->dev_id, pxd_dev);
pxd_dev->magic = PXD_POISON;
kfree(pxd_dev);
42 changes: 42 additions & 0 deletions px-fuse/pkg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: px-fuse-pkg
variant: scratch
shell: /bin/bash
dependencies:
- stage: base
- stage: kernel-build
steps:
- sources:
- url: https://github.com/portworx/px-fuse/archive/{{ .px_fuse_ref }}.tar.gz
destination: px-fuse.tar.gz
sha256: "{{ .px_fuse_sha256 }}"
sha512: "{{ .px_fuse_sha512 }}"
env:
ARCH: {{ if eq .ARCH "aarch64"}}arm64{{ else if eq .ARCH "x86_64" }}x86_64{{ else }}unsupported{{ end }}
prepare:
- |
tar xf px-fuse.tar.gz --strip-components=1
- |
patch -p1 < /pkg/patches/idr.patch
- |
autoreconf
./configure
build:
- |
make -j $(nproc) KERNELPATH=/src
install:
- |
mkdir -p /rootfs/usr/lib/modules/$(cat /src/include/config/kernel.release)/
cp /src/modules.order /rootfs/usr/lib/modules/$(cat /src/include/config/kernel.release)/
cp /src/modules.builtin /rootfs/usr/lib/modules/$(cat /src/include/config/kernel.release)/
cp /src/modules.builtin.modinfo /rootfs/usr/lib/modules/$(cat /src/include/config/kernel.release)/

make -C /src M=$(pwd) modules_install INSTALL_MOD_PATH=/rootfs/usr INSTALL_MOD_DIR=extras INSTALL_MOD_STRIP=1
test:
- |
# https://www.kernel.org/doc/html/v4.15/admin-guide/module-signing.html#signed-modules-and-stripping
find /rootfs/usr/lib/modules -name '*.ko' -exec grep -FL '~Module signature appended~' {} \+
- |
fhs-validator /rootfs
finalize:
- from: /rootfs
to: /