--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian....@packages.debian.org
Usertags: pu
X-Debbugs-Cc: t...@debian.org
Control: affects -1 + src:rapiddisk
[ Reason ]
An upstream change from Linux 6.9 got backported by upstream to
Linux 6.1.83 and causes module build failures of rapiddisk-dkms in
stable since the interface of dm_io() has changed.
[ Impact ]
rapiddisk is unusable with the current (and future) stable kernels.
[ Tests ]
autopkgtest-pkg-dkms
local autopkgtest run in bookworm
[ Risks ]
Low. It's unusable right now.
[ Checklist ]
[*] *all* changes are documented in the d/changelog
[*] I reviewed all changes and I approve them
[*] attach debdiff against the package in (old)stable
[ ] the issue is verified as fixed in unstable
Working on it, it requires additional changes for supporting
Linux 6.9 and Linux 6.10 that I'd like to get approved by upstream
and/or the maintainer first
[ Changes ]
* Drop unused obsolete patches.
- to avoid confusion
* Fix module build for Linux <4.3.
- all other uses of bi_status/bi_error (in rapiddisk-cache.c) were
already in '#if KVER >= 4.3' blocks, so do the same with the
remaining one in rapiddisk.c
* Fix module build for Linux 6.1.83, 6.6.23, 6.7.11, 6.8.2.
(Closes: #1069945)
- that is the RC fix, based on upstream's fix but extended to cover
all stable kernel versions that got the change backported
* dkms.conf: Set BUILD_EXCLUSIVE_KERNEL_MIN="2.6.39" for using kstrto*().
- be explicit about the supported versions
[ Other info ]
n/a
Andreas
diff -Nru rapiddisk-9.0.0/debian/changelog rapiddisk-9.0.0/debian/changelog
--- rapiddisk-9.0.0/debian/changelog 2023-02-03 07:45:15.000000000 +0100
+++ rapiddisk-9.0.0/debian/changelog 2024-08-04 12:15:49.000000000 +0200
@@ -1,3 +1,14 @@
+rapiddisk (9.0.0-1+deb12u1) bookworm; urgency=medium
+
+ * Non-maintainer upload.
+ * Drop unused obsolete patches.
+ * Fix module build for Linux <4.3.
+ * Fix module build for Linux 6.1.83, 6.6.23, 6.7.11, 6.8.2.
+ (Closes: #1069945)
+ * dkms.conf: Set BUILD_EXCLUSIVE_KERNEL_MIN="2.6.39" for using kstrto*().
+
+ -- Andreas Beckmann <a...@debian.org> Sun, 04 Aug 2024 12:15:49 +0200
+
rapiddisk (9.0.0-1) unstable; urgency=medium
* New upstream version.
diff -Nru rapiddisk-9.0.0/debian/dkms rapiddisk-9.0.0/debian/dkms
--- rapiddisk-9.0.0/debian/dkms 2023-01-31 14:28:59.000000000 +0100
+++ rapiddisk-9.0.0/debian/dkms 2024-08-04 12:15:49.000000000 +0200
@@ -7,3 +7,7 @@
BUILT_MODULE_NAME[1]="rapiddisk-cache"
DEST_MODULE_LOCATION[0]=/extra
DEST_MODULE_LOCATION[1]=/extra
+
+# kstrto*() were introduced in v2.6.39-rc1 by "kstrto*: converting strings to
+# integers done (hopefully) right" (33ee3b2e2eb9b4b6c64dcf9ed66e2ac3124e748c)
+BUILD_EXCLUSIVE_KERNEL_MIN="2.6.39"
diff -Nru rapiddisk-9.0.0/debian/patches/0001-Support-linux-5.19.patch
rapiddisk-9.0.0/debian/patches/0001-Support-linux-5.19.patch
--- rapiddisk-9.0.0/debian/patches/0001-Support-linux-5.19.patch
2023-01-31 14:28:59.000000000 +0100
+++ rapiddisk-9.0.0/debian/patches/0001-Support-linux-5.19.patch
1970-01-01 01:00:00.000000000 +0100
@@ -1,53 +0,0 @@
-From: Andrea Righi <andrea.ri...@canonical.com>
-Subject: [PATCH] Support linux 5.19.
-Source: upstream,
https://github.com/pkoutoupis/rapiddisk/pull/116/commits/48e901f08fc1199d917d15e4c68b8a6fec822e1a
-
-Signed-off-by: Andrea Righi <andrea.ri...@canonical.com>
----
- module/rapiddisk.c | 18 +++++++++++++++++-
- 1 file changed, 17 insertions(+), 1 deletion(-)
-
-Index: rapiddisk-8.2.0/module/rapiddisk.c
-===================================================================
---- rapiddisk-8.2.0.orig/module/rapiddisk.c
-+++ rapiddisk-8.2.0/module/rapiddisk.c
-@@ -633,6 +633,18 @@ io_error:
- #endif
- }
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,19,0)
-+static inline int bdev_openers(struct block_device *bdev)
-+{
-+ return atomic_read(&bdev->bd_openers);
-+}
-+#else
-+static inline int bdev_openers(struct block_device *bdev)
-+{
-+ return bdev->bd_openers;
-+}
-+#endif
-+
- static int rdsk_ioctl(struct block_device *bdev, fmode_t mode,
- unsigned int cmd, unsigned long arg)
- {
-@@ -660,7 +672,7 @@ static int rdsk_ioctl(struct block_devic
- mutex_lock(&bdev->bd_mutex);
- #endif
- error = -EBUSY;
-- if (bdev->bd_openers <= 1) {
-+ if (bdev_openers(bdev) <= 1) {
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,0) || (defined(RHEL_MAJOR) &&
RHEL_MAJOR == 8 && RHEL_MINOR >= 4)
- invalidate_bdev(bdev);
-@@ -805,7 +817,11 @@ static int attach_device(int size)
- disk->queue->nr_requests = nr_requests;
- disk->queue->limits.discard_granularity = PAGE_SIZE;
- disk->queue->limits.max_discard_sectors = UINT_MAX;
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,19,0)
-+ blk_queue_max_discard_sectors(disk->queue, 0);
-+#else
- blk_queue_flag_set(QUEUE_FLAG_DISCARD, disk->queue);
-+#endif
- blk_queue_flag_set(QUEUE_FLAG_NONROT, disk->queue);
- #else
- rdsk->rdsk_queue->limits.max_sectors = (max_sectors * 2);
diff -Nru
rapiddisk-9.0.0/debian/patches/0002-Adding-Linux-kernel-6.0-support-133.patch
rapiddisk-9.0.0/debian/patches/0002-Adding-Linux-kernel-6.0-support-133.patch
---
rapiddisk-9.0.0/debian/patches/0002-Adding-Linux-kernel-6.0-support-133.patch
2023-01-31 14:28:59.000000000 +0100
+++
rapiddisk-9.0.0/debian/patches/0002-Adding-Linux-kernel-6.0-support-133.patch
1970-01-01 01:00:00.000000000 +0100
@@ -1,26 +0,0 @@
-From: Petros Koutoupis <pet...@petroskoutoupis.com>
-Date: Wed, 5 Oct 2022 12:47:15 +0000
-Subject: [PATCH] Adding Linux kernel 6.0 support (#133)
-
-Origin: upstream
----
- module/rapiddisk-cache.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-Index: rapiddisk/module/rapiddisk-cache.c
-===================================================================
---- rapiddisk.orig/module/rapiddisk-cache.c
-+++ rapiddisk/module/rapiddisk-cache.c
-@@ -175,8 +175,12 @@ int dm_io_async_bvec(unsigned int num_re
- struct dm_io_request iorq;
-
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,0,0)
-+ (rw == WRITE) ? (iorq.bi_opf = REQ_OP_WRITE) : (iorq.bi_opf =
REQ_OP_READ);
-+#else
- iorq.bi_op = rw;
- iorq.bi_op_flags = 0;
-+#endif
- #else
- iorq.bi_rw = rw;
- #endif
diff -Nru rapiddisk-9.0.0/debian/patches/Linux-4.3.patch
rapiddisk-9.0.0/debian/patches/Linux-4.3.patch
--- rapiddisk-9.0.0/debian/patches/Linux-4.3.patch 1970-01-01
01:00:00.000000000 +0100
+++ rapiddisk-9.0.0/debian/patches/Linux-4.3.patch 2024-08-04
12:15:49.000000000 +0200
@@ -0,0 +1,20 @@
+Author: Andreas Beckmann <a...@debian.org>
+Description: fix module build for Linux <4.3
+
+--- a/module/rapiddisk.c
++++ b/module/rapiddisk.c
+@@ -648,12 +648,14 @@ out:
+ return;
+ #endif
+ #endif
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)
+ io_error:
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,13,0)
+ bio->bi_status= err;
+ #else
+ bio->bi_error = err;
+ #endif
++#endif
+ bio_io_error(bio);
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0)
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(5,16,0)
diff -Nru rapiddisk-9.0.0/debian/patches/Linux-6.8.patch
rapiddisk-9.0.0/debian/patches/Linux-6.8.patch
--- rapiddisk-9.0.0/debian/patches/Linux-6.8.patch 1970-01-01
01:00:00.000000000 +0100
+++ rapiddisk-9.0.0/debian/patches/Linux-6.8.patch 2024-08-04
12:15:49.000000000 +0200
@@ -0,0 +1,22 @@
+Author: Andreas Beckmann <a...@debian.org>
+Description: fix module build for Linux 6.1.83, 6.6.23, 6.7.11, 6.8.2
+Bug: https://github.com/pkoutoupis/rapiddisk/issues/184
+Bug-Debian: https://bugs.debian.org/1069945
+
+--- a/module/rapiddisk-cache.c
++++ b/module/rapiddisk-cache.c
+@@ -195,7 +210,14 @@ int dm_io_async_bvec(unsigned int num_re
+ iorq.notify.context = context;
+ iorq.client = dmc->io_client;
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,8,2)) || \
++ ((LINUX_VERSION_CODE >= KERNEL_VERSION(6,7,11)) && (LINUX_VERSION_CODE
< KERNEL_VERSION(6,8,0))) || \
++ ((LINUX_VERSION_CODE >= KERNEL_VERSION(6,6,23)) && (LINUX_VERSION_CODE
< KERNEL_VERSION(6,7,0))) || \
++ ((LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,83)) && (LINUX_VERSION_CODE
< KERNEL_VERSION(6,2,0)))
++ return dm_io(&iorq, num_regions, where, NULL, IOPRIO_DEFAULT);
++#else
+ return dm_io(&iorq, num_regions, where, NULL);
++#endif
+ }
+
+ static int jobs_init(void)
diff -Nru rapiddisk-9.0.0/debian/patches/series
rapiddisk-9.0.0/debian/patches/series
--- rapiddisk-9.0.0/debian/patches/series 2023-02-03 07:45:15.000000000
+0100
+++ rapiddisk-9.0.0/debian/patches/series 2024-08-04 12:15:49.000000000
+0200
@@ -1,2 +1,2 @@
-#0001-Support-linux-5.19.patch
-#0002-Adding-Linux-kernel-6.0-support-133.patch
+Linux-4.3.patch
+Linux-6.8.patch
--- End Message ---