You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
According to @ryao when CONFIG_LZ4_DECOMPRESS=y or CONFIG_LZ4_COMPRESS=y is set the build will fail as follows. The simplest fix for this is to just change the symbol names used by zfs. However, it would be better if we could get the kernel developers to not export these functions GPL-only so we could use them.
|lib/built-in.o: In function `lz4_decompress':
(.text+0xeea0): multiple definition of `lz4_decompress'
fs/built-in.o:(.text+0x941d0): first defined here
make: *** [vmlinux] Error 1|
The text was updated successfully, but these errors were encountered:
The current ZFS lz4_compress() is a shim for ZFS' generic compression routine that invokes real_LZ4_compress() while the Linux lz4_compress() is roughly analogous to real_LZ4_compress(). Adopting it will require a new symbol name.
Similarly, we would need a new symbol for lz4_decompress() because while the two are roughly analogous, ZFS' internal API requires an additional argument that is unused by LZ4.
I'm glad Richard jumped on this, getting the correct license on these symbols early will be helpful. Assuming that patch gets merged we could pursue using the kernel versions if we have reason to believe they have been further optimized over the ZFS versions.
According to @ryao when CONFIG_LZ4_DECOMPRESS=y or CONFIG_LZ4_COMPRESS=y is set the build will fail as follows. The simplest fix for this is to just change the symbol names used by zfs. However, it would be better if we could get the kernel developers to not export these functions GPL-only so we could use them.
The text was updated successfully, but these errors were encountered: