Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Does anyone know what the "real" reason is for not exporting the kernel function in 5.0+ anymore? Is there a technical reason, additional work or is it just a middle finger to ZFS devs?


The functions/symbols being used were __kernel_fpu_{begin,end}. These were designed for use within the kernel, and not for external modules - however external modules used them since there was no other alternative. At some point the kernel announced these were being deprecated, and have now been removed.

Since they weren't designed for external modules, someone submitted a patch to make them exportable. However the patch enforced EXPORT_SYMBOL_GPL, so only modules that report being GPL licensed can use them.

Now ZFS is in a position where it can't use the original kernel symbols since they were removed, but can't use the new ones since they are marked as EXPORT_SYMBOL_GPL.

https://marc.info/?l=linux-kernel&m=154689892914091&w=2


Just to finish off @keeperofdakeys comments: here is the ZFS answer:

https://github.com/zfsonlinux/zfs/commit/becdcec7b9cd6b8beaa...


Thanks for this explanation.

I was literally set to boot my ZoL project server for this first time since ~2010.

I used ZFS a lot when it was being integrated into macOS, then moved to OpenSolaris, then FreeBSD, but Linux was what I knew best.

So I'm trying to figure out the impact, if any, of recent Linux changes, for me to use to get my array back up.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: