Hi,
I patched enhanceio to compile on 3.17 as well as older kernels. You can
try the attached debdiff. I also created an upstream pull request with
these changes.
Thanks for maintaining this package!
Philipp
diff -Nru enhanceio-0+git20130620/debian/changelog
enhanceio-0+git20130620/debian/changelog
--- enhanceio-0+git20130620/debian/changelog2014-05-19 12:07:47.0
+0200
+++ enhanceio-0+git20130620/debian/changelog2014-10-21 21:13:47.0
+0200
@@ -1,3 +1,10 @@
+enhanceio (0+git20130620-3.1) experimental; urgency=medium
+
+ * Non-maintainer upload.
+ * patch for Kernel 3.17
+
+ -- Philipp Edelmann Tue, 21 Oct 2014 21:13:23 +0200
+
enhanceio (0+git20130620-3) experimental; urgency=low
* Updated "make.patch" to build without "-fstack-protector". This fixed
diff -Nru enhanceio-0+git20130620/debian/patches/kernel-3.17.patch
enhanceio-0+git20130620/debian/patches/kernel-3.17.patch
--- enhanceio-0+git20130620/debian/patches/kernel-3.17.patch1970-01-01
01:00:00.0 +0100
+++ enhanceio-0+git20130620/debian/patches/kernel-3.17.patch2014-10-21
22:25:46.0 +0200
@@ -0,0 +1,280 @@
+--- a/Driver/enhanceio/eio_conf.c
b/Driver/enhanceio/eio_conf.c
+@@ -89,7 +89,12 @@
+ .priority = 0,
+ };
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0))
++int eio_wait_schedule(struct wait_bit_key *unused)
++#else
++#define wait_on_bit_lock_action wait_on_bit_lock
+ int eio_wait_schedule(void *unused)
++#endif
+ {
+
+ schedule();
+@@ -1842,7 +1847,7 @@
+
+ dmc->sysctl_active.mem_limit_pct = 75;
+
+- (void)wait_on_bit_lock((void *)&eio_control->synch_flags,
++ (void)wait_on_bit_lock_action((void *)&eio_control->synch_flags,
+ EIO_UPDATE_LIST, eio_wait_schedule,
+ TASK_UNINTERRUPTIBLE);
+ dmc->next_cache = cache_list_head;
+@@ -1901,7 +1906,7 @@
+ vfree((void *)dmc->cache_sets);
+ vfree((void *)EIO_CACHE(dmc));
+
+- (void)wait_on_bit_lock((void *)&eio_control->synch_flags,
++ (void)wait_on_bit_lock_action((void *)&eio_control->synch_flags,
+ EIO_UPDATE_LIST, eio_wait_schedule,
+ TASK_UNINTERRUPTIBLE);
+ nodepp = &cache_list_head;
+@@ -2055,7 +2060,7 @@
+ vfree((void *)dmc->cache_sets);
+ eio_ttc_put_device(&dmc->disk_dev);
+ eio_put_cache_device(dmc);
+- (void)wait_on_bit_lock((void *)&eio_control->synch_flags,
++ (void)wait_on_bit_lock_action((void *)&eio_control->synch_flags,
+ EIO_UPDATE_LIST, eio_wait_schedule,
+ TASK_UNINTERRUPTIBLE);
+ nodepp = &cache_list_head;
+@@ -2387,7 +2392,7 @@
+ if (eio_reboot_notified == EIO_REBOOT_HANDLING_DONE)
+ return NOTIFY_DONE;
+
+- (void)wait_on_bit_lock((void *)&eio_control->synch_flags,
++ (void)wait_on_bit_lock_action((void *)&eio_control->synch_flags,
+ EIO_HANDLE_REBOOT, eio_wait_schedule,
+ TASK_UNINTERRUPTIBLE);
+ if (eio_reboot_notified == EIO_REBOOT_HANDLING_DONE) {
+@@ -2400,7 +2405,7 @@
+ EIO_ASSERT(eio_reboot_notified == 0);
+ eio_reboot_notified = EIO_REBOOT_HANDLING_INPROG;
+
+- (void)wait_on_bit_lock((void *)&eio_control->synch_flags,
++ (void)wait_on_bit_lock_action((void *)&eio_control->synch_flags,
+ EIO_UPDATE_LIST, eio_wait_schedule,
+ TASK_UNINTERRUPTIBLE);
+ for (dmc = cache_list_head; dmc != NULL; dmc = dmc->next_cache) {
+--- a/Driver/enhanceio/eio.h
b/Driver/enhanceio/eio.h
+@@ -128,7 +128,11 @@
+ unsigned long synch_flags;
+ };
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0))
++int eio_wait_schedule(struct wait_bit_key *unused);
++#else
+ int eio_wait_schedule(void *unused);
++#endif
+
+ struct eio_event {
+ struct task_struct *process;/* handle of the sleeping process */
+--- a/Driver/enhanceio/eio_ttc.c
b/Driver/enhanceio/eio_ttc.c
+@@ -31,6 +31,11 @@
+ #include
+ #include "eio.h"
+ #include "eio_ttc.h"
++
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,17,0))
++#define wait_on_bit_lock_action wait_on_bit_lock
++#endif
++
+ static struct rw_semaphore eio_ttc_lock[EIO_HASHTBL_SIZE];
+ static struct list_head eio_ttc_list[EIO_HASHTBL_SIZE];
+
+@@ -1497,7 +1502,7 @@
+ if (eio_reboot_notified == EIO_REBOOT_HANDLING_DONE)
+ return 0;
+
+- (void)wait_on_bit_lock((void *)&eio_control->synch_flags,
++ (void)wait_on_bit_lock_action((void *)&eio_control->synch_flags,
+ EIO_HANDLE_REBOOT, eio_wait_schedule,
+ TASK_UNINTERRUPTIBLE);
+ if (eio_reboot_notified == EIO_REBOOT_HANDLING_DONE) {
+--- a/Driver/enhanceio/eio_procfs.c
b/Driver/enhanceio/eio_procfs.c
+@@ -52,7 +52,7 @@
+ * eio_zerostats_sysctl
+ */
+ static int
+-eio_zerosta