scst
scst copied to clipboard
5.14.12 vs 5.14.11 iscsi-scst-ctl not present
Hello, my scst test installation does not work anymore with upgrade to 5.14.12 5.14.11 cat /proc/devices |grep scst 508 iscsi-scst-ctl 509 scst_user 510 scst_event
5.14.12 cat /proc/devices |grep scst 508 scst_user 509 scst_event
.config of kernel are the same Regards, Nicolas
That's weird. I took a quick look at the patches included in v5.14.12 but not in v5.14.11. So far I haven't found any patches that can explain this difference in behavior. Maybe something else is going on?
Ok I'm trying to investigate. Nicolas
Le jeu. 14 oct. 2021 à 06:23, Bart Van Assche @.***> a écrit :
That's weird. I took a quick look at the patches included in v5.14.12 but not in v5.14.11. So far I haven't found any patches that can explain this difference in behavior. Maybe something else is going on?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/bvanassche/scst/issues/49#issuecomment-942934372, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAMCNUB7EOVY236WAUINYLTUGZLKVANCNFSM5F5QPIDQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
Hello, my compilation result, error at this end Regards, Nicolas [root@archlinux scst]# make -j8 2perf make -j8 scst make scst_install make scst_install make -j8 iscsi make iscsi_install cd scst && make 2perf make[1]: Entering directory '/tmp/scst/scst' make[1]: Leaving directory '/tmp/scst/scst' cd scst && make all make[1]: Entering directory '/tmp/scst/scst' cd src && make all make[2]: Entering directory '/tmp/scst/scst/src' make -C certs KDIR=/tmp/workdir//kernel/linux-5.14.12 \
make[3]: Entering directory '/tmp/scst/scst/src/certs' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/tmp/scst/scst/src/certs' make -C /tmp/workdir//kernel/linux-5.14.12 M=/tmp/scst/scst/src \
make[3]: Entering directory '/tmp/workdir/kernel/linux-5.14.12' make[3]: Leaving directory '/tmp/workdir/kernel/linux-5.14.12' make -C /tmp/workdir//kernel/linux-5.14.12 M=/tmp/scst/scst/src/dev_handlers \
make[3]: Entering directory '/tmp/workdir/kernel/linux-5.14.12' make[3]: Leaving directory '/tmp/workdir/kernel/linux-5.14.12' make[2]: Leaving directory '/tmp/scst/scst/src' make[1]: Leaving directory '/tmp/scst/scst' cd scst && make install make[1]: Entering directory '/tmp/scst/scst' cd src && make install make[2]: Entering directory '/tmp/scst/scst/src' make -C certs KDIR=/tmp/workdir//kernel/linux-5.14.12 \
make[3]: Entering directory '/tmp/scst/scst/src/certs' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/tmp/scst/scst/src/certs' make -C /tmp/workdir//kernel/linux-5.14.12 M=/tmp/scst/scst/src \
make[3]: Entering directory '/tmp/workdir/kernel/linux-5.14.12' make[3]: Leaving directory '/tmp/workdir/kernel/linux-5.14.12' make -C /tmp/workdir//kernel/linux-5.14.12 M=/tmp/scst/scst/src/dev_handlers \
make[3]: Entering directory '/tmp/workdir/kernel/linux-5.14.12'
make[3]: Leaving directory '/tmp/workdir/kernel/linux-5.14.12'
rm -f /lib/modules/5.14.12/extra/scsi_tgt.ko
KDIR=/tmp/workdir//kernel/linux-5.14.12 ../../scripts/sign-modules
Signing /tmp/scst/scst/src/scst.ko
make -C /tmp/workdir//kernel/linux-5.14.12 M=/tmp/scst/scst/src/dev_handlers
INSTALL_MOD_DIR=extra/dev_handlers
$([ -n "" ] && echo "DEPMOD=")
CONFIG_MODULE_SIG_ALL= modules_install
make[3]: Entering directory '/tmp/workdir/kernel/linux-5.14.12'
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_cdrom.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_cdrom.ko.zst
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_changer.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_changer.ko.zst
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_disk.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_disk.ko.zst
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_modisk.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_modisk.ko.zst
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_processor.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_processor.ko.zst
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_raid.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_raid.ko.zst
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_tape.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_tape.ko.zst
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_user.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_user.ko.zst
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_vdisk.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_vdisk.ko.zst
DEPMOD /lib/modules/5.14.12
make[3]: Leaving directory '/tmp/workdir/kernel/linux-5.14.12'
make -C /tmp/workdir//kernel/linux-5.14.12 M=/tmp/scst/scst/src
$([ -n "" ] && echo "DEPMOD=")
CONFIG_MODULE_SIG_ALL= modules_install
make[3]: Entering directory '/tmp/workdir/kernel/linux-5.14.12'
INSTALL /lib/modules/5.14.12/extra/scst.ko
ZSTD /lib/modules/5.14.12/extra/scst.ko.zst
DEPMOD /lib/modules/5.14.12
make[3]: Leaving directory '/tmp/workdir/kernel/linux-5.14.12'
install -d /usr/local/include/scst
header_files="backport.h build_mode.h scst.h scst_const.h
scst_debug.h scst_itf_ver.h scst_sgv.h
scst_user.h";
for h in ${header_files}; do
install -m 644 ../include/$h /usr/local/include/scst;
done
rm -f /usr/local/include/scst/Module.symvers
install -m 644 Module.symvers /usr/local/include/scst
mkdir -p /var/lib/scst/pr
mkdir -p /var/lib/scst/dif_tags
mkdir -p /var/lib/scst/vdev_mode_pages
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! !! !! Now don't forget to rebuild and reinstall all your !! !! target drivers, custom dev handlers and necessary user !! !! space applications. Otherwise, because of the versions !! !! mismatch, you could have many problems and crashes. !! !! See IMPORTANT note in the "Installation" section of !! !! SCST's README file for more info. !! !! !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
make[2]: Leaving directory '/tmp/scst/scst/src' make[1]: Leaving directory '/tmp/scst/scst' cd scst && make install make[1]: Entering directory '/tmp/scst/scst' cd src && make install make[2]: Entering directory '/tmp/scst/scst/src' make -C certs KDIR=/tmp/workdir//kernel/linux-5.14.12 \
make[3]: Entering directory '/tmp/scst/scst/src/certs' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/tmp/scst/scst/src/certs' make -C /tmp/workdir//kernel/linux-5.14.12 M=/tmp/scst/scst/src \
make[3]: Entering directory '/tmp/workdir/kernel/linux-5.14.12' make[3]: Leaving directory '/tmp/workdir/kernel/linux-5.14.12' make -C /tmp/workdir//kernel/linux-5.14.12 M=/tmp/scst/scst/src/dev_handlers \
make[3]: Entering directory '/tmp/workdir/kernel/linux-5.14.12'
make[3]: Leaving directory '/tmp/workdir/kernel/linux-5.14.12'
rm -f /lib/modules/5.14.12/extra/scsi_tgt.ko
KDIR=/tmp/workdir//kernel/linux-5.14.12 ../../scripts/sign-modules
Signing /tmp/scst/scst/src/scst.ko
make -C /tmp/workdir//kernel/linux-5.14.12 M=/tmp/scst/scst/src/dev_handlers
INSTALL_MOD_DIR=extra/dev_handlers
$([ -n "" ] && echo "DEPMOD=")
CONFIG_MODULE_SIG_ALL= modules_install
make[3]: Entering directory '/tmp/workdir/kernel/linux-5.14.12'
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_cdrom.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_cdrom.ko.zst
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_changer.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_changer.ko.zst
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_disk.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_disk.ko.zst
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_modisk.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_modisk.ko.zst
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_processor.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_processor.ko.zst
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_raid.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_raid.ko.zst
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_tape.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_tape.ko.zst
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_user.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_user.ko.zst
INSTALL /lib/modules/5.14.12/extra/dev_handlers/scst_vdisk.ko
ZSTD /lib/modules/5.14.12/extra/dev_handlers/scst_vdisk.ko.zst
DEPMOD /lib/modules/5.14.12
make[3]: Leaving directory '/tmp/workdir/kernel/linux-5.14.12'
make -C /tmp/workdir//kernel/linux-5.14.12 M=/tmp/scst/scst/src
$([ -n "" ] && echo "DEPMOD=")
CONFIG_MODULE_SIG_ALL= modules_install
make[3]: Entering directory '/tmp/workdir/kernel/linux-5.14.12'
INSTALL /lib/modules/5.14.12/extra/scst.ko
ZSTD /lib/modules/5.14.12/extra/scst.ko.zst
DEPMOD /lib/modules/5.14.12
make[3]: Leaving directory '/tmp/workdir/kernel/linux-5.14.12'
install -d /usr/local/include/scst
header_files="backport.h build_mode.h scst.h scst_const.h
scst_debug.h scst_itf_ver.h scst_sgv.h
scst_user.h";
for h in ${header_files}; do
install -m 644 ../include/$h /usr/local/include/scst;
done
rm -f /usr/local/include/scst/Module.symvers
install -m 644 Module.symvers /usr/local/include/scst
mkdir -p /var/lib/scst/pr
mkdir -p /var/lib/scst/dif_tags
mkdir -p /var/lib/scst/vdev_mode_pages
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! !! !! Now don't forget to rebuild and reinstall all your !! !! target drivers, custom dev handlers and necessary user !! !! space applications. Otherwise, because of the versions !! !! mismatch, you could have many problems and crashes. !! !! See IMPORTANT note in the "Installation" section of !! !! SCST's README file for more info. !! !! !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
make[2]: Leaving directory '/tmp/scst/scst/src'
make[1]: Leaving directory '/tmp/scst/scst'
cd iscsi-scst && make all
make[1]: Entering directory '/tmp/scst/iscsi-scst'
make -C usr
make[2]: Entering directory '/tmp/scst/iscsi-scst/usr'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/tmp/scst/iscsi-scst/usr'
make -C /tmp/workdir//kernel/linux-5.14.12 M=/tmp/scst/iscsi-scst/kernel CONFTEST_CFLAGS="-DBAD_WR_MODIFIER= -DCM_HANDLER_EVENT_MODIFIER= -DRDMA_CREATE_ID_TAKES_NET_ARG=0 -DRDMA_REJECT_HAS_FOUR_ARGS=0 -DSOCK_RECVMSG_HAS_FOUR_ARGS=0"
modules
make[2]: Entering directory '/tmp/workdir/kernel/linux-5.14.12'
make[2]: Leaving directory '/tmp/workdir/kernel/linux-5.14.12'
echo "mods: INFINIBAND_ENABLED = true"
mods: INFINIBAND_ENABLED = true
if true; then
echo " Building against in-tree RDMA kernel headers.";
make -C /tmp/workdir//kernel/linux-5.14.12 M=/tmp/scst/iscsi-scst/kernel/isert-scst ISER_CFLAGS=" -DOFED_FLAVOR=in-tree -DBAD_WR_MODIFIER= -DCM_HANDLER_EVENT_MODIFIER= -DRDMA_CREATE_ID_TAKES_NET_ARG=0 -DRDMA_REJECT_HAS_FOUR_ARGS=0 -DSOCK_RECVMSG_HAS_FOUR_ARGS=0"
modules;
fi
Building against in-tree RDMA kernel headers.
make[2]: Entering directory '/tmp/workdir/kernel/linux-5.14.12'
CC [M] /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.o
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c: In function ‘isert_post_recv’:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:90:57: error: passing argument 3 of ‘ib_post_recv’ from incompatible pointer type [-Werror=incompatible-pointer-types]
90 | err = ib_post_recv(isert_conn->qp, first_ib_wr, &bad_wr);
| ^~~~~~~
| |
| struct ib_recv_wr **
In file included from ./include/rdma/ib_mad.h:15,
from ./include/rdma/ib_cm.h:13,
from /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:44:
./include/rdma/ib_verbs.h:3794:58: note: expected ‘const struct ib_recv_wr **’ but argument is of type ‘struct ib_recv_wr **’
3794 | const struct ib_recv_wr **bad_recv_wr)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c: In function ‘isert_post_send’:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:137:57: error: passing argument 3 of ‘ib_post_send’ from incompatible pointer type [-Werror=incompatible-pointer-types]
137 | err = ib_post_send(isert_conn->qp, first_ib_wr, &bad_wr);
| ^~~~~~~
| |
| struct ib_send_wr **
In file included from ./include/rdma/ib_mad.h:15,
from ./include/rdma/ib_cm.h:13,
from /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:44:
./include/rdma/ib_verbs.h:3777:58: note: expected ‘const struct ib_send_wr **’ but argument is of type ‘struct ib_send_wr **’
3777 | const struct ib_send_wr **bad_send_wr)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c: In function ‘isert_post_drain_sq’:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:167:54: error: passing argument 3 of ‘ib_post_send’ from incompatible pointer type [-Werror=incompatible-pointer-types]
167 | &drain_wr_sq->send_wr.wr, &bad_wr);
| ^~~~~~~
| |
| struct ib_send_wr **
In file included from ./include/rdma/ib_mad.h:15,
from ./include/rdma/ib_cm.h:13,
from /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:44:
./include/rdma/ib_verbs.h:3777:58: note: expected ‘const struct ib_send_wr **’ but argument is of type ‘struct ib_send_wr **’
3777 | const struct ib_send_wr **bad_send_wr)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c: In function ‘isert_post_drain_rq’:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:192:51: error: passing argument 3 of ‘ib_post_recv’ from incompatible pointer type [-Werror=incompatible-pointer-types]
192 | &drain_wr_rq->recv_wr, &bad_wr);
| ^~~~~~~
| |
| struct ib_recv_wr **
In file included from ./include/rdma/ib_mad.h:15,
from ./include/rdma/ib_cm.h:13,
from /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:44:
./include/rdma/ib_verbs.h:3794:58: note: expected ‘const struct ib_recv_wr **’ but argument is of type ‘struct ib_recv_wr **’
3794 | const struct ib_recv_wr **bad_recv_wr)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c: In function ‘isert_device_create’:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1020:14: error: implicit declaration of function ‘ib_get_dma_mr’ [-Werror=implicit-function-declaration]
1020 | mr = ib_get_dma_mr(pd, IB_ACCESS_LOCAL_WRITE);
| ^~~~~~~~~~~~~
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1020:12: warning: assignment to ‘struct ib_mr ’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
1020 | mr = ib_get_dma_mr(pd, IB_ACCESS_LOCAL_WRITE);
| ^
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1074:36: error: macro "ib_create_cq" passed 6 arguments, but takes just 5
1074 | i); / completion vector */
| ^
In file included from ./include/rdma/ib_mad.h:15,
from ./include/rdma/ib_cm.h:13,
from /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:44:
./include/rdma/ib_verbs.h:3853: note: macro "ib_create_cq" defined here
3853 | #define ib_create_cq(device, cmp_hndlr, evt_hndlr, cq_ctxt, cq_attr)
|
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1069:22: error: ‘ib_create_cq’ undeclared (first use in this function); did you mean ‘ib_create_wq’?
1069 | cq = ib_create_cq(ib_dev,
| ^~~~~~~~~~~~
| ib_create_wq
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1069:22: note: each undeclared identifier is reported only once for each function it appears in
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c: In function ‘isert_conn_create’:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1317:54: error: ‘struct ib_device_attr’ has no member named ‘max_sge’; did you mean ‘max_cqe’?
1317 | isert_conn->max_sge = isert_dev->device_attr.max_sge - 3;
| ^~~~~~~
| max_cqe
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c: In function ‘isert_cm_conn_req_handler’:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1566:9: error: too few arguments to function ‘rdma_reject’
1566 | rdma_reject(cm_id, NULL, 0
| ^~~~~~~~~~~
In file included from ./include/rdma/ib_cm.h:15,
from /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:44:
./include/rdma/rdma_cm.h:271:5: note: declared here
271 | int rdma_reject(struct rdma_cm_id *id, const void *private_data,
| ^~~~~~~~~~~
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c: In function ‘isert_setup_id’:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1818:41: error: macro "rdma_create_id" requires 5 arguments, but only 4 given
1818 | IB_QPT_RC);
| ^
In file included from ./include/rdma/ib_cm.h:15,
from /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:44:
./include/rdma/rdma_cm.h:138: note: macro "rdma_create_id" defined here
138 | #define rdma_create_id(net, event_handler, context, ps, qp_type)
|
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1817:14: error: ‘rdma_create_id’ undeclared (first use in this function); did you mean ‘rdma_create_qp’?
1817 | id = rdma_create_id(isert_cm_evt_handler, portal, RDMA_PS_TCP,
| ^~~~~~~~~~~~~~
| rdma_create_qp
At top level:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1701:12: warning: ‘isert_cm_evt_handler’ defined but not used [-Wunused-function]
1701 | static int isert_cm_evt_handler(struct rdma_cm_id *cm_id,
| ^~~~~~~~~~~~~~~~~~~~
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:828:13: warning: ‘isert_cq_comp_handler’ defined but not used [-Wunused-function]
828 | static void isert_cq_comp_handler(struct ib_cq *cq, void *context)
| ^~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:271: /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.o] Error 1
make[2]: *** [Makefile:1858: /tmp/scst/iscsi-scst/kernel/isert-scst] Error 2
make[2]: Leaving directory '/tmp/workdir/kernel/linux-5.14.12'
make[1]: *** [Makefile:141: mods] Error 2
make[1]: Leaving directory '/tmp/scst/iscsi-scst'
make: *** [Makefile:209: iscsi] Error 2
cd iscsi-scst && make install
make[1]: Entering directory '/tmp/scst/iscsi-scst'
make -C usr
make[2]: Entering directory '/tmp/scst/iscsi-scst/usr'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/tmp/scst/iscsi-scst/usr'
make -C /tmp/workdir//kernel/linux-5.14.12 M=/tmp/scst/iscsi-scst/kernel CONFTEST_CFLAGS="-DBAD_WR_MODIFIER= -DCM_HANDLER_EVENT_MODIFIER= -DRDMA_CREATE_ID_TAKES_NET_ARG=0 -DRDMA_REJECT_HAS_FOUR_ARGS=0 -DSOCK_RECVMSG_HAS_FOUR_ARGS=0"
modules
make[2]: Entering directory '/tmp/workdir/kernel/linux-5.14.12'
make[2]: Leaving directory '/tmp/workdir/kernel/linux-5.14.12'
echo "mods: INFINIBAND_ENABLED = true"
mods: INFINIBAND_ENABLED = true
if true; then
echo " Building against in-tree RDMA kernel headers.";
make -C /tmp/workdir//kernel/linux-5.14.12 M=/tmp/scst/iscsi-scst/kernel/isert-scst ISER_CFLAGS=" -DOFED_FLAVOR=in-tree -DBAD_WR_MODIFIER= -DCM_HANDLER_EVENT_MODIFIER= -DRDMA_CREATE_ID_TAKES_NET_ARG=0 -DRDMA_REJECT_HAS_FOUR_ARGS=0 -DSOCK_RECVMSG_HAS_FOUR_ARGS=0"
modules;
fi
Building against in-tree RDMA kernel headers.
make[2]: Entering directory '/tmp/workdir/kernel/linux-5.14.12'
CC [M] /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.o
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c: In function ‘isert_post_recv’:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:90:57: error: passing argument 3 of ‘ib_post_recv’ from incompatible pointer type [-Werror=incompatible-pointer-types]
90 | err = ib_post_recv(isert_conn->qp, first_ib_wr, &bad_wr);
| ^~~~~~~
| |
| struct ib_recv_wr **
In file included from ./include/rdma/ib_mad.h:15,
from ./include/rdma/ib_cm.h:13,
from /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:44:
./include/rdma/ib_verbs.h:3794:58: note: expected ‘const struct ib_recv_wr **’ but argument is of type ‘struct ib_recv_wr **’
3794 | const struct ib_recv_wr **bad_recv_wr)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c: In function ‘isert_post_send’:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:137:57: error: passing argument 3 of ‘ib_post_send’ from incompatible pointer type [-Werror=incompatible-pointer-types]
137 | err = ib_post_send(isert_conn->qp, first_ib_wr, &bad_wr);
| ^~~~~~~
| |
| struct ib_send_wr **
In file included from ./include/rdma/ib_mad.h:15,
from ./include/rdma/ib_cm.h:13,
from /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:44:
./include/rdma/ib_verbs.h:3777:58: note: expected ‘const struct ib_send_wr **’ but argument is of type ‘struct ib_send_wr **’
3777 | const struct ib_send_wr **bad_send_wr)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c: In function ‘isert_post_drain_sq’:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:167:54: error: passing argument 3 of ‘ib_post_send’ from incompatible pointer type [-Werror=incompatible-pointer-types]
167 | &drain_wr_sq->send_wr.wr, &bad_wr);
| ^~~~~~~
| |
| struct ib_send_wr **
In file included from ./include/rdma/ib_mad.h:15,
from ./include/rdma/ib_cm.h:13,
from /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:44:
./include/rdma/ib_verbs.h:3777:58: note: expected ‘const struct ib_send_wr **’ but argument is of type ‘struct ib_send_wr **’
3777 | const struct ib_send_wr **bad_send_wr)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c: In function ‘isert_post_drain_rq’:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:192:51: error: passing argument 3 of ‘ib_post_recv’ from incompatible pointer type [-Werror=incompatible-pointer-types]
192 | &drain_wr_rq->recv_wr, &bad_wr);
| ^~~~~~~
| |
| struct ib_recv_wr **
In file included from ./include/rdma/ib_mad.h:15,
from ./include/rdma/ib_cm.h:13,
from /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:44:
./include/rdma/ib_verbs.h:3794:58: note: expected ‘const struct ib_recv_wr **’ but argument is of type ‘struct ib_recv_wr **’
3794 | const struct ib_recv_wr **bad_recv_wr)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c: In function ‘isert_device_create’:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1020:14: error: implicit declaration of function ‘ib_get_dma_mr’ [-Werror=implicit-function-declaration]
1020 | mr = ib_get_dma_mr(pd, IB_ACCESS_LOCAL_WRITE);
| ^~~~~~~~~~~~~
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1020:12: warning: assignment to ‘struct ib_mr ’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
1020 | mr = ib_get_dma_mr(pd, IB_ACCESS_LOCAL_WRITE);
| ^
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1074:36: error: macro "ib_create_cq" passed 6 arguments, but takes just 5
1074 | i); / completion vector */
| ^
In file included from ./include/rdma/ib_mad.h:15,
from ./include/rdma/ib_cm.h:13,
from /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:44:
./include/rdma/ib_verbs.h:3853: note: macro "ib_create_cq" defined here
3853 | #define ib_create_cq(device, cmp_hndlr, evt_hndlr, cq_ctxt, cq_attr)
|
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1069:22: error: ‘ib_create_cq’ undeclared (first use in this function); did you mean ‘ib_create_wq’?
1069 | cq = ib_create_cq(ib_dev,
| ^~~~~~~~~~~~
| ib_create_wq
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1069:22: note: each undeclared identifier is reported only once for each function it appears in
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c: In function ‘isert_conn_create’:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1317:54: error: ‘struct ib_device_attr’ has no member named ‘max_sge’; did you mean ‘max_cqe’?
1317 | isert_conn->max_sge = isert_dev->device_attr.max_sge - 3;
| ^~~~~~~
| max_cqe
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c: In function ‘isert_cm_conn_req_handler’:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1566:9: error: too few arguments to function ‘rdma_reject’
1566 | rdma_reject(cm_id, NULL, 0
| ^~~~~~~~~~~
In file included from ./include/rdma/ib_cm.h:15,
from /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:44:
./include/rdma/rdma_cm.h:271:5: note: declared here
271 | int rdma_reject(struct rdma_cm_id *id, const void *private_data,
| ^~~~~~~~~~~
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c: In function ‘isert_setup_id’:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1818:41: error: macro "rdma_create_id" requires 5 arguments, but only 4 given
1818 | IB_QPT_RC);
| ^
In file included from ./include/rdma/ib_cm.h:15,
from /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:44:
./include/rdma/rdma_cm.h:138: note: macro "rdma_create_id" defined here
138 | #define rdma_create_id(net, event_handler, context, ps, qp_type)
|
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1817:14: error: ‘rdma_create_id’ undeclared (first use in this function); did you mean ‘rdma_create_qp’?
1817 | id = rdma_create_id(isert_cm_evt_handler, portal, RDMA_PS_TCP,
| ^~~~~~~~~~~~~~
| rdma_create_qp
At top level:
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:1701:12: warning: ‘isert_cm_evt_handler’ defined but not used [-Wunused-function]
1701 | static int isert_cm_evt_handler(struct rdma_cm_id *cm_id,
| ^~~~~~~~~~~~~~~~~~~~
/tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.c:828:13: warning: ‘isert_cq_comp_handler’ defined but not used [-Wunused-function]
828 | static void isert_cq_comp_handler(struct ib_cq *cq, void *context)
| ^~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:271: /tmp/scst/iscsi-scst/kernel/isert-scst/iser_rdma.o] Error 1
make[2]: *** [Makefile:1858: /tmp/scst/iscsi-scst/kernel/isert-scst] Error 2
make[2]: Leaving directory '/tmp/workdir/kernel/linux-5.14.12'
make[1]: *** [Makefile:141: mods] Error 2
make[1]: Leaving directory '/tmp/scst/iscsi-scst'
make: *** [Makefile:212: iscsi_install] Error 2
So it's INFINIBAND Kernel module that's seems the issue. I can compile scst without issue after suppress INFINIBAND to false. Nicolas ( Infiniband is not used in our case :)