Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

could not insert 'enhanceio' #60

Open
yasharzb opened this issue Feb 5, 2021 · 5 comments
Open

could not insert 'enhanceio' #60

yasharzb opened this issue Feb 5, 2021 · 5 comments

Comments

@yasharzb
Copy link

yasharzb commented Feb 5, 2021

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
Copy link

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
Copy link

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
Copy link

GitMeier commented Feb 26, 2021

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

@Ristovski
Copy link

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
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants