scst icon indicating copy to clipboard operation
scst copied to clipboard

5.14.12 vs 5.14.11 iscsi-scst-ctl not present

Open limbo127 opened this issue 4 years ago • 4 comments
trafficstars

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

limbo127 avatar Oct 13 '21 15:10 limbo127

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?

bvanassche avatar Oct 14 '21 04:10 bvanassche

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.

limbo127 avatar Oct 14 '21 06:10 limbo127

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

limbo127 avatar Oct 14 '21 18:10 limbo127

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 :)

limbo127 avatar Oct 14 '21 19:10 limbo127