Skip to content

Commit da7ab57

Browse files
committed
feat: add px-fuse pkg
Add px-fuse pkg. Fixes: #1391 Signed-off-by: Noel Georgi <[email protected]>
1 parent 553e0fb commit da7ab57

File tree

5 files changed

+94
-1
lines changed

5 files changed

+94
-1
lines changed

.kres.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ spec:
7171
- mellanox-mstflint-pkg
7272
- nvidia-open-gpu-kernel-modules-lts-pkg
7373
- nvidia-open-gpu-kernel-modules-production-pkg
74+
- px-fuse-pkg
7475
- tenstorrent-pkg
7576
- xdma-driver-pkg
7677
- zfs-pkg

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
22
#
3-
# Generated on 2025-12-31T09:52:12Z by kres 8a4aebf.
3+
# Generated on 2026-01-23T13:35:39Z by kres 1ffefb6.
44

55
# common variables
66

@@ -113,6 +113,7 @@ TARGETS += hailort-pkg
113113
TARGETS += mellanox-mstflint-pkg
114114
TARGETS += nvidia-open-gpu-kernel-modules-lts-pkg
115115
TARGETS += nvidia-open-gpu-kernel-modules-production-pkg
116+
TARGETS += px-fuse-pkg
116117
TARGETS += tenstorrent-pkg
117118
TARGETS += xdma-driver-pkg
118119
TARGETS += zfs-pkg

Pkgfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,11 @@ vars:
232232
pigz_sha256: eb872b4f0e1f0ebe59c9f7bd8c506c4204893ba6a8492de31df416f0d5170fd0
233233
pigz_sha512: ae3d9d593e1645d65f9ab77aa828600c9af4bb30d0a073da7ae3dd805e65b87efaf6a0efb980f2d0168e475ae506eba194547d6479956dabb9d88293a9078a7f
234234

235+
# renovate: datasource=git-refs versioning=git depName=https://github.com/portworx/px-fuse.git
236+
px_fuse_ref: 1f67ff84c8a5b90fe3eef7ad0a212d06637e3ba5
237+
px_fuse_sha256: 6010f481e102b7ec4ec0564fa45c8f6153aeac75c16f3fa158de06966dbea3ef
238+
px_fuse_sha512: 4a46253025ae01e305b509e3d108f640ccc9b757020e2a985ecea23f5ced3663e05ae11f38c1036b3004e47e903e5bbc2026289e3fc3e1c5e44648b2fd21f8d6
239+
235240
# renovate: datasource=git-tags depName=https://gitlab.gnome.org/GNOME/glib.git
236241
glib_version: 2.87.2
237242
glib_sha256: d6eb74a4f4ffc0b56df79ae3a939463b1d92c623f6c167d51aab24e303a851f3

px-fuse/patches/idr.patch

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
--- a/pxd.c 2025-12-01 16:09:31.000000000 +0000
2+
+++ b/pxd.c 2026-01-23 14:55:53.110206851 +0000
3+
@@ -1549,9 +1549,11 @@
4+
spin_lock_init(&pxd_dev->lock);
5+
spin_lock_init(&pxd_dev->qlock);
6+
7+
- new_minor = ida_simple_get(&pxd_minor_ida,
8+
- 1, 1 << MINORBITS,
9+
- GFP_KERNEL);
10+
+ new_minor = ida_alloc_range(&pxd_minor_ida,
11+
+ 1,
12+
+ (1 << MINORBITS) - 1,
13+
+ GFP_KERNEL);
14+
+
15+
if (new_minor < 0) {
16+
err = new_minor;
17+
goto out_module;
18+
@@ -1623,7 +1625,7 @@
19+
out_fp:
20+
pxd_fastpath_cleanup(pxd_dev);
21+
out_id:
22+
- ida_simple_remove(&pxd_minor_ida, new_minor);
23+
+ ida_free(&pxd_minor_ida, new_minor);
24+
out_module:
25+
if (pxd_dev)
26+
kfree(pxd_dev);
27+
@@ -1693,7 +1695,7 @@
28+
list_del(&pxd_dev->node);
29+
--ctx->num_devices;
30+
pxd_dev->exported = false;
31+
- ida_simple_remove(&pxd_minor_ida, pxd_dev->minor);
32+
+ ida_free(&pxd_minor_ida, pxd_dev->minor);
33+
spin_unlock(&pxd_dev->lock);
34+
spin_unlock(&ctx->lock);
35+
kfree(pxd_dev);
36+
@@ -2551,7 +2553,7 @@
37+
struct pxd_device *pxd_dev = dev_to_pxd_dev(dev);
38+
39+
pxd_free_disk(pxd_dev);
40+
- ida_simple_remove(&pxd_minor_ida, pxd_dev->minor);
41+
+ ida_free(&pxd_minor_ida, pxd_dev->minor);
42+
pxd_mem_printk("freeing dev %llu pxd device %px\n", pxd_dev->dev_id, pxd_dev);
43+
pxd_dev->magic = PXD_POISON;
44+
kfree(pxd_dev);

px-fuse/pkg.yaml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: px-fuse-pkg
2+
variant: scratch
3+
shell: /bin/bash
4+
dependencies:
5+
- stage: base
6+
- stage: kernel-build
7+
steps:
8+
- sources:
9+
- url: https://github.com/portworx/px-fuse/archive/{{ .px_fuse_ref }}.tar.gz
10+
destination: px-fuse.tar.gz
11+
sha256: "{{ .px_fuse_sha256 }}"
12+
sha512: "{{ .px_fuse_sha512 }}"
13+
env:
14+
ARCH: {{ if eq .ARCH "aarch64"}}arm64{{ else if eq .ARCH "x86_64" }}x86_64{{ else }}unsupported{{ end }}
15+
prepare:
16+
- |
17+
tar xf px-fuse.tar.gz --strip-components=1
18+
- |
19+
patch -p1 < /pkg/patches/idr.patch
20+
- |
21+
autoreconf
22+
./configure
23+
build:
24+
- |
25+
make -j $(nproc) KERNELPATH=/src
26+
install:
27+
- |
28+
mkdir -p /rootfs/usr/lib/modules/$(cat /src/include/config/kernel.release)/
29+
cp /src/modules.order /rootfs/usr/lib/modules/$(cat /src/include/config/kernel.release)/
30+
cp /src/modules.builtin /rootfs/usr/lib/modules/$(cat /src/include/config/kernel.release)/
31+
cp /src/modules.builtin.modinfo /rootfs/usr/lib/modules/$(cat /src/include/config/kernel.release)/
32+
33+
make -C /src M=$(pwd) modules_install INSTALL_MOD_PATH=/rootfs/usr INSTALL_MOD_DIR=extras INSTALL_MOD_STRIP=1
34+
test:
35+
- |
36+
# https://www.kernel.org/doc/html/v4.15/admin-guide/module-signing.html#signed-modules-and-stripping
37+
find /rootfs/usr/lib/modules -name '*.ko' -exec grep -FL '~Module signature appended~' {} \+
38+
- |
39+
fhs-validator /rootfs
40+
finalize:
41+
- from: /rootfs
42+
to: /

0 commit comments

Comments
 (0)