Closed w41l closed 2 years ago
Additional info on bdgrab removal https://marc.info/?l=linux-block&m=163033396024336
@w41l thanks for the bug report. Yes it was, and there is a check that should find that: here. Can you post the output of the tests, the full output of the make module
? Can you also post which tag are you on?
Thanks for the response. This is the log after re-cloned and rebuild
# git describe --tags --all --long
heads/main-0-g265a128
# make module
cd root/usr/src/iomemory-vsl4-4.3.7 && \
make clean
make[1]: Entering directory '/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7'
make \
-j144 \
-C /lib/modules/5.16.17-wls/build \
FIO_DRIVER_NAME=iomemory-vsl4 \
FUSION_DRIVER_DIR=/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7 \
M=/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7 \
EXTRA_CFLAGS+="-I/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/include -DBUILDING_MODULE -DLINUX_IO_SCHED -Wall" \
KFIO_LIB=kfio/x86_64_cc112_libkfio.o_shipped \
clean
make[2]: Entering directory '/usr/src/linux-5.16.17'
make[2]: Leaving directory '/usr/src/linux-5.16.17'
rm -rf include/fio/port/linux/kfio_config.h kfio_config license.c
make[1]: Leaving directory '/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7'
cd root/usr/src/iomemory-vsl4-4.3.7 && \
make gpl
make[1]: Entering directory '/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7'
sed -i 's/Proprietary/GPL/g' Kbuild
Change found in target kernel: KERNELVER KERNEL_SRC
Running clean before building driver
make[2]: Entering directory '/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7'
make \
-j144 \
-C /lib/modules/5.16.17-wls/build \
FIO_DRIVER_NAME=iomemory-vsl4 \
FUSION_DRIVER_DIR=/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7 \
M=/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7 \
EXTRA_CFLAGS+="-I/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/include -DBUILDING_MODULE -DLINUX_IO_SCHED -Wall" \
KFIO_LIB=kfio/x86_64_cc112_libkfio.o_shipped \
clean
make[3]: Entering directory '/usr/src/linux-5.16.17'
make[3]: Leaving directory '/usr/src/linux-5.16.17'
rm -rf include/fio/port/linux/kfio_config.h kfio_config license.c
make[2]: Leaving directory '/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7'
if [ "112" -gt "75" ];then \
if [ ! -f "kfio/x86_64_cc112_libkfio.o_shipped" ];then \
cp kfio/x86_64_cc75_libkfio.o_shipped kfio/x86_64_cc112_libkfio.o_shipped; \
fi \
fi
./kfio_config.sh -a x86_64 -o include/fio/port/linux/kfio_config.h -k /lib/modules/5.16.17-wls/build -p -d /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kfio_config -l 0 -s /lib/modules/5.16.17-wls/source
Detecting Kernel Flags
Config dir : /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kfio_config
Output file : include/fio/port/linux/kfio_config.h
Kernel output dir : /lib/modules/5.16.17-wls/build
Kernel source dir : /lib/modules/5.16.17-wls/source
Starting tests:
1648425689.691 KFIOC_X_PROC_CREATE_DATA_WANTS_PROC_OPS...
1648425689.723 KFIOC_X_TASK_HAS_CPUS_MASK...
1648425689.756 KFIOC_X_LINUX_HAS_PART_STAT_H...
1648425689.790 KFIOC_X_BLK_ALLOC_QUEUE_NODE_EXISTS...
1648425689.825 KFIOC_X_BLK_ALLOC_DISK_EXISTS...
1648425689.861 KFIOC_X_HAS_MAKE_REQUEST_FN...
1648425689.897 KFIOC_X_GENHD_PART0_IS_A_POINTER...
1648425689.933 KFIOC_X_BIO_HAS_BI_BDEV...
1648425689.970 KFIOC_X_SUBMIT_BIO_RETURNS_BLK_QC_T...
1648425690.004 KFIOC_X_VOID_ADD_DISK...
Started tests, waiting for completions...
1648425691.078 KFIOC_X_PROC_CREATE_DATA_WANTS_PROC_OPS=1
1648425691.113 KFIOC_X_TASK_HAS_CPUS_MASK=1
1648425691.146 KFIOC_X_LINUX_HAS_PART_STAT_H=1
1648425691.180 KFIOC_X_BLK_ALLOC_QUEUE_NODE_EXISTS=0
1648425691.214 KFIOC_X_BLK_ALLOC_DISK_EXISTS=1
1648425691.248 KFIOC_X_HAS_MAKE_REQUEST_FN=0
1648425691.281 KFIOC_X_GENHD_PART0_IS_A_POINTER=1
1648425691.314 KFIOC_X_BIO_HAS_BI_BDEV=1
1648425691.348 KFIOC_X_SUBMIT_BIO_RETURNS_BLK_QC_T=0
1648425691.382 KFIOC_X_VOID_ADD_DISK=0
Finished
1648425691.399 Exiting
Preserving configdir due to '-p' option: /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kfio_config
grep: license.c: No such file or directory
Adding module version 5.16.17-265a128-4.3.7 to source license.c
make \
-j144 \
-C /lib/modules/5.16.17-wls/build \
FIO_DRIVER_NAME=iomemory-vsl4 \
FUSION_DRIVER_DIR=/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7 \
M=/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7 \
EXTRA_CFLAGS+="-I/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/include -DBUILDING_MODULE -DLINUX_IO_SCHED -Wall" \
INSTALL_MOD_DIR=extra/fio \
INSTALL_MOD_PATH= \
KFIO_LIB=kfio/x86_64_cc112_libkfio.o_shipped \
modules
make[2]: Entering directory '/usr/src/linux-5.16.17'
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/main.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/dbgset.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/license.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/pci.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/sysrq.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/driver_init.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kfio.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/errno.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/state.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kmsg.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/six_lock.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kcache.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kfile.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kmem.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kscatter.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/ktime.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/sched.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/cdev.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kscsi.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kscsi_host.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kblock.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kcpu.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kcondvar.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/common_kinfo.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kinfo.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kinit.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kfio_common.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/khotplug.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kcsr.o
SHIPPED /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kfio/x86_64_cc112_libkfio.o
CC [M] /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/module_param.o
/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kcpu.c: In function ‘kfio_map_cpus_to_read_queues’:
/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kcpu.c:214:5: warning: ISO C90 forbids variable length array ‘node_hist’ [-Wvla]
214 | uint32_t node_hist[nodes_possible], node_map[nodes_possible];
| ^~~~~~~~
/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kcpu.c:214:5: warning: ISO C90 forbids variable length array ‘node_map’ [-Wvla]
In file included from /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kblock.c:56:
/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kblock.c: In function ‘linux_bdev_hide_disk’:
/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/include/kblock_meta.h:57:20: error: implicit declaration of function ‘bdgrab’; did you mean ‘igrab’? [-Werror=implicit-function-declaration]
57 | #define GET_BDEV bdgrab(disk->gd->part0);
| ^~~~~~
/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kblock.c:813:26: note: in expansion of macro ‘GET_BDEV’
813 | linux_bdev = GET_BDEV;
| ^~~~~~~~
/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kblock.c:813:24: warning: assignment to ‘struct block_device *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
813 | linux_bdev = GET_BDEV;
| ^
/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kblock.c:893:40: error: ‘struct block_device’ has no member named ‘bd_mutex’
893 | mutex_lock(&linux_bdev->bd_mutex);
| ^~
/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kblock.c:894:42: error: ‘struct block_device’ has no member named ‘bd_mutex’
894 | mutex_unlock(&linux_bdev->bd_mutex);
| ^~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:287: /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7/kblock.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [Makefile:1846: /usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7] Error 2
make[2]: Leaving directory '/usr/src/linux-5.16.17'
make[1]: *** [Makefile:136: modules] Error 2
make[1]: Leaving directory '/usr/src/iomemory-vsl4/root/usr/src/iomemory-vsl4-4.3.7'
make: *** [Makefile:29: module] Error 2
@w41l thanks for this! I seem to have swapped the macro for the GET_BDEV
. There is also the matter of bd_mutex
being removed and having moved to disk->open_mutex
. I've created a branch bug-39
which contains these fixes. It compiles but I can't test it atm as my main machine is not running a 5.15/5.16 kernel. The open_mutex
is important for detachment and unloading of the module.
I will try the branch bug-39 as soon as I can reboot the server
It crashed on linux_bdev_update_stats. Since I can't dump the boot log, I've captured the boot process as a video
Ah it's the queue creation that should be fixed. I remember to have tested the fix, so am kind of stumped. Progress is slow as there is no "fitting" test card atm (missing bracket).
Finally had some time to look and swapped the cards. pushed a fix to bug-39 which works on 5.15, and is going through testing on 5.15 now, will run test on 5.16 after that.
Apr 13 23:52:30 fio2 kernel: [ 334.467804] fioinf ioDrive driver 5.15.13-77cf6ec-4.3.7.1205 loading...
Apr 13 23:52:30 fio2 kernel: [ 334.468443] fioinf VSL configuration hash: f7771666cf9469344233dd611c787828ea46645e
Apr 13 23:52:30 fio2 kernel: [ 334.495150] fioinf ioDrive 0000:00:04.0: mapping controller on BAR 5
Apr 13 23:52:30 fio2 kernel: [ 334.644320] fioinf ioDrive 0000:00:04.0: Configuring controller.
Apr 13 23:52:30 fio2 kernel: [ 334.662613] fioinf ioDrive 0000:00:04.0: using MSI-X interrupts
Apr 13 23:52:30 fio2 kernel: [ 334.663083] fioinf ioDrive 0000:00:04.0: Starting controller
Apr 13 23:52:31 fio2 kernel: [ 335.207356] fioinf ioDrive 0000:00:04.0: PMP Address: 1 1 1
Apr 13 23:52:31 fio2 kernel: [ 335.787640] fioinf ioDrive 0000:00:04.0: SMP fpga Microcode BOOT version 0.8.0 1
Apr 13 23:52:31 fio2 kernel: [ 335.788041] fioinf ioDrive 0000:00:04.0: SMP controller Microcode APP version 0.44.0 0
Apr 13 23:52:31 fio2 kernel: [ 336.127686] fioinf ioDrive 0000:00:04.0: Product UUID is d3e0a40c-7e14-5264-842f-316d3f353492
Apr 13 23:52:31 fio2 kernel: [ 336.128481] fioinf ioDrive 0000:00:04.0: Required PCIE bandwidth 4.000 GBytes per sec
Apr 13 23:52:31 fio2 kernel: [ 336.129199] fioinf ioDrive 0000:00:04.0: Board serial number is 1446G1531
Apr 13 23:52:31 fio2 kernel: [ 336.129822] fioinf ioDrive 0000:00:04.0: Adapter serial number is 1446G1531
Apr 13 23:52:31 fio2 kernel: [ 336.130469] fioinf ioDrive 0000:00:04.0: Default capacity 1250.000 GBytes
Apr 13 23:52:31 fio2 kernel: [ 336.131142] fioinf ioDrive 0000:00:04.0: Default sector size 4096 bytes
Apr 13 23:52:31 fio2 kernel: [ 336.131791] fioinf ioDrive 0000:00:04.0: Rated endurance 4.00 PBytes
Apr 13 23:52:31 fio2 kernel: [ 336.132448] fioinf ioDrive 0000:00:04.0: 85C temp range hardware found
Apr 13 23:52:31 fio2 kernel: [ 336.133046] fioinf ioDrive 0000:00:04.0: Maximum capacity 1250.000 GBytes
Apr 13 23:52:31 fio2 kernel: [ 336.133823] fioinf ioDrive 0000:00:04.0: PCIe Slot reported power limit: 0mWatts
Apr 13 23:52:31 fio2 kernel: [ 336.134500] fioinf ioDrive 0000:00:04.0: Warning! PCIe Slot reported power 0mWatts is less than product minimum power 13000mWatts
Apr 13 23:52:31 fio2 kernel: [ 336.135566] fioinf ioDrive 0000:00:04.0: PCIe Adapter power limit: 25000mWatts
Apr 13 23:52:31 fio2 kernel: [ 336.136233] fioinf ioDrive 0000:00:04.0: PCIe Adapter power Throttle point: 24750mWatts
Apr 13 23:52:31 fio2 kernel: [ 336.136985] fioinf ioDrive 0000:00:04.0: Firmware Archive Information:
Apr 13 23:52:31 fio2 kernel: [ 336.137579] fioinf ioDrive 0000:00:04.0: * Name = ioMemory Firmware 8.9.9.20191010
Apr 13 23:52:31 fio2 kernel: [ 336.138343] fioinf ioDrive 0000:00:04.0: * Description = ioMemory Firmware 8.9.9.20191010 Archive
Apr 13 23:52:31 fio2 kernel: [ 336.139174] fioinf ioDrive 0000:00:04.0: * Version = 8.9.9.0
Apr 13 23:52:31 fio2 kernel: [ 336.139754] fioinf ioDrive 0000:00:04.0: * Date = 10/10/2019 Rev 20191010
Apr 13 23:52:32 fio2 kernel: [ 336.140458] fioinf ioDrive 0000:00:04.0: Firmware version 8.9.9 118194 (0x802409 0x1cdb2)
Apr 13 23:52:32 fio2 kernel: [ 336.141198] fioinf ioDrive 0000:00:04.0: Platform version 41
Apr 13 23:52:32 fio2 kernel: [ 336.141720] fioinf ioDrive 0000:00:04.0: Firmware VCS version 118194 [0x1cdb2]
Apr 13 23:52:32 fio2 kernel: [ 336.142387] fioinf ioDrive 0000:00:04.0: Firmware VCS uid 0xea8892fee031ff5085ff47b5d3b4717e7dd4b603
Apr 13 23:52:32 fio2 kernel: [ 336.161237] fioinf ioDrive 0000:00:04.0: Powercut flush: Supported and Enabled.
Apr 13 23:52:32 fio2 kernel: [ 336.678042] fioinf ioDrive 0000:00:04.0: Loading microcode image 1.0.9 rev 100764 with flags 0x00010100
Apr 13 23:52:32 fio2 kernel: [ 336.678566] fioinf ioDrive 0000:00:04.0: Microcode loaded (0).
Apr 13 23:52:32 fio2 kernel: [ 336.720875] fioinf ioDrive 0000:00:04.0: Limiting to 4 banks
Apr 13 23:52:32 fio2 kernel: [ 336.721134] fioinf ioDrive 0000:00:04.0: Multiple queues enabled
Apr 13 23:52:32 fio2 kernel: [ 336.735554] fioinf ioDrive 0000:00:04.0: PCIe power monitor enabled (master). Limit set to 24.750 watts.
Apr 13 23:52:32 fio2 kernel: [ 336.735993] fioinf ioDrive 0000:00:04.0: Thermal monitoring: Enabled
Apr 13 23:52:32 fio2 kernel: [ 336.736274] fioinf ioDrive 0000:00:04.0: Hardware temperature alarm set for 85C.
Apr 13 23:52:32 fio2 kernel: [ 336.791267] fioinf ioDrive 0000:00:04.0: Starting device ioMemory SX300-1300 0000:00:04.0
Apr 13 23:52:33 fio2 kernel: [ 337.687020] fioinf ioMemory SX300-1300 0000:00:04.0: probed fct0
Apr 13 23:52:33 fio2 kernel: [ 337.817645] fioinf ioMemory SX300-1300 0000:00:04.0: sector_size=4096
Apr 13 23:52:33 fio2 kernel: [ 337.818492] fioinf ioMemory SX300-1300 0000:00:04.0: Setting channel range data to [2 .. 1023]
Apr 13 23:52:34 fio2 kernel: [ 338.465417] fioinf ioMemory SX300-1300 0000:00:04.0: Found metadata in EBs 617-559, loading...
Apr 13 23:52:35 fio2 kernel: [ 339.384146] fioinf ioMemory SX300-1300 0000:00:04.0: Device has no Virtual Partitions. Creating compatibility Virtual Partition fioa.
Apr 13 23:52:35 fio2 kernel: [ 339.385377] fioinf ioMemory SX300-1300 0000:00:04.0: Created device of size 1249999998976 bytes with 305175781 sectors of 4096 bytes (204131054 mapped).
Apr 13 23:52:35 fio2 kernel: [ 339.391294] fioinf ioMemory SX300-1300 0000:00:04.0: Creating block device fioa: major: 251 minor: 0 sector size: 4096...
Apr 13 23:52:35 fio2 kernel: [ 339.393795] fioa: fioa1
Apr 13 23:52:35 fio2 kernel: [ 339.394289] fioinf ioMemory SX300-1300 0000:00:04.0: Exposing Virtual Partition fioa of size 1249999998976 bytes with 305175781 sectors of 4096 bytes (204131054 mapped).
Apr 13 23:52:35 fio2 kernel: [ 339.395807] fioinf ioMemory SX300-1300 0000:00:04.0: Attach succeeded.
Apr 13 23:52:46 fio2 kernel: [ 350.215585] EXT4-fs (fioa1): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
Apr 13 23:53:21 fio2 kernel: [ 385.618523] fioinf ioMemory SX300-1300 0000:00:04.0: Shutting down block device fioa: major: 251 minor: 0 sector size: 4096...
Apr 13 23:53:21 fio2 kernel: [ 385.619824] fioinf ioMemory SX300-1300 0000:00:04.0: Groomer for data log is tearing down
Apr 13 23:53:21 fio2 kernel: [ 385.620957] fioinf ioMemory SX300-1300 0000:00:04.0: Groomer for data log halted.
Apr 13 23:53:21 fio2 kernel: [ 385.914967] fioinf ioMemory SX300-1300 0000:00:04.0: Writing metadata starting at EB 272 (465 free 554 used)
Apr 13 23:53:23 fio2 kernel: [ 387.144240] fioinf ioDrive driver unloading...
Apr 13 23:53:23 fio2 kernel: [ 387.145055] fioinf ioDrive driver unloaded...
yeah so 5.16 is still bust....
Apr 14 00:27:19 fio2 kernel: [ 259.844102] RIP: 0010:linux_bdev_update_stats+0x11/0x2c0 [iomemory_vsl4]
Seems like something odd changed with the part stats which bork on 5.16. Though not on 5.15, nor 5.13. I've changed the intermediate gendisk and pointer that was assigned, which seems to have fixed the issue. Am testing on 5.15 and 5.16 now.
Should be fixed now, and is merged with main
I can confirm the driver works as expected on Linux 5.15.37
[ +0.993179] fioinf ioDrive 0000:11:00.0: Product UUID is 0fd50a4d-8ab4-5bca-b5f5-ae5b552fd812
[ +0.000021] fioinf ioDrive 0000:11:00.0: Required PCIE bandwidth 4.000 GBytes per sec
[ +0.000010] fioinf ioDrive 0000:11:00.0: Board serial number is 1447G0216
[ +0.000006] fioinf ioDrive 0000:11:00.0: Adapter serial number is 1447G0216
[ +0.000011] fioinf ioDrive 0000:11:00.0: Default capacity 3200.000 GBytes
[ +0.000008] fioinf ioDrive 0000:11:00.0: Default sector size 4096 bytes
[ +0.000005] fioinf ioDrive 0000:11:00.0: Rated endurance 11.00 PBytes
[ +0.000008] fioinf ioDrive 0000:11:00.0: 85C temp range hardware found
[ +0.000007] fioinf ioDrive 0000:11:00.0: Maximum capacity 3200.000 GBytes
[ +0.000040] fioinf ioDrive 0000:11:00.0: PCIe Slot reported power limit: 75000mWatts
[ +0.000019] fioinf ioDrive 0000:11:00.0: PCIe Adapter power limit: 75000mWatts
[ +0.000006] fioinf ioDrive 0000:11:00.0: PCIe Adapter power Throttle point: 74750mWatts
[ +0.000013] fioinf ioDrive 0000:11:00.0: Firmware Archive Information:
[ +0.000007] fioinf ioDrive 0000:11:00.0: * Name = ioMemory Firmware 8.9.8.20161119
[ +0.000007] fioinf ioDrive 0000:11:00.0: * Description = ioMemory Firmware 8.9.8.20161119 Archive
[ +0.000007] fioinf ioDrive 0000:11:00.0: * Version = 8.9.8.0
[ +0.000007] fioinf ioDrive 0000:11:00.0: * Date = 11/19/2016 Rev 20161119
[ +0.000009] fioinf ioDrive 0000:11:00.0: Firmware version 8.9.8 118189 (0x802408 0x1cdad)
[ +0.000009] fioinf ioDrive 0000:11:00.0: Platform version 41
[ +0.000006] fioinf ioDrive 0000:11:00.0: Firmware VCS version 118189 [0x1cdad]
[ +0.000011] fioinf ioDrive 0000:11:00.0: Firmware VCS uid 0xa8aa40fe86ad1122411352667b9dc702a7c235af
[ +0.009571] fioinf ioDrive 0000:11:00.0: Powercut flush: Supported and Enabled.
[ +0.186104] fioinf ioDrive 0000:11:00.0: Loading microcode image 1.0.8 rev 100749 with flags 0x00010100
[ +0.000080] fioinf ioDrive 0000:11:00.0: Microcode loaded (0).
[ +0.078390] fioinf ioDrive 0000:11:00.0: Multiple queues enabled
[ +0.033351] fioinf ioDrive 0000:11:00.0: PCIe power monitor enabled (master). Limit set to 74.750 watts.
[ +0.000015] fioinf ioDrive 0000:11:00.0: Thermal monitoring: Enabled
[ +0.000004] fioinf ioDrive 0000:11:00.0: Hardware temperature alarm set for 85C.
[ +0.000908] lpfc 0000:51:00.1: 1:1303 Link Up Event x1 received Data: x1 x0 x80 x0 x0 x0 0
[ +0.101480] fioinf ioDrive 0000:11:00.0: Starting device IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:11:00.0
[ +0.606386] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:11:00.0: probed fct0
[ +0.000327] iomemory-vsl4 0000:41:00.0: enabling device (0140 -> 0142)
[ +0.000379] fioinf ioDrive 0000:41:00.0: mapping controller on BAR 5
[ +0.110249] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:11:00.0: sector_size=4096
[ +0.002636] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:11:00.0: Setting channel range data to [2 .. 1023]
[ +0.037423] fioinf ioDrive 0000:41:00.0: Configuring controller.
[ +0.000654] fioinf ioDrive 0000:41:00.0: using MSI-X interrupts
[ +0.000724] fioinf ioDrive 0000:41:00.0: Starting controller
[ +0.635996] fioinf ioDrive 0000:41:00.0: PMP Address: 1 1 1
[ +0.334875] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:11:00.0: Found metadata in EBs 16-654, loading...
[ +1.357132] fioinf ioDrive 0000:41:00.0: SMP fpga Microcode BOOT version 0.8.0 1
[ +0.000022] fioinf ioDrive 0000:41:00.0: SMP controller Microcode APP version 0.15.0 0
[ +0.360702] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:11:00.0: Device has no Virtual Partitions. Creating compatibility Virtual Partition fioa.
[ +0.000057] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:11:00.0: Created device of size 3200000000000 bytes with 781250000 sectors of 4096 bytes (3620004 mapped).
[ +0.002169] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:11:00.0: Creating block device fioa: major: 251 minor: 0 sector size: 4096...
[ +0.000895] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:11:00.0: Exposing Virtual Partition fioa of size 3200000000000 bytes with 781250000 sectors of 4096 bytes (3620004 mapped).
[ +0.000024] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:11:00.0: Attach succeeded.
[ +0.788197] fioinf ioDrive 0000:41:00.0: Product UUID is 93b97521-c82c-54d3-a55e-bd37411256aa
[ +0.000034] fioinf ioDrive 0000:41:00.0: Required PCIE bandwidth 4.000 GBytes per sec
[ +0.000020] fioinf ioDrive 0000:41:00.0: Board serial number is 1447G0068
[ +0.000006] fioinf ioDrive 0000:41:00.0: Adapter serial number is 1447G0068
[ +0.000010] fioinf ioDrive 0000:41:00.0: Default capacity 3200.000 GBytes
[ +0.000008] fioinf ioDrive 0000:41:00.0: Default sector size 4096 bytes
[ +0.000006] fioinf ioDrive 0000:41:00.0: Rated endurance 11.00 PBytes
[ +0.000006] fioinf ioDrive 0000:41:00.0: 85C temp range hardware found
[ +0.000008] fioinf ioDrive 0000:41:00.0: Maximum capacity 3200.000 GBytes
[ +0.000037] fioinf ioDrive 0000:41:00.0: PCIe Slot reported power limit: 75000mWatts
[ +0.000007] fioinf ioDrive 0000:41:00.0: PCIe Adapter power limit: 75000mWatts
[ +0.000007] fioinf ioDrive 0000:41:00.0: PCIe Adapter power Throttle point: 74750mWatts
[ +0.000012] fioinf ioDrive 0000:41:00.0: Firmware Archive Information:
[ +0.000007] fioinf ioDrive 0000:41:00.0: * Name = ioMemory Firmware 8.9.8.20161119
[ +0.000007] fioinf ioDrive 0000:41:00.0: * Description = ioMemory Firmware 8.9.8.20161119 Archive
[ +0.000007] fioinf ioDrive 0000:41:00.0: * Version = 8.9.8.0
[ +0.000007] fioinf ioDrive 0000:41:00.0: * Date = 11/19/2016 Rev 20161119
[ +0.000009] fioinf ioDrive 0000:41:00.0: Firmware version 8.9.8 118189 (0x802408 0x1cdad)
[ +0.000009] fioinf ioDrive 0000:41:00.0: Platform version 41
[ +0.000006] fioinf ioDrive 0000:41:00.0: Firmware VCS version 118189 [0x1cdad]
[ +0.000010] fioinf ioDrive 0000:41:00.0: Firmware VCS uid 0xa8aa40fe86ad1122411352667b9dc702a7c235af
[ +0.018808] fioinf ioDrive 0000:41:00.0: Powercut flush: Supported and Enabled.
[ +0.196803] fioinf ioDrive 0000:41:00.0: Loading microcode image 1.0.8 rev 100749 with flags 0x00010100
[ +0.000080] fioinf ioDrive 0000:41:00.0: Microcode loaded (0).
[ +0.078487] fioinf ioDrive 0000:41:00.0: Multiple queues enabled
[ +0.033364] fioinf ioDrive 0000:41:00.0: PCIe power monitor enabled (master). Limit set to 74.750 watts.
[ +0.000013] fioinf ioDrive 0000:41:00.0: Thermal monitoring: Enabled
[ +0.000004] fioinf ioDrive 0000:41:00.0: Hardware temperature alarm set for 85C.
[ +0.093540] fioinf ioDrive 0000:41:00.0: Starting device IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:41:00.0
[ +0.735617] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:41:00.0: probed fct1
[ +0.162683] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:41:00.0: sector_size=4096
[ +0.003179] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:41:00.0: Setting channel range data to [2 .. 1023]
[ +0.962630] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:41:00.0: Found metadata in EBs 528-419, loading...
[ +1.882862] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:41:00.0: Device has no Virtual Partitions. Creating compatibility Virtual Partition fiob.
[ +0.000057] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:41:00.0: Created device of size 3200000000000 bytes with 781250000 sectors of 4096 bytes (1701028 mapped).
[ +0.000616] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:41:00.0: Creating block device fiob: major: 251 minor: 16 sector size: 4096...
[ +0.000755] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:41:00.0: Exposing Virtual Partition fiob of size 3200000000000 bytes with 781250000 sectors of 4096 bytes (1701028 mapped).
[ +0.000011] fioinf IBM 3200GB Enterprise Value io3 Flash Adapter for System x 0000:41:00.0: Attach succeeded.
Thank you
Bug description
Build failed with Linux 5.15 and 5.16 on Slackware64 15.0. Build normally with Linux 5.13.19.
How to reproduce
Possible solution
I believe bdgrab was dropped in Linux 5.15. For example in this commit message
Environment information
Information about the system the module is used on
Found 1 VSL driver package: 4.3.7 build 1205 Driver: loaded
Found 2 ioMemory devices in this system
Adapter: ioMono (driver 4.3.7) IBM 3200GB Enterprise Value io3 Flash Adapter for System x, Product Number:00D8432, SN:11S00D8436Y050EB4C9039 PCIe Power limit threshold: 74.75W Connected ioMemory modules: fct0: 11:00.0, Product Number:00D8432, SN:11S00D8436Y050EB4C9039
fct0 Attached ioMemory Adapter Controller, Product Number:00D8432, SN:1447G0149 PCI:11:00.0, Slot Number:9 Firmware v8.9.8, rev 20161119 Public 3200.00 GBytes device size Internal temperature: 37.90 degC, max 43.80 degC Reserve space status: Healthy; Reserves: 100.00%, warn at 10.00% Contained Virtual Partitions: fioa: ID:0, UUID:a068be9b-9ba8-4937-b544-850259b1bc30
fioa State: Online, Type: block device, Device: /dev/fioa ID:0, UUID:a068be9b-9ba8-4937-b544-850259b1bc30 3200.00 GBytes device size
Adapter: ioMono (driver 4.3.7) IBM 3200GB Enterprise Value io3 Flash Adapter for System x, Product Number:00D8432, SN:11S00D8436Y050EB4C9046 PCIe Power limit threshold: 74.75W Connected ioMemory modules: fct1: 41:00.0, Product Number:00D8432, SN:11S00D8436Y050EB4C9046
fct1 Attached ioMemory Adapter Controller, Product Number:00D8432, SN:1447G0172 PCI:41:00.0, Slot Number:8 Firmware v8.9.8, rev 20161119 Public 3200.00 GBytes device size Internal temperature: 46.76 degC, max 53.65 degC Reserve space status: Healthy; Reserves: 100.00%, warn at 10.00% Contained Virtual Partitions: fiob: ID:0, UUID:5dc81890-7ade-4db5-8e91-3566e1714fc2
fiob State: Online, Type: block device, Device: /dev/fiob ID:0, UUID:5dc81890-7ade-4db5-8e91-3566e1714fc2 3200.00 GBytes device size