NBD Does Not Compile For 3.10.0-514.26.2.el7.x86_64

Home » CentOS » NBD Does Not Compile For 3.10.0-514.26.2.el7.x86_64
CentOS 1 Comment

Compiling NBD kernel module for kernel 3.10.0-514.26.2.el7.x86_64
fails as follows:

# make -C ../../ M=`pwd` nbd.o make: Entering directory
`/root/rpmbuild/BUILD/kernel-3.10.0-514.26.2.el7/linux-3.10.0-514.26.2.el7.x86_64′
CC /root/rpmbuild/BUILD/kernel-3.10.0-514.26.2.el7/linux-3.10.0-514.26.2.el7.x86_64/drivers/block/nbd.o
/root/rpmbuild/BUILD/kernel-3.10.0-514.26.2.el7/linux-3.10.0-514.26.2.el7.x86_64/drivers/block/nbd.c:
In function ‘__nbd_ioctl’:
/root/rpmbuild/BUILD/kernel-3.10.0-514.26.2.el7/linux-3.10.0-514.26.2.el7.x86_64/drivers/block/nbd.c:619:19:
error: ‘REQ_TYPE_SPECIAL’ undeclared (first use in this function)
sreq.cmd_type = REQ_TYPE_SPECIAL;
^
/root/rpmbuild/BUILD/kernel-3.10.0-514.26.2.el7/linux-3.10.0-514.26.2.el7.x86_64/drivers/block/nbd.c:619:19:
note: each undeclared identifier is reported only once for each function it appears in make[1]: *** [/root/rpmbuild/BUILD/kernel-3.10.0-514.26.2.el7/linux-3.10.0-514.26.2.el7.x86_64/drivers/block/nbd.o]
Error 1
make: *** [nbd.o] Error 2
make: Leaving directory
`/root/rpmbuild/BUILD/kernel-3.10.0-514.26.2.el7/linux-3.10.0-514.26.2.el7.x86_64′

Was support for NBD dropped or was this just a human error?


Thanos Makatos

One thought on - NBD Does Not Compile For 3.10.0-514.26.2.el7.x86_64

  • Because Red Hat do not configure and build this module, they do not maintain the code for it in their kernel.

    REQ_TYPE_SPECIAL was renamed to REQ_TYPE_DRV_PRIV some time back, so try patching for that in nbd.c and rebuilding.

    Be aware that by building the unmaintained module you will be missing all relevant security patches for this module since RHEL7 was first released some 3.5 years ago. A better solution would be to backport the module from the latest upstream kernel and maintain it out of tree.