When trying to build the kernel module for beegfs-client on RHEL 8.5 we get following error:
- BeeGFS module autobuild
Building beegfs client module
/opt/beegfs/src/client/client_module_7/build/../source/common/net/sock/ibv/IBVBuffer.c: In function ‘IBVBuffer_init’:
/opt/beegfs/src/client/client_module_7/build/../source/common/net/sock/ibv/IBVBuffer.c:26:28: error: implicit declaration of function ‘ib_dma_alloc_coherent’; did you mean ‘dma_alloc_coherent’? [-Werror=implicit-function-declaration]
buffer->buffers[i] = ib_dma_alloc_coherent(ctx->pd->device, bufLen, &buffer->lists[i].addr,
^~~~~~~~~~~~~~~~~~~~~
dma_alloc_coherent
/opt/beegfs/src/client/client_module_7/build/../source/common/net/sock/ibv/IBVBuffer.c:26:26: warning: assignment to ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
buffer->buffers[i] = ib_dma_alloc_coherent(ctx->pd->device, bufLen, &buffer->lists[i].addr,
^
/opt/beegfs/src/client/client_module_7/build/../source/common/net/sock/ibv/IBVBuffer.c:41:10: error: implicit declaration of function ‘ib_dma_free_coherent’; did you mean ‘dma_free_coherent’? [-Werror=implicit-function-declaration]
ib_dma_free_coherent(ctx->pd->device, buffer->bufferSize, buffer->buffers[i],
^~~~~~~~~~~~~~~~~~~~
dma_free_coherent
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:316: /opt/beegfs/src/client/client_module_7/build/../source/common/net/sock/ibv/IBVBuffer.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [Makefile:1571: _module_/opt/beegfs/src/client/client_module_7/build/../source] Error 2
make[1]: *** [Makefile:144: module] Error 2
This is with a default /etc/beegfs/beegfs-client-autobuild.conf config.
This wasn't the issue with 7.2.1
According to the 7.2.5 documentation IB support is now enabled by default in 7.2.5.
I checked but it seems also that the ib_dma_alloc_coherent functions where removed from the 4.18.0 kernel: