Closed JerryLutor closed 4 years ago
Please upgrade to Kernel 5.0 or higher, or use the official packages. We dropped support for 4.x Kernels in our fork.
Ubuntu 20.04 LTS was released recently, but seems like there's no ETA on Debian 11. You can try this guide on backporting the latest kernel onto Debian 10:
https://www.addictivetips.com/ubuntu-linux-tips/get-linux-kernel-5-3-on-debian-10-stable/
Bug description
SHIPPED /usr/src/iomemory-vsl4/driver_source/kfio/x86_64_cc83_libkfio.o CC [M] /usr/src/iomemory-vsl4/driver_source/module_param.o /usr/src/iomemory-vsl4/driver_source/kblock.c: In function ‘linux_bdev_expose_disk’: /usr/src/iomemory-vsl4/driver_source/kblock.c:669:24: error: implicit declaration of function ‘blk_mq_init_sq_queue’; did you mean ‘blk_mq_init_queue’? [-Werror=implicit-function-declaration] disk->rq = blk_mq_init_sq_queue(&disk->tag_set, &fio_mq_ops, 256, BLK_MQ_F_SHOULD_MERGE); ^
~~~~~~~ blk_mq_init_queue /usr/src/iomemory-vsl4/driver_source/kblock.c:669:22: warning: assignment to ‘struct request_queue ’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] disk->rq = blk_mq_init_sq_queue(&disk->tag_set, &fio_mq_ops, 256, BLK_MQ_F_SHOULD_MERGE); ^ /usr/src/iomemory-vsl4/driver_source/kblock.c: In function ‘linux_bdev_update_stats’: /usr/src/iomemory-vsl4/driver_source/kblock.c:957:41: error: macro "part_stat_inc" requires 3 arguments, but only 2 given part_stat_inc(&gd->part0, ios[1]); ^ /usr/src/iomemory-vsl4/driver_source/kblock.c:957:9: error: ‘part_stat_inc’ undeclared (first use in this function); did you mean ‘part_stat_show’? part_stat_inc(&gd->part0, ios[1]); ^~~~~ part_stat_show /usr/src/iomemory-vsl4/driver_source/kblock.c:957:9: note: each undeclared identifier is reported only once for each function it appears in /usr/src/iomemory-vsl4/driver_source/kblock.c:958:61: error: macro "part_stat_add" requires 4 arguments, but only 3 given part_stat_add(&gd->part0, sectors[1], totalsize >> 9); ^ /usr/src/iomemory-vsl4/driver_source/kblock.c:958:9: error: ‘part_stat_add’ undeclared (first use in this function); did you mean ‘part_stat_show’? part_stat_add(&gd->part0, sectors[1], totalsize >> 9); ^~~~~ part_stat_show /usr/src/iomemory-vsl4/driver_source/kblock.c:959:91: error: macro "part_stat_add" requires 4 arguments, but only 3 given part_stat_add(&gd->part0, nsecs[1], kfio_div64_64(duration HZ, FIO_USEC_PER_SEC)); ^ /usr/src/iomemory-vsl4/driver_source/kblock.c:966:41: error: macro "part_stat_inc" requires 3 arguments, but only 2 given part_stat_inc(&gd->part0, ios[0]); ^ /usr/src/iomemory-vsl4/driver_source/kblock.c:967:61: error: macro "part_stat_add" requires 4 arguments, but only 3 given part_stat_add(&gd->part0, sectors[0], totalsize >> 9); ^ /usr/src/iomemory-vsl4/driver_source/kblock.c:968:91: error: macro "part_stat_add" requires 4 arguments, but only 3 given part_stat_add(&gd->part0, nsecs[0], kfio_div64_64(duration HZ, FIO_USEC_PER_SEC)); ^ /usr/src/iomemory-vsl4/driver_source/kblock.c:946:21: warning: unused variable ‘gd’ [-Wunused-variable] struct gendisk gd = disk->gd; ^~ /usr/src/iomemory-vsl4/driver_source/kblock.c: In function ‘kfio_alloc_queue’: /usr/src/iomemory-vsl4/driver_source/kblock.c:1599:10: error: too few arguments to function ‘blk_alloc_queue_node’ rq = blk_alloc_queue_node(GFP_NOIO, node); ^~~~~~~~ In file included from /usr/src/iomemory-vsl4/driver_source/port-internal.h:59, from /usr/src/iomemory-vsl4/driver_source/kblock.c:36: /usr/src/linux-headers-4.19.0-8-common/include/linux/blkdev.h:1282:23: note: declared here struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id,How to reproduce
git clone https://github.com/snuf/iomemory-vsl4 cd iomemory-vsl4/ git checkout v5.6.1
Posible solution
Environment information
1) Linux 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux 2) gcc (Debian 8.3.0-6) 8.3.0 3) debian 10.3 4) git checkout v5.6.1 5) 27:00.0 Mass storage controller [0180]: SanDisk ioMemory HHHL [1aed:3002]