EnhanceIO
EnhanceIO copied to clipboard
could not insert 'enhanceio'
Hi. I am new to EnhanceIO. When I run sudo ./Install-EIO
in Ubuntu 16.04 x86 LTS I get this modprobe: ERROR: could not insert 'enhanceio': Unknown symbol in module, or unknown parameter (see dmesg)
error and when I run it in Ubuntu 20.04 x64 LTS I get several errors in /Driver/enhanceio/eio_procfs
and eio.h
. Can you please help me? I had some problems with the main project of EnhanceIO but when I contacted its team, they suggested using this active fork.
Sadly, this fork is no longer active as well. A recent change in 5.6 kernels for the block IO subsystem has broken EnhanceIO - hence the errors you are getting.
I wouldn't say that it's inactive. Just that maintenance is slow.
I don't know about lanconnected, but I'm in the middle of multiple other projects. Otherwise I'd fork this again and take a look.
For the new kernel the path to the solution (for the procfs errors) is in here https://github.com/mtorromeo/r8168/issues/22
"It would appear a struct type has changed in /include/linux/proc_fs.h, from file_operations to proc_ops"
In EnhanceIO-master/Driver/enhanceio/eio_procfs.c I changed all 5 instances of file_operations to proc_ops plus changing the .open and other instances to the new format.
E.g. the first group now reads static const struct proc_ops eio_version_operations = { .proc_open = eio_version_open, .proc_read = seq_read, .proc_lseek = seq_lseek, .proc_release = single_release, };
It compiled fine after that. Have other problems now.
Edit: Just saw there's already a commit for this in another branch: https://github.com/tytgatlieven/EnhanceIO/commit/42aa1a10ef6d7da784693a7b826929e182252b5d
I wouldn't say that it's inactive. Just that maintenance is slow.
I don't know about lanconnected, but I'm in the middle of multiple other projects. Otherwise I'd fork this again and take a look.
Do you perhaps have any progress on porting EnhanceIO to newer kernels? I have yet to indulge in the internals of the block io subsystem, so no idea how hard it would be to pull off.
I wouldn't say that it's inactive. Just that maintenance is slow. I don't know about lanconnected, but I'm in the middle of multiple other projects. Otherwise I'd fork this again and take a look.
Do you perhaps have any progress on porting EnhanceIO to newer kernels? I have yet to indulge in the internals of the block io subsystem, so no idea how hard it would be to pull off.
My main interest in this is the ability to add/remove cache on-the-fly, even to existing devices. However, as most of my production machines use already set up with LVM cache, and LVM cache can, at least, be added to an existing device, that makes it a bit of a low-priority project.
This module is full of bugs, missing/incomplete features, and poorly documented functionality. I would probably fork it, and start a complete re-write, if I were going to start work on it.