lanconnected / EnhanceIO

EnhanceIO Open Source for Linux
Other
101 stars 31 forks source link

could not insert 'enhanceio' #60

Open yasharzb opened 3 years ago

yasharzb commented 3 years ago

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.

Ristovski commented 3 years ago

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.

CPT-GrayWolf commented 3 years ago

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.

GitMeier commented 3 years ago

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/eioprocfs.c I changed all 5 instances of _fileoperations to _procops 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 = singlerelease, };

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

Ristovski commented 3 years ago

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.

CPT-GrayWolf commented 3 years ago

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.