OpenAoE / aoe

aoe driver for Linux with backward compatibility build system
Other
26 stars 8 forks source link

current master does not compile on kernel 4.4.0 #6

Closed mischief closed 7 years ago

mischief commented 8 years ago

the major issue seems to be that BIO_UPTODATE is gone in recent kernels.

/home/mischief/src/aoe/linux/drivers/block/aoe/aoecmd.c: In function ?aoe_failbuf?:
/home/mischief/src/aoe/linux/drivers/block/aoe/aoecmd.c:1723:12: error: ?BIO_UPTODATE? undeclared (first use in this function)
  clear_bit(BIO_UPTODATE, &buf->bio->bi_flags);
            ^

attached is a report zip.

if other info is required, let me know.

aoe6-87pre2-report.zip

mischief commented 8 years ago

i think this can be fixed by upstream commit torvalds/linux@4246a0b63bd8f56a1469b12eafeb875b1041a451

ecashin commented 8 years ago

I've started a v87pre3-bi_error branch for this work. The only tricky part so far is an interaction between the changes addressed in conf/41 and these new changes, but that is fairly routine stuff.

ecashin commented 7 years ago

Hi. I have gotten no feedback on this work yet.

Anyone interested in this new support, please report on the branch I created, v87pre3-bi_error. If you want help trying the branch, please let me know.

kalleyne commented 7 years ago

Hello. I downloaded aoe-87pre3-bi_error.zip. This compiles fine on kernel 4.4.0-62-generic. It taints the kernel but otherwise allows connectivity to vblade.

ecashin commented 7 years ago

That's great news, thanks. Is the taint because it's not signed, or is there some other reason listed? I don't remember seeing taint before.

kalleyne commented 7 years ago

Tried compilation again but this time with 4.4.0-63-generic. Seems to be ok. dmesg show this:

[ 3505.991811] aoe: module verification failed: signature and/or required key missing - tainting kernel [ 3505.993377] aoe: AoE v87pre3 initialised.

kalleyne commented 7 years ago

Tried using make on aoe-87pre3-bi_error with 4.8.0-36-generic. Some new errors:

make cd aoetools-36 && make make[1]: Entering directory '/home/user1/IMG/Coraid/aoe/aoe-87pre3-bi_error/aoetools-36'

kalleyne commented 7 years ago

Now trying Ubuntu 16.04.2 LTS Desktop AMD64. uname -a shows "4.4.0-64-generic". This is a fresh install, patches applied. Both make and make install inside of aoe-87pre3-bi_error directory appears to complete error free. However, modprobe fails: "modprobe: ERROR: could not insert 'aoe': Required key not available".

Thanks.

ecashin commented 7 years ago

Can you please create a new issue for the 4.8.0-36-generic support? It is different from the support for the 4.4.0 kernel this issue covers.

Also, the key requirement is a new, unrelated issue. If you create an issue for that one, please include the final lines of the dmesg output along with your report.

kalleyne commented 7 years ago

I re-tested 4.4.0-64-generic and aoe-87pre3-bi_error but this time on Ubuntu 16.04.2 Server LTS - No HWE. Can't seem to reproduce the key requirement - unrelated issue anyway as you suggested...so I'll create a new issue if it happens again. But the dmesg shows this:

[ 38.378902] aoe: module verification failed: signature and/or required key missing - tainting kernel [ 38.379768] aoe: AoE v87pre3 initialised. [ 38.380063] aoe: e0.0: setting 1024 byte data frames

ecashin commented 7 years ago

Searching for the required key error yields threads about UEFI secure boot like the one at the URL below.

http://askubuntu.com/questions/762254/why-do-i-get-required-key-not-available-when-install-3rd-party-kernel-modules

I haven't looked into signing the aoe driver. It's a good idea, even though the driver has never been signed, so this is a new warning about an old problem. If it is important to you, please make an issue for driver signatures, and I'll look into it, but I am not sure how it could work with aoe's approach. We have always dynamically patched the source for whatever target kernel is being used. We don't currently distribute binaries at this time.

ecashin commented 7 years ago

I've merged this branch now and am closing the issue.