RemixVSL / iomemory-vsl

Updated Fusion-io iomemory VSL Linux (version 3.2.16) driver for recent kernels.
150 stars 27 forks source link

[BUG] Cannot build on 4.19.0+1 #110

Closed timolow closed 2 years ago

timolow commented 2 years ago

Bug description

Unable to build v4.20.3 on 4.19.0+1 (XCP-NG) Centos 7.5 host.

Linux r720-xcp-ng 4.19.0+1 #1 SMP Thu Jan 13 12:55:45 CET 2022 x86_64 x86_64 x86_64 GNU/Linux
[09:37 r720-xcp-ng iomemory-vsl]# git status
# On branch v4.20.3
nothing to commit, working directory clean
[09:37 r720-xcp-ng iomemory-vsl]# rpmbuild -ba fio-driver.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.ShKhKb
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd /root/rpmbuild/BUILD
+ rm -rf iomemory-vsl-3.2.16.1732
+ /usr/bin/mkdir -p iomemory-vsl-3.2.16.1732
+ cd iomemory-vsl-3.2.16.1732
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ rsync -rv /root/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16/ driver_source/
sending incremental file list
created directory driver_source
./
Kbuild
Makefile
cdev.c
check_target_kernel.conf
check_target_kernel.sh
dkms.conf
driver_init.c
errno.c
kblock.c
kcache.c
kcondvar.c
kcpu.c
kcsr.c
kexports.c
kfile.c
kfio.c
kfio_common.c
kfio_config.sh
khotplug.c
kinfo.c
kmem.c
kscatter.c
kscsi.c
kscsi_host.c
ktime.c
main.c
module_operations.sh
module_param.c
pci.c
port-internal.h
sched.c
state.c
sysrq.c
include/
include/fio/
include/fio/port/
include/fio/port/align.h
include/fio/port/atomic_list.h
include/fio/port/bitops.h
include/fio/port/byteswap.h
include/fio/port/cdev.h
include/fio/port/commontypes.h
include/fio/port/compiler.h
include/fio/port/csr_simulator.h
include/fio/port/dbgset.h
include/fio/port/errno.h
include/fio/port/fio-poppack.h
include/fio/port/fio-port.h
include/fio/port/fio-pshpack1.h
include/fio/port/fio-stat.h
include/fio/port/fiostring.h
include/fio/port/ifio.h
include/fio/port/ioctl.h
include/fio/port/kbio.h
include/fio/port/kblock.h
include/fio/port/kcache.h
include/fio/port/kcondvar.h
include/fio/port/kcpu.h
include/fio/port/kcsr.h
include/fio/port/kfio.h
include/fio/port/kfio_config.h
include/fio/port/kglobal.h
include/fio/port/kinfo.h
include/fio/port/kmem.h
include/fio/port/kpci.h
include/fio/port/kscatter.h
include/fio/port/kscsi.h
include/fio/port/ktime.h
include/fio/port/ktypes.h
include/fio/port/ktypes_32.h
include/fio/port/ktypes_64.h
include/fio/port/libgen.h
include/fio/port/list.h
include/fio/port/pci.h
include/fio/port/port_config.h
include/fio/port/port_config_macros.h
include/fio/port/port_config_macros_clear.h
include/fio/port/port_config_vars_externs.h
include/fio/port/sched.h
include/fio/port/state.h
include/fio/port/stdint.h
include/fio/port/trim_completion.h
include/fio/port/trimmon_attach.h
include/fio/port/ufio.h
include/fio/port/unaligned.h
include/fio/port/utypes.h
include/fio/port/vararg.h
include/fio/port/arch/
include/fio/port/arch/bits.h
include/fio/port/arch/mips_atomic.h
include/fio/port/arch/mips_cache.h
include/fio/port/arch/ppc_atomic.h
include/fio/port/arch/ppc_cache.h
include/fio/port/arch/x86_atomic.h
include/fio/port/arch/x86_cache.h
include/fio/port/arch/x86_64/
include/fio/port/arch/x86_64/bits.h
include/fio/port/common-linux/
include/fio/port/common-linux/commontypes.h
include/fio/port/common-linux/div64.h
include/fio/port/common-linux/errno.h
include/fio/port/common-linux/kassert.h
include/fio/port/common-linux/kblock.h
include/fio/port/common-linux/kcondvar.h
include/fio/port/common-linux/kfile.h
include/fio/port/common-linux/kfio.h
include/fio/port/common-linux/kpci.h
include/fio/port/common-linux/kscsi_config.h
include/fio/port/common-linux/kscsi_host.h
include/fio/port/common-linux/stdint.h
include/fio/port/common-linux/ufio.h
include/fio/port/gcc/
include/fio/port/gcc/align.h
include/fio/port/gcc/compiler.h
include/fio/port/linux/
include/fio/port/linux/ktypes.h
include/fio/port/linux/utypes.h
kfio/
kfio/x86_64_cc41_libkfio.o_shipped
kfio/x86_64_cc43_libkfio.o_shipped
kfio/x86_64_cc44_libkfio.o_shipped
kfio/x86_64_cc48_libkfio.o_shipped
kfio/x86_64_cc49_libkfio.o_shipped
kfio/x86_64_cc53_libkfio.o_shipped
kfio/x86_64_cc54_libkfio.o_shipped
kfio/x86_64_cc63_libkfio.o_shipped
kfio/x86_64_cc74_libkfio.o_shipped

sent 15,216,415 bytes  received 2,353 bytes  30,437,536.00 bytes/sec
total size is 15,204,711  speedup is 1.00
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.CP5r4N
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd iomemory-vsl-3.2.16.1732
+ /usr/bin/make -C driver_source KERNELVER=4.19.0+1 FIO_DRIVER_NAME=iomemory-vsl FIO_SCSI_DEVICE=False modules
make: Entering directory `/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source'

Change found in target kernel: KERNELVER KERNEL_SRC
Running clean before building driver

make[1]: Entering directory `/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source'
/usr/bin/make \
        -j16 \
    -C /lib/modules/4.19.0+1/build \
    FIO_DRIVER_NAME=iomemory-vsl \
    FUSION_DRIVER_DIR=/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source \
    M=/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source \
    EXTRA_CFLAGS+="-I/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/include -DBUILDING_MODULE -DLINUX_IO_SCHED -Wall -Werror" \
    KFIO_LIB=kfio/x86_64_cc48_libkfio.o_shipped \
    clean
make[2]: Entering directory `/usr/src/kernels/4.19.0+1-x86_64'
make[2]: Leaving directory `/usr/src/kernels/4.19.0+1-x86_64'
rm -rf include/fio/port/linux/kfio_config.h kfio_config license.c
make[1]: Leaving directory `/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source'
if [ "48" -gt "74" ];then \
    if [ ! -f "kfio/x86_64_cc48_libkfio.o_shipped" ];then \
        cp kfio/x86_64_cc74_libkfio.o_shipped kfio/x86_64_cc48_libkfio.o_shipped; \
    fi \
fi
./kfio_config.sh -a x86_64 -o include/fio/port/linux/kfio_config.h -k /lib/modules/4.19.0+1/build -p -d /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfio_config -l 0 -s /lib/modules/4.19.0+1/source
Detecting Kernel Flags
Config dir         : /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfio_config
Output file        : include/fio/port/linux/kfio_config.h
Kernel output dir  : /lib/modules/4.19.0+1/build
Kernel source dir  : /lib/modules/4.19.0+1/source
Starting tests:
  1656859058.762  KFIOC_MISSING_WORK_FUNC_T...
  1656859058.789  KFIOC_WORKDATA_PASSED_IN_WORKSTRUCT...
  1656859058.816  KFIOC_HAS_PCI_ERROR_HANDLERS...
  1656859058.844  KFIOC_HAS_GLOBAL_REGS_POINTER...
  1656859058.875  KFIOC_HAS_SYSRQ_KEY_OP_ENABLE_MASK...
  1656859058.905  KFIOC_HAS_DISK_STATS_READ_WRITE_ARRAYS...
  1656859058.936  KFIOC_HAS_LINUX_SCATTERLIST_H...
  1656859058.967  KFIOC_KMEM_CACHE_CREATE_REMOVED_DTOR...
  1656859058.999  KFIOC_BIO_ENDIO_HAS_BYTES_DONE...
  1656859059.033  KFIOC_INVALIDATE_BDEV_REMOVED_DESTROY_DIRTY_BUFFERS...
  1656859059.068  KFIOC_NEEDS_VIRT_TO_PHYS...
  1656859059.104  KFIOC_HAS_BLK_UNPLUG...
  1656859059.141  KFIOC_HAS_BLK_DELAY_QUEUE...
  1656859059.176  KFIOC_SPINLOCK_TYPE_CHECK...
  1656859059.213  KFIOC_REQUEST_QUEUE_HAS_UNPLUG_FN...
  1656859059.250  KFIOC_REQUEST_QUEUE_UNPLUG_FN_HAS_EXTRA_BOOL_PARAM...
  1656859059.289  KFIOC_BACKING_DEV_INFO_HAS_UNPLUG_IO_FN...
  1656859059.328  KFIOC_HAS_KMEM_CACHE...
  1656859059.368  KFIOC_HAS_MUTEX_SUBSYSTEM...
  1656859059.413  KFIOC_STRUCT_FILE_HAS_PATH...
  1656859059.460  KFIOC_HAS_PATH_LOOKUP...
  1656859059.504  KFIOC_UNREGISTER_BLKDEV_RETURNS_VOID...
  1656859059.552  KFIOC_PARTITION_STATS...
  1656859059.599  KFIOC_HAS_NEW_BLOCK_METHODS...
  1656859059.647  KFIOC_BLOCK_DEVICE_RELEASE_RETURNS_INT...
  1656859059.708  KFIOC_HAS_NEW_BLKDEV_METHODS...
  1656859059.754  KFIOC_HAS_COMPAT_IOCTL_METHOD...
  1656859059.813  KFIOC_COMPAT_IOCTL_RETURNS_LONG...
  1656859059.876  KFIOC_DISCARD...
  1656859059.933  KFIOC_DISCARD_ZEROES_IN_LIMITS...
  1656859059.998  KFIOC_HAS_REQ_UNPLUG...
  1656859060.058  KFIOC_HAS_BIO_RW_SYNC...
  1656859060.121  KFIOC_HAS_BIO_RW_UNPLUG...
  1656859066.142  KFIOC_HAS_BIOVEC_ITERATORS...
  1656859066.252  KFIOC_DISCARD_GRANULARITY_IN_LIMITS...
  1656859066.334  KFIOC_BARRIER...
  1656859066.427  KFIOC_USE_LINUX_UACCESS_H...
  1656859066.532  KFIOC_HAS_SPIN_LOCK_IRQSAVE_NESTED...
  1656859066.618  KFIOC_MODULE_PARAM_ARRAY_NUMP...
  1656859066.713  KFIOC_OWNER_IN_STRUCT_PROC_DIR_ENTRY...
  1656859066.814  KFIOC_CONFIG_PREEMPT_RT...
  1656859066.883  KFIOC_CONFIG_TREE_PREEMPT_RCU...
  1656859066.954  KFIOC_HAS_BLK_QUEUE_HARDSECT_SIZE...
  1656859067.026  KFIOC_HAS_END_REQUEST...
  1656859067.098  KFIOC_USE_IO_SCHED...
  1656859067.173  KFIOC_USE_NEW_IO_SCHED...
  1656859067.258  KFIOC_HAS_ELV_DEQUEUE_REQUEST...
  1656859067.326  KFIOC_HAS_BIO_RW_FLAGGED...
  1656859067.406  KFIOC_HAS_INFLIGHT_RW...
  1656859067.509  KFIOC_HAS_INFLIGHT_RW_ATOMIC...
  1656859067.607  KFIOC_HAS_BLK_LIMITS_IO_MIN...
  1656859067.687  KFIOC_HAS_BLK_LIMITS_IO_OPT...
  1656859067.759  KFIOC_HAS_BLK_QUEUE_MAX_SEGMENTS...
  1656859067.864  KFIOC_HAS_UNIFIED_BLKTYPES...
  1656859067.961  KFIOC_HAS_BIO_RW_DISCARD...
  1656859068.046  KFIOC_HAS_SEPARATE_OP_FLAGS...
  1656859068.145  KFIOC_SYSRQ_HANDLER_NEEDS_TTY_STRUCT...
  1656859068.209  KFIOC_PCI_REQUEST_REGIONS_CONST_CHAR...
  1656859068.290  KFIOC_FOPS_USE_LOCKED_IOCTL...
  1656859068.371  KFIOC_HAS_RQ_POS_BYTES...
  1656859068.452  KFIOC_HAS_RQ_IS_SYNC...
  1656859068.522  KFIOC_HAS_RQ_FOR_EACH_BIO...
  1656859068.757  KFIOC_HAS_REQ_RW_SYNC...
  1656859068.836  KFIOC_BIOSET_CREATE_HAS_THIRD_ARG...
  1656859068.897  KFIOC_QUEUE_HAS_NONROT_FLAG...
  1656859074.227  KFIOC_QUEUE_HAS_RANDOM_FLAG...
  1656859074.363  KFIOC_KBLOCKD_SCHEDULE_HAS_QUEUE_ARG...
  1656859074.568  KFIOC_TASK_HAS_NR_CPUS_ALLOWED...
  1656859074.755  KFIOC_TASK_HAS_BOUND_FLAG...
  1656859074.821  KFIOC_NUMA_MAPS...
  1656859074.918  KFIOC_PCI_HAS_NUMA_INFO...
  1656859075.006  KFIOC_CACHE_ALLOC_NODE_TAKES_FLAGS...
  1656859075.072  KFIOC_NEW_BARRIER_SCHEME...
  1656859075.154  KFIOC_NEWER_BARRIER_SCHEME...
  1656859075.257  KFIOC_HAS_QUEUE_FLAG_CLUSTER...
  1656859075.340  KFIOC_HAS_QUEUE_LIMITS_CLUSTER...
  1656859075.433  KFIOC_HAS_QUEUE_FLAG_CLEAR_UNLOCKED...
  1656859075.522  KFIOC_HAS_BIO_COMP_CPU...
  1656859075.680  KFIOC_BVEC_KMAP_IRQ_HAS_LONG_FLAGS...
  1656859075.744  KFIOC_MAKE_REQUEST_FN_VOID...
  1656859075.908  KFIOC_HAS_BLK_FS_REQUEST...
  1656859076.020  KFIOC_HAS_BLK_STOP_QUEUE...
  1656859076.102  KFIOC_REQUEST_HAS_CMD_TYPE...
  1656859076.203  KFIOC_KMAP_ATOMIC_NEEDS_TYPE...
  1656859076.386  KFIOC_HAS_BLK_ALLOC_QUEUE_NODE...
  1656859076.557  KFIOC_SGLIST_NEW_API...
  1656859076.627  KFIOC_HAS_SCSI_QD_CHANGE_FN...
  1656859076.684  KFIOC_HAS_SCSI_LUNID_UINT...
  1656859076.758  KFIOC_HAS_PROCFS_PDE_DATA...
  1656859076.843  KFIOC_HAS_PROC_CREATE_DATA...
  1656859076.925  KFIOC_HAS_NEW_QUEUECOMMAND_SIGNATURE...
  1656859077.126  KFIOC_HAS_SCSI_SG_FNS...
  1656859077.313  KFIOC_HAS_SCSI_SG_COPY_FNS...
  1656859077.389  KFIOC_HAS_SCSI_RESID_FNS...
  1656859077.470  KFIOC_ACPI_EVAL_INT_TAKES_UNSIGNED_LONG_LONG...
  1656859077.628  KFIOC_BIO_HAS_HW_SEGMENTS...
  1656859078.153  KFIOC_BIO_HAS_SEG_SIZE...
  1656859082.378  KFIOC_BIO_HAS_DESTRUCTOR...
  1656859082.465  KFIOC_BIO_HAS_ATOMIC_REMAINING...
  1656859082.560  KFIOC_BIO_HAS_INTEGRITY...
  1656859083.333  KFIOC_BIO_HAS_SPECIAL...
  1656859083.434  KFIOC_HAS_FILE_INODE_HELPER...
  1656859083.599  KFIOC_HAS_CPUMASK_WEIGHT...
  1656859083.682  KFIOC_BIO_HAS_USCORE_BI_CNT...
  1656859083.796  KFIOC_BIO_ENDIO_REMOVED_ERROR...
  1656859083.882  KFIOC_BIO_ERROR_CHANGED_TO_STATUS...
  1656859083.965  KFIOC_MAKE_REQUEST_FN_UINT...
  1656859084.052  KFIOC_GET_USER_PAGES_REQUIRES_TASK...
  1656859084.130  KFIOC_BARRIER_USES_QUEUE_FLAGS...
  1656859084.205  KFIOC_GET_USER_PAGES_HAS_GUP_FLAGS...
  1656859084.320  KFIOC_HAS_HOTPLUG_STATE_MACHINE...
  1656859084.388  KFIOC_HAS_HOTPLUG_BP_PREPARE_DYN_STATES...
  1656859084.445  KFIOC_HAS_HOTPLUG_AP_ONLINE_DYN_STATES...
  1656859084.512  KFIOC_HAS_HOTPLUG_STATES_REMOVAL_BUG...
  1656859084.585  KFIOC_HAS_PCI_ENABLE_MSIX_EXACT...
  1656859084.671  KFIOC_ELEVATOR_EXIT_HAS_REQQ_PARAM...
  1656859084.766  KFIOC_HAS_BLK_RQ_IS_PASSTHROUGH...
  1656859084.855  KFIOC_HAS_BLK_QUEUE_BOUNCE...
  1656859085.431  KFIOC_HAS_BLK_QUEUE_SPLIT2...
  1656859085.699  KFIOC_HAS_ELEVATOR_INIT...
  1656859085.777  KFIOC_X_REQUEST_QUEUE_HAS_QUEUE_LOCK_POINTER...
  1656859085.866  KFIOC_X_PART_STAT_REQUIRES_CPU...
  1656859085.945  KFIOC_X_REQUEST_QUEUE_HAS_REQUEST_FN...
  1656859086.092  KFIOC_X_TASK_HAS_CPUS_ALLOWED...
  1656859086.344  KFIOC_X_BIO_HAS_BIO_SEGMENTS...
  1656859086.512  KFIOC_X_BIO_HAS_BI_PHYS_SEGMENTS...
  1656859086.676  KFIOC_X_HAS_BLK_QUEUE_FLAG_OPS...
  1656859086.744  KFIOC_X_BIO_HAS_ERROR...
  1656859087.515  KFIOC_X_REQ_HAS_ERRORS...
  1656859090.263  KFIOC_X_REQ_HAS_ERROR_COUNT...
  1656859090.326  KFIOC_X_BOUNCE_H...
  1656859090.500  KFIOC_X_HAS_TIMER_SETUP...
  1656859091.342  KFIOC_X_HAS_DISK_STATS_NSECS...
  1656859091.709  KFIOC_X_HAS_COARSE_REAL_TS...
  1656859092.420  KFIOC_X_HAS_ELEVATOR_INIT...
  1656859092.538  KFIOC_X_PART0_HAS_IN_FLIGHT...
  1656859092.617  KFIOC_X_PROC_CREATE_DATA_WANTS_PROC_OPS...
Started tests, waiting for completions...
  1656859093.027  KFIOC_MISSING_WORK_FUNC_T=0
  1656859093.339  KFIOC_WORKDATA_PASSED_IN_WORKSTRUCT=1
  1656859093.608  KFIOC_HAS_PCI_ERROR_HANDLERS=1
  1656859093.869  KFIOC_HAS_GLOBAL_REGS_POINTER=1
  1656859094.141  KFIOC_HAS_SYSRQ_KEY_OP_ENABLE_MASK=1
  1656859094.347  KFIOC_HAS_DISK_STATS_READ_WRITE_ARRAYS=1
  1656859094.540  KFIOC_HAS_LINUX_SCATTERLIST_H=0
  1656859094.727  KFIOC_KMEM_CACHE_CREATE_REMOVED_DTOR=1
  1656859094.913  KFIOC_BIO_ENDIO_HAS_BYTES_DONE=0
  1656859095.096  KFIOC_INVALIDATE_BDEV_REMOVED_DESTROY_DIRTY_BUFFERS=1
  1656859095.275  KFIOC_NEEDS_VIRT_TO_PHYS=0
  1656859095.450  KFIOC_HAS_BLK_UNPLUG=0
  1656859095.628  KFIOC_HAS_BLK_DELAY_QUEUE=1
  1656859095.800  KFIOC_SPINLOCK_TYPE_CHECK=1
  1656859095.976  KFIOC_REQUEST_QUEUE_HAS_UNPLUG_FN=0
  1656859096.146  KFIOC_REQUEST_QUEUE_UNPLUG_FN_HAS_EXTRA_BOOL_PARAM=1
  1656859096.309  KFIOC_BACKING_DEV_INFO_HAS_UNPLUG_IO_FN=0
  1656859096.472  KFIOC_HAS_KMEM_CACHE=1
  1656859096.628  KFIOC_HAS_MUTEX_SUBSYSTEM=1
  1656859096.784  KFIOC_STRUCT_FILE_HAS_PATH=0
  1656859096.939  KFIOC_HAS_PATH_LOOKUP=0
  1656859097.094  KFIOC_UNREGISTER_BLKDEV_RETURNS_VOID=1
  1656859097.249  KFIOC_PARTITION_STATS=1
  1656859097.403  KFIOC_HAS_NEW_BLOCK_METHODS=1
  1656859097.558  KFIOC_BLOCK_DEVICE_RELEASE_RETURNS_INT=0
  1656859097.713  KFIOC_HAS_NEW_BLKDEV_METHODS=1
  1656859097.868  KFIOC_HAS_COMPAT_IOCTL_METHOD=1
  1656859098.023  KFIOC_COMPAT_IOCTL_RETURNS_LONG=1
  1656859098.179  KFIOC_DISCARD=1
  1656859098.333  KFIOC_DISCARD_ZEROES_IN_LIMITS=0
  1656859098.488  KFIOC_HAS_REQ_UNPLUG=0
  1656859098.644  KFIOC_HAS_BIO_RW_SYNC=0
  1656859098.799  KFIOC_HAS_BIO_RW_UNPLUG=0
  1656859098.955  KFIOC_HAS_BIOVEC_ITERATORS=1
  1656859099.110  KFIOC_DISCARD_GRANULARITY_IN_LIMITS=1
  1656859099.265  KFIOC_BARRIER=0
  1656859099.421  KFIOC_USE_LINUX_UACCESS_H=1
  1656859099.575  KFIOC_HAS_SPIN_LOCK_IRQSAVE_NESTED=1
  1656859099.732  KFIOC_MODULE_PARAM_ARRAY_NUMP=1
  1656859099.888  KFIOC_OWNER_IN_STRUCT_PROC_DIR_ENTRY=0
  1656859100.043  KFIOC_CONFIG_PREEMPT_RT=0
  1656859100.199  KFIOC_CONFIG_TREE_PREEMPT_RCU=0
  1656859100.354  KFIOC_HAS_BLK_QUEUE_HARDSECT_SIZE=0
  1656859100.511  KFIOC_HAS_END_REQUEST=0
  1656859100.666  KFIOC_USE_IO_SCHED=1
  1656859100.821  KFIOC_USE_NEW_IO_SCHED=1
  1656859100.976  KFIOC_HAS_ELV_DEQUEUE_REQUEST=0
  1656859101.131  KFIOC_HAS_BIO_RW_FLAGGED=0
  1656859101.286  KFIOC_HAS_INFLIGHT_RW=0
  1656859101.442  KFIOC_HAS_INFLIGHT_RW_ATOMIC=1
  1656859101.597  KFIOC_HAS_BLK_LIMITS_IO_MIN=1
  1656859101.751  KFIOC_HAS_BLK_LIMITS_IO_OPT=1
  1656859101.905  KFIOC_HAS_BLK_QUEUE_MAX_SEGMENTS=1
  1656859102.061  KFIOC_HAS_UNIFIED_BLKTYPES=1
  1656859102.216  KFIOC_HAS_BIO_RW_DISCARD=0
  1656859102.370  KFIOC_HAS_SEPARATE_OP_FLAGS=1
  1656859102.527  KFIOC_SYSRQ_HANDLER_NEEDS_TTY_STRUCT=0
  1656859102.681  KFIOC_PCI_REQUEST_REGIONS_CONST_CHAR=1
  1656859102.836  KFIOC_FOPS_USE_LOCKED_IOCTL=0
  1656859102.991  KFIOC_HAS_RQ_POS_BYTES=1
  1656859103.145  KFIOC_HAS_RQ_IS_SYNC=1
  1656859103.300  KFIOC_HAS_RQ_FOR_EACH_BIO=1
  1656859103.454  KFIOC_HAS_REQ_RW_SYNC=0
  1656859103.609  KFIOC_BIOSET_CREATE_HAS_THIRD_ARG=0
  1656859103.764  KFIOC_QUEUE_HAS_NONROT_FLAG=1
  1656859103.919  KFIOC_QUEUE_HAS_RANDOM_FLAG=1
  1656859104.072  KFIOC_KBLOCKD_SCHEDULE_HAS_QUEUE_ARG=0
  1656859104.226  KFIOC_TASK_HAS_NR_CPUS_ALLOWED=0
  1656859104.380  KFIOC_TASK_HAS_BOUND_FLAG=0
  1656859104.536  KFIOC_NUMA_MAPS=1
  1656859104.693  KFIOC_PCI_HAS_NUMA_INFO=1
  1656859104.847  KFIOC_CACHE_ALLOC_NODE_TAKES_FLAGS=1
  1656859105.002  KFIOC_NEW_BARRIER_SCHEME=0
  1656859105.156  KFIOC_NEWER_BARRIER_SCHEME=1
  1656859105.311  KFIOC_HAS_QUEUE_FLAG_CLUSTER=0
  1656859105.467  KFIOC_HAS_QUEUE_LIMITS_CLUSTER=1
  1656859105.621  KFIOC_HAS_QUEUE_FLAG_CLEAR_UNLOCKED=0
  1656859105.777  KFIOC_HAS_BIO_COMP_CPU=0
  1656859105.931  KFIOC_BVEC_KMAP_IRQ_HAS_LONG_FLAGS=1
  1656859106.085  KFIOC_MAKE_REQUEST_FN_VOID=0
  1656859106.240  KFIOC_HAS_BLK_FS_REQUEST=0
  1656859106.394  KFIOC_HAS_BLK_STOP_QUEUE=0
  1656859106.548  KFIOC_REQUEST_HAS_CMD_TYPE=0
  1656859106.702  KFIOC_KMAP_ATOMIC_NEEDS_TYPE=0
  1656859106.857  KFIOC_HAS_BLK_ALLOC_QUEUE_NODE=0
  1656859107.012  KFIOC_SGLIST_NEW_API=1
  1656859107.167  KFIOC_HAS_SCSI_QD_CHANGE_FN=1
  1656859107.322  KFIOC_HAS_SCSI_LUNID_UINT=0
  1656859107.477  KFIOC_HAS_PROCFS_PDE_DATA=1
  1656859107.632  KFIOC_HAS_PROC_CREATE_DATA=1
  1656859107.787  KFIOC_HAS_NEW_QUEUECOMMAND_SIGNATURE=1
  1656859107.941  KFIOC_HAS_SCSI_SG_FNS=1
  1656859108.095  KFIOC_HAS_SCSI_SG_COPY_FNS=1
  1656859108.250  KFIOC_HAS_SCSI_RESID_FNS=1
  1656859108.404  KFIOC_ACPI_EVAL_INT_TAKES_UNSIGNED_LONG_LONG=1
  1656859108.558  KFIOC_BIO_HAS_HW_SEGMENTS=0
  1656859108.713  KFIOC_BIO_HAS_SEG_SIZE=1
  1656859108.869  KFIOC_BIO_HAS_DESTRUCTOR=0
  1656859109.023  KFIOC_BIO_HAS_ATOMIC_REMAINING=0
  1656859109.178  KFIOC_BIO_HAS_INTEGRITY=0
  1656859109.333  KFIOC_BIO_HAS_SPECIAL=0
  1656859109.487  KFIOC_HAS_FILE_INODE_HELPER=1
  1656859109.642  KFIOC_HAS_CPUMASK_WEIGHT=1
  1656859109.799  KFIOC_BIO_HAS_USCORE_BI_CNT=1
  1656859109.953  KFIOC_BIO_ENDIO_REMOVED_ERROR=1
  1656859110.108  KFIOC_BIO_ERROR_CHANGED_TO_STATUS=1
  1656859110.264  KFIOC_MAKE_REQUEST_FN_UINT=1
  1656859110.419  KFIOC_GET_USER_PAGES_REQUIRES_TASK=0
  1656859110.574  KFIOC_BARRIER_USES_QUEUE_FLAGS=1
  1656859110.729  KFIOC_GET_USER_PAGES_HAS_GUP_FLAGS=1
  1656859110.883  KFIOC_HAS_HOTPLUG_STATE_MACHINE=1
  1656859111.037  KFIOC_HAS_HOTPLUG_BP_PREPARE_DYN_STATES=1
  1656859111.191  KFIOC_HAS_HOTPLUG_AP_ONLINE_DYN_STATES=1
  1656859111.346  KFIOC_HAS_HOTPLUG_STATES_REMOVAL_BUG=0
  1656859111.503  KFIOC_HAS_PCI_ENABLE_MSIX_EXACT=1
  1656859111.662  KFIOC_ELEVATOR_EXIT_HAS_REQQ_PARAM=0
  1656859111.819  KFIOC_HAS_BLK_RQ_IS_PASSTHROUGH=1
  1656859111.978  KFIOC_HAS_BLK_QUEUE_BOUNCE=0
  1656859112.141  KFIOC_HAS_BLK_QUEUE_SPLIT2=1
  1656859112.301  KFIOC_HAS_ELEVATOR_INIT=0
  1656859112.460  KFIOC_X_REQUEST_QUEUE_HAS_QUEUE_LOCK_POINTER=1
  1656859112.616  KFIOC_X_PART_STAT_REQUIRES_CPU=1
  1656859112.771  KFIOC_X_REQUEST_QUEUE_HAS_REQUEST_FN=1
  1656859112.927  KFIOC_X_TASK_HAS_CPUS_ALLOWED=1
  1656859113.081  KFIOC_X_BIO_HAS_BIO_SEGMENTS=1
  1656859113.235  KFIOC_X_BIO_HAS_BI_PHYS_SEGMENTS=1
  1656859113.390  KFIOC_X_HAS_BLK_QUEUE_FLAG_OPS=1
  1656859113.545  KFIOC_X_BIO_HAS_ERROR=0
  1656859113.699  KFIOC_X_REQ_HAS_ERRORS=0
  1656859113.855  KFIOC_X_REQ_HAS_ERROR_COUNT=1
  1656859114.010  KFIOC_X_BOUNCE_H=0
  1656859114.164  KFIOC_X_HAS_TIMER_SETUP=1
  1656859114.319  KFIOC_X_HAS_DISK_STATS_NSECS=1
  1656859114.476  KFIOC_X_HAS_COARSE_REAL_TS=1
  1656859114.634  KFIOC_X_HAS_ELEVATOR_INIT=0
  1656859114.792  KFIOC_X_PART0_HAS_IN_FLIGHT=1
  1656859114.950  KFIOC_X_PROC_CREATE_DATA_WANTS_PROC_OPS=0
Finished
1656859115.017  Exiting
Preserving configdir due to '-p' option: /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfio_config
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
/usr/bin/make \
    -j16 \
-C /lib/modules/4.19.0+1/build \
FIO_DRIVER_NAME=iomemory-vsl \
FUSION_DRIVER_DIR=/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source \
M=/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source \
EXTRA_CFLAGS+="-I/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/include -DBUILDING_MODULE -DLINUX_IO_SCHED -Wall -Werror" \
INSTALL_MOD_DIR=extra/fio \
INSTALL_MOD_PATH= \
KFIO_LIB=kfio/x86_64_cc48_libkfio.o_shipped \
modules
make[1]: Entering directory `/usr/src/kernels/4.19.0+1-x86_64'
printf '#include "linux/module.h"\nMODULE_LICENSE("GPL");\n' >/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/license.c
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/main.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/pci.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/sysrq.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/driver_init.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfio.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/errno.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/state.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kcache.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfile.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kmem.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfio_common.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kcpu.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kscatter.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/ktime.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/sched.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/cdev.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kcondvar.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kinfo.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kexports.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/khotplug.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kcsr.o
  SHIPPED /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfio/x86_64_cc48_libkfio.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/module_param.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/license.o
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c: In function 'kfio_fetch_next_bio':
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:497:13: error: implicit declaration of function 'kfio_request_to_bio' [-Werror=implicit-function-declaration]
             fbio = kfio_request_to_bio(disk, creq, true);
             ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:497:18: error: assignment makes pointer from integer without a cast [-Werror]
             fbio = kfio_request_to_bio(disk, creq, true);
                  ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:500:17: error: implicit declaration of function 'kfio_blk_complete_request' [-Werror=implicit-function-declaration]
                 kfio_blk_complete_request(creq, -EIO);
                 ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c: At top level:
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:2253:13: error: conflicting types for 'kfio_blk_complete_request' [-Werror]
 static void kfio_blk_complete_request(struct request *req, int error)
             ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:2253:13: error: static declaration of 'kfio_blk_complete_request' follows non-static declaration
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:500:17: note: previous implicit declaration of 'kfio_blk_complete_request' was here
                 kfio_blk_complete_request(creq, -EIO);
                 ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:2577:20: error: conflicting types for 'kfio_request_to_bio'
 static kfio_bio_t *kfio_request_to_bio(kfio_disk_t *disk, struct request *req,
                    ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:497:20: note: previous implicit declaration of 'kfio_request_to_bio' was here
             fbio = kfio_request_to_bio(disk, creq, true);
                    ^
cc1: all warnings being treated as errors
make[2]: *** [/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [_module_/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source] Error 2
make[1]: Leaving directory `/usr/src/kernels/4.19.0+1-x86_64'
make: *** [modules] Error 2
make: Leaving directory `/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source'
+ set +x
ERROR:

error: Bad exit status from /var/tmp/rpm-tmp.CP5r4N (%build)

RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.CP5r4N (%build)```

### How to reproduce
What are the steps to reproduce the reported issue.

git clone https://github.com/snuf/iomemory-vsl -b v4.20.3 cd iomemory-vsl/ git checkout -b v4.20.3 rpmbuild -ba fio-driver.spec



### Possible solution
I tired the release bug-#106 and that didnt seem to help.

### Environment information
Information about the system the module is used on
1. Linux kernel compiled against (uname -a)
Linux r720-xcp-ng 4.19.0+1 #1 SMP Thu Jan 13 12:55:45 CET 2022 x86_64 x86_64 x86_64 GNU/Linux

2. The C compiler version used (gcc --version)
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)

3. distribution, and version (cat /etc/os-release)
NAME="XCP-ng"
VERSION="8.2.1"
ID="xenenterprise"
ID_LIKE="centos rhel fedora"
VERSION_ID="8.2.1"
PRETTY_NAME="XCP-ng 8.2.1"
ANSI_COLOR="0;31"
HOME_URL="http://xcp-ng.org/"
BUG_REPORT_URL="https://github.com/xcp-ng/xcp"

4. Tag or Branch of iomemory-vsl that is being compiled
# On branch v4.20.3

5. FIO device used, if applicable
   * fio-status
   * lspci -b -nn
bplein commented 2 years ago

Have you tried compiling from main? Main is far more up to date.

timolow commented 2 years ago

Results from main branch:


Cloning into 'iomemory-vsl'...
remote: Enumerating objects: 2834, done.
remote: Counting objects: 100% (267/267), done.
remote: Compressing objects: 100% (54/54), done.
remote: Total 2834 (delta 243), reused 219 (delta 211), pack-reused 2567
Receiving objects: 100% (2834/2834), 12.14 MiB | 22.66 MiB/s, done.
Resolving deltas: 100% (1554/1554), done.
[10:57 r720-xcp-ng ~]# cd iomemory-vsl/
[10:57 r720-xcp-ng iomemory-vsl]# git status
# On branch main
nothing to commit, working directory clean
[10:57 r720-xcp-ng iomemory-vsl]# ls
debian  fio-driver.spec  Makefile  README  README.md  root  tools
[10:57 r720-xcp-ng iomemory-vsl]# rpmbuild -ba fio-driver.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.XzYrai
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd /root/rpmbuild/BUILD
+ rm -rf iomemory-vsl-3.2.16.1732
+ /usr/bin/mkdir -p iomemory-vsl-3.2.16.1732
+ cd iomemory-vsl-3.2.16.1732
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ rsync -rv /root/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16/ driver_source/
sending incremental file list
created directory driver_source
./
Kbuild
Makefile
cdev.c
check_target_kernel.conf
check_target_kernel.sh
dkms.conf
driver_init.c
errno.c
kblock.c
kcache.c
kcondvar.c
kcpu.c
kcsr.c
kexports.c
kfile.c
kfio.c
kfio_common.c
kfio_config.sh
khotplug.c
kinfo.c
kmem.c
kscatter.c
kscsi.c
kscsi_host.c
ktime.c
main.c
module_operations.sh
module_param.c
pci.c
port-internal.h
sched.c
state.c
sysrq.c
include/
include/kblock_meta.h
include/fio/
include/fio/port/
include/fio/port/align.h
include/fio/port/atomic_list.h
include/fio/port/bitops.h
include/fio/port/byteswap.h
include/fio/port/cdev.h
include/fio/port/commontypes.h
include/fio/port/compiler.h
include/fio/port/csr_simulator.h
include/fio/port/dbgset.h
include/fio/port/errno.h
include/fio/port/fio-poppack.h
include/fio/port/fio-port.h
include/fio/port/fio-pshpack1.h
include/fio/port/fio-stat.h
include/fio/port/fiostring.h
include/fio/port/ifio.h
include/fio/port/ioctl.h
include/fio/port/kbio.h
include/fio/port/kblock.h
include/fio/port/kcache.h
include/fio/port/kcondvar.h
include/fio/port/kcpu.h
include/fio/port/kcsr.h
include/fio/port/kfio.h
include/fio/port/kfio_config.h
include/fio/port/kglobal.h
include/fio/port/kinfo.h
include/fio/port/kmem.h
include/fio/port/kpci.h
include/fio/port/kscatter.h
include/fio/port/kscsi.h
include/fio/port/ktime.h
include/fio/port/ktypes.h
include/fio/port/ktypes_32.h
include/fio/port/ktypes_64.h
include/fio/port/libgen.h
include/fio/port/list.h
include/fio/port/pci.h
include/fio/port/port_config.h
include/fio/port/port_config_macros.h
include/fio/port/port_config_macros_clear.h
include/fio/port/port_config_vars_externs.h
include/fio/port/sched.h
include/fio/port/state.h
include/fio/port/stdint.h
include/fio/port/trim_completion.h
include/fio/port/trimmon_attach.h
include/fio/port/ufio.h
include/fio/port/unaligned.h
include/fio/port/utypes.h
include/fio/port/vararg.h
include/fio/port/arch/
include/fio/port/arch/bits.h
include/fio/port/arch/mips_atomic.h
include/fio/port/arch/mips_cache.h
include/fio/port/arch/ppc_atomic.h
include/fio/port/arch/ppc_cache.h
include/fio/port/arch/x86_atomic.h
include/fio/port/arch/x86_cache.h
include/fio/port/arch/x86_64/
include/fio/port/arch/x86_64/bits.h
include/fio/port/common-linux/
include/fio/port/common-linux/commontypes.h
include/fio/port/common-linux/div64.h
include/fio/port/common-linux/errno.h
include/fio/port/common-linux/kassert.h
include/fio/port/common-linux/kblock.h
include/fio/port/common-linux/kcondvar.h
include/fio/port/common-linux/kfile.h
include/fio/port/common-linux/kfio.h
include/fio/port/common-linux/kpci.h
include/fio/port/common-linux/kscsi_config.h
include/fio/port/common-linux/kscsi_host.h
include/fio/port/common-linux/stdint.h
include/fio/port/common-linux/ufio.h
include/fio/port/gcc/
include/fio/port/gcc/align.h
include/fio/port/gcc/compiler.h
include/fio/port/linux/
include/fio/port/linux/ktypes.h
include/fio/port/linux/utypes.h
kfio/
kfio/x86_64_cc41_libkfio.o_shipped
kfio/x86_64_cc43_libkfio.o_shipped
kfio/x86_64_cc44_libkfio.o_shipped
kfio/x86_64_cc48_libkfio.o_shipped
kfio/x86_64_cc49_libkfio.o_shipped
kfio/x86_64_cc53_libkfio.o_shipped
kfio/x86_64_cc54_libkfio.o_shipped
kfio/x86_64_cc63_libkfio.o_shipped
kfio/x86_64_cc74_libkfio.o_shipped

sent 15,053,900 bytes  received 2,376 bytes  30,112,552.00 bytes/sec
total size is 15,042,207  speedup is 1.00
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.KpbWfV
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd iomemory-vsl-3.2.16.1732
+ /usr/bin/make -C driver_source KERNELVER=4.19.0+1 FIO_DRIVER_NAME=iomemory-vsl FIO_SCSI_DEVICE=False modules
make: Entering directory `/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source'

Change found in target kernel: KERNELVER KERNEL_SRC
Running clean before building driver

make[1]: Entering directory `/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source'
/usr/bin/make \
        -j16 \
    -C /lib/modules/4.19.0+1/build \
    FIO_DRIVER_NAME=iomemory-vsl \
    FUSION_DRIVER_DIR=/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source \
    M=/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source \
    EXTRA_CFLAGS+="-I/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/include -DBUILDING_MODULE -DLINUX_IO_SCHED -Wall -Werror" \
    KFIO_LIB=kfio/x86_64_cc48_libkfio.o_shipped \
    clean
make[2]: Entering directory `/usr/src/kernels/4.19.0+1-x86_64'
make[2]: Leaving directory `/usr/src/kernels/4.19.0+1-x86_64'
rm -rf include/fio/port/linux/kfio_config.h kfio_config license.c
make[1]: Leaving directory `/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source'
if [ "48" -gt "74" ];then \
    if [ ! -f "kfio/x86_64_cc48_libkfio.o_shipped" ];then \
        cp kfio/x86_64_cc74_libkfio.o_shipped kfio/x86_64_cc48_libkfio.o_shipped; \
    fi \
fi
./kfio_config.sh -a x86_64 -o include/fio/port/linux/kfio_config.h -k /lib/modules/4.19.0+1/build -p -d /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfio_config -l 0 -s /lib/modules/4.19.0+1/source
Detecting Kernel Flags
Config dir         : /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfio_config
Output file        : include/fio/port/linux/kfio_config.h
Kernel output dir  : /lib/modules/4.19.0+1/build
Kernel source dir  : /lib/modules/4.19.0+1/source
Starting tests:
  1656863875.897  KFIOC_X_PROC_CREATE_DATA_WANTS_PROC_OPS...
  1656863875.924  KFIOC_X_TASK_HAS_CPUS_MASK...
  1656863875.952  KFIOC_X_LINUX_HAS_PART_STAT_H...
  1656863875.979  KFIOC_X_BLK_ALLOC_QUEUE_NODE_EXISTS...
  1656863876.007  KFIOC_X_BLK_ALLOC_DISK_EXISTS...
  1656863876.036  KFIOC_X_HAS_MAKE_REQUEST_FN...
  1656863876.067  KFIOC_X_GENHD_PART0_IS_A_POINTER...
  1656863876.098  KFIOC_X_BIO_HAS_BI_BDEV...
  1656863876.131  KFIOC_X_SUBMIT_BIO_RETURNS_BLK_QC_T...
  1656863876.164  KFIOC_X_VOID_ADD_DISK...
  1656863876.199  KFIOC_X_DISK_HAS_OPEN_MUTEX...
Started tests, waiting for completions...
  1656863880.403  KFIOC_X_PROC_CREATE_DATA_WANTS_PROC_OPS=1
  1656863880.498  KFIOC_X_TASK_HAS_CPUS_MASK=0
  1656863880.592  KFIOC_X_LINUX_HAS_PART_STAT_H=0
  1656863880.687  KFIOC_X_BLK_ALLOC_QUEUE_NODE_EXISTS=0
  1656863880.782  KFIOC_X_BLK_ALLOC_DISK_EXISTS=0
  1656863880.877  KFIOC_X_HAS_MAKE_REQUEST_FN=1
  1656863880.971  KFIOC_X_GENHD_PART0_IS_A_POINTER=0
  1656863881.067  KFIOC_X_BIO_HAS_BI_BDEV=0
  1656863881.160  KFIOC_X_SUBMIT_BIO_RETURNS_BLK_QC_T=1
  1656863881.253  KFIOC_X_VOID_ADD_DISK=1
  1656863881.348  KFIOC_X_DISK_HAS_OPEN_MUTEX=0
Finished
1656863881.392  Exiting
Preserving configdir due to '-p' option: /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfio_config
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
/usr/bin/make \
    -j16 \
-C /lib/modules/4.19.0+1/build \
FIO_DRIVER_NAME=iomemory-vsl \
FUSION_DRIVER_DIR=/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source \
M=/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source \
EXTRA_CFLAGS+="-I/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/include -DBUILDING_MODULE -DLINUX_IO_SCHED -Wall -Werror" \
INSTALL_MOD_DIR=extra/fio \
INSTALL_MOD_PATH= \
KFIO_LIB=kfio/x86_64_cc48_libkfio.o_shipped \
modules
make[1]: Entering directory `/usr/src/kernels/4.19.0+1-x86_64'
printf '#include "linux/module.h"\nMODULE_LICENSE("GPL");\n' >/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/license.c
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/main.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/pci.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/sysrq.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/driver_init.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfio.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/errno.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/state.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kcache.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kmem.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfile.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfio_common.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kscatter.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/ktime.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/sched.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kcpu.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/cdev.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kcondvar.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kinfo.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kexports.o
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfile.c: In function 'kfio_create_proc_fops_entry':
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfile.c:227:55: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Werror]
     return proc_create_data(name, mode, base, (struct proc_ops *)fops, data);
                                                       ^
In file included from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfile.c:37:0:
./include/linux/proc_fs.h:44:31: note: expected 'const struct file_operations *' but argument is of type 'struct proc_ops *'
 extern struct proc_dir_entry *proc_create_data(const char *, umode_t,
                               ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfile.c: In function 'kfio_set_file_ops_llseek_handler':
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfile.c:303:30: error: dereferencing pointer to incomplete type
     ((struct proc_ops *)pops)->proc_lseek = (file_ops_llseek_fn)llseek;
                              ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfile.c: In function 'kfio_set_file_ops_read_handler':
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfile.c:308:30: error: dereferencing pointer to incomplete type
     ((struct proc_ops *)pops)->proc_read = (file_ops_read_fn)read;
                              ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfile.c: In function 'kfio_set_file_ops_write_handler':
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfile.c:313:30: error: dereferencing pointer to incomplete type
     ((struct proc_ops *)pops)->proc_write = (file_ops_write_fn)write;
                              ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfile.c: In function 'kfio_set_file_ops_open_handler':
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfile.c:318:30: error: dereferencing pointer to incomplete type
     ((struct proc_ops *)pops)->proc_open = (file_ops_open_fn)open;
                              ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfile.c: In function 'kfio_set_file_ops_release_handler':
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfile.c:323:30: error: dereferencing pointer to incomplete type
     ((struct proc_ops *)pops)->proc_release = (file_ops_release_fn)release;
                              ^
cc1: all warnings being treated as errors
make[2]: *** [/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfile.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:50:0:
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/include/kblock_meta.h:37:9: error: "KFIOC_X_BLK_ALLOC_QUEUE_EXISTS" is not defined [-Werror=undef]
   #elif KFIOC_X_BLK_ALLOC_QUEUE_EXISTS
         ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c: In function 'kfio_fetch_next_bio':
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:223:9: error: passing argument 1 of 'spin_lock_irq' from incompatible pointer type [-Werror]
         spin_lock_irq(Q_LOCK);
         ^
In file included from ./include/linux/mmzone.h:8:0,
                 from ./include/linux/gfp.h:6,
                 from ./include/linux/slab.h:15,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/include/fio/port/linux/kfio_config.h:43,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/include/fio/port/kfio_config.h:38,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/port-internal.h:62,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:32:
./include/linux/spinlock.h:352:29: note: expected 'struct spinlock_t *' but argument is of type 'struct spinlock_t **'
 static __always_inline void spin_lock_irq(spinlock_t *lock)
                             ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:230:9: error: passing argument 1 of 'spin_unlock_irq' from incompatible pointer type [-Werror]
         spin_unlock_irq(Q_LOCK);
         ^
In file included from ./include/linux/mmzone.h:8:0,
                 from ./include/linux/gfp.h:6,
                 from ./include/linux/slab.h:15,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/include/fio/port/linux/kfio_config.h:43,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/include/fio/port/kfio_config.h:38,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/port-internal.h:62,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:32:
./include/linux/spinlock.h:377:29: note: expected 'struct spinlock_t *' but argument is of type 'struct spinlock_t **'
 static __always_inline void spin_unlock_irq(spinlock_t *lock)
                             ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c: In function 'kfio_disk_stat_write_update':
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:493:39: error: macro "part_stat_inc" requires 3 arguments, but only 2 given
         part_stat_inc(GD_PART0, ios[1]);
                                       ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:493:9: error: 'part_stat_inc' undeclared (first use in this function)
         part_stat_inc(GD_PART0, ios[1]);
         ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:493:9: note: each undeclared identifier is reported only once for each function it appears in
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:494:59: error: macro "part_stat_add" requires 4 arguments, but only 3 given
         part_stat_add(GD_PART0, sectors[1], totalsize >> 9);
                                                           ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:494:9: error: 'part_stat_add' undeclared (first use in this function)
         part_stat_add(GD_PART0, sectors[1], totalsize >> 9);
         ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:495:60: error: macro "part_stat_add" requires 4 arguments, but only 3 given
         part_stat_add(GD_PART0, nsecs[1],   duration * 1000);
                                                            ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:491:25: error: unused variable 'gd' [-Werror=unused-variable]
         struct gendisk *gd = fgd->gd;
                         ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c: In function 'kfio_disk_stat_read_update':
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:506:39: error: macro "part_stat_inc" requires 3 arguments, but only 2 given
         part_stat_inc(GD_PART0, ios[0]);
                                       ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:506:9: error: 'part_stat_inc' undeclared (first use in this function)
         part_stat_inc(GD_PART0, ios[0]);
         ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:507:59: error: macro "part_stat_add" requires 4 arguments, but only 3 given
         part_stat_add(GD_PART0, sectors[0], totalsize >> 9);
                                                           ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:507:9: error: 'part_stat_add' undeclared (first use in this function)
         part_stat_add(GD_PART0, sectors[0], totalsize >> 9);
         ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:508:60: error: macro "part_stat_add" requires 4 arguments, but only 3 given
         part_stat_add(GD_PART0, nsecs[0],   duration * 1000);
                                                            ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:504:25: error: unused variable 'gd' [-Werror=unused-variable]
         struct gendisk *gd = fgd->gd;
                         ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c: In function 'kfio_alloc_queue':
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:940:5: error: passing argument 1 of 'blk_alloc_queue' makes integer from pointer without a cast [-Werror]
     rq = BLK_ALLOC_QUEUE;
     ^
In file included from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/port-internal.h:63:0,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:32:
./include/linux/blkdev.h:1277:23: note: expected 'gfp_t' but argument is of type 'unsigned int (*)(struct request_queue *, struct bio *)'
 struct request_queue *blk_alloc_queue(gfp_t);
                       ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:940:5: error: too many arguments to function 'blk_alloc_queue'
     rq = BLK_ALLOC_QUEUE;
     ^
In file included from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/port-internal.h:63:0,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:32:
./include/linux/blkdev.h:1277:23: note: declared here
 struct request_queue *blk_alloc_queue(gfp_t);
                       ^
cc1: all warnings being treated as errors
make[2]: *** [/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.o] Error 1
make[1]: *** [_module_/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source] Error 2
make[1]: Leaving directory `/usr/src/kernels/4.19.0+1-x86_64'
make: *** [modules] Error 2
make: Leaving directory `/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source'
+ set +x
ERROR:

error: Bad exit status from /var/tmp/rpm-tmp.KpbWfV (%build)

RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.KpbWfV (%build)
[10:58 r720-xcp-ng iomemory-vsl]#```
snuf commented 2 years ago

@timolow please try the fix mentioned in #106, branch bug-#106. The fix is not merged yet as I need to swap out cards to test with vsl, instead of vsl4.

timolow commented 2 years ago

Results on bug-#106

[14:33 r720-xcp-ng iomemory-vsl]# git status
# On branch bug-#106
nothing to commit, working directory clean
[14:33 r720-xcp-ng iomemory-vsl]# rpmbuild -ba fio-driver.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.wfUOrH
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd /root/rpmbuild/BUILD
+ rm -rf iomemory-vsl-3.2.16.1732
+ /usr/bin/mkdir -p iomemory-vsl-3.2.16.1732
+ cd iomemory-vsl-3.2.16.1732
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ rsync -rv /root/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16/ driver_source/
sending incremental file list
created directory driver_source
./
Kbuild
Makefile
cdev.c
check_target_kernel.conf
check_target_kernel.sh
dkms.conf
driver_init.c
errno.c
kblock.c
kcache.c
kcondvar.c
kcpu.c
kcsr.c
kexports.c
kfile.c
kfio.c
kfio_common.c
kfio_config.sh
khotplug.c
kinfo.c
kmem.c
kscatter.c
kscsi.c
kscsi_host.c
ktime.c
main.c
module_operations.sh
module_param.c
pci.c
port-internal.h
sched.c
state.c
sysrq.c
include/
include/kblock_meta.h
include/fio/
include/fio/port/
include/fio/port/align.h
include/fio/port/atomic_list.h
include/fio/port/bitops.h
include/fio/port/byteswap.h
include/fio/port/cdev.h
include/fio/port/commontypes.h
include/fio/port/compiler.h
include/fio/port/csr_simulator.h
include/fio/port/dbgset.h
include/fio/port/errno.h
include/fio/port/fio-poppack.h
include/fio/port/fio-port.h
include/fio/port/fio-pshpack1.h
include/fio/port/fio-stat.h
include/fio/port/fiostring.h
include/fio/port/ifio.h
include/fio/port/ioctl.h
include/fio/port/kbio.h
include/fio/port/kblock.h
include/fio/port/kcache.h
include/fio/port/kcondvar.h
include/fio/port/kcpu.h
include/fio/port/kcsr.h
include/fio/port/kfio.h
include/fio/port/kfio_config.h
include/fio/port/kglobal.h
include/fio/port/kinfo.h
include/fio/port/kmem.h
include/fio/port/kpci.h
include/fio/port/kscatter.h
include/fio/port/kscsi.h
include/fio/port/ktime.h
include/fio/port/ktypes.h
include/fio/port/ktypes_32.h
include/fio/port/ktypes_64.h
include/fio/port/libgen.h
include/fio/port/list.h
include/fio/port/pci.h
include/fio/port/port_config.h
include/fio/port/port_config_macros.h
include/fio/port/port_config_macros_clear.h
include/fio/port/port_config_vars_externs.h
include/fio/port/sched.h
include/fio/port/state.h
include/fio/port/stdint.h
include/fio/port/trim_completion.h
include/fio/port/trimmon_attach.h
include/fio/port/ufio.h
include/fio/port/unaligned.h
include/fio/port/utypes.h
include/fio/port/vararg.h
include/fio/port/arch/
include/fio/port/arch/bits.h
include/fio/port/arch/mips_atomic.h
include/fio/port/arch/mips_cache.h
include/fio/port/arch/ppc_atomic.h
include/fio/port/arch/ppc_cache.h
include/fio/port/arch/x86_atomic.h
include/fio/port/arch/x86_cache.h
include/fio/port/arch/x86_64/
include/fio/port/arch/x86_64/bits.h
include/fio/port/common-linux/
include/fio/port/common-linux/commontypes.h
include/fio/port/common-linux/div64.h
include/fio/port/common-linux/errno.h
include/fio/port/common-linux/kassert.h
include/fio/port/common-linux/kblock.h
include/fio/port/common-linux/kcondvar.h
include/fio/port/common-linux/kfile.h
include/fio/port/common-linux/kfio.h
include/fio/port/common-linux/kpci.h
include/fio/port/common-linux/kscsi_config.h
include/fio/port/common-linux/kscsi_host.h
include/fio/port/common-linux/stdint.h
include/fio/port/common-linux/ufio.h
include/fio/port/gcc/
include/fio/port/gcc/align.h
include/fio/port/gcc/compiler.h
include/fio/port/linux/
include/fio/port/linux/ktypes.h
include/fio/port/linux/utypes.h
kfio/
kfio/x86_64_cc41_libkfio.o_shipped
kfio/x86_64_cc43_libkfio.o_shipped
kfio/x86_64_cc44_libkfio.o_shipped
kfio/x86_64_cc48_libkfio.o_shipped
kfio/x86_64_cc49_libkfio.o_shipped
kfio/x86_64_cc53_libkfio.o_shipped
kfio/x86_64_cc54_libkfio.o_shipped
kfio/x86_64_cc63_libkfio.o_shipped
kfio/x86_64_cc74_libkfio.o_shipped

sent 15,054,515 bytes  received 2,376 bytes  10,037,927.33 bytes/sec
total size is 15,042,822  speedup is 1.00
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.wVjIfz
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd iomemory-vsl-3.2.16.1732
+ /usr/bin/make -C driver_source KERNELVER=4.19.0+1 FIO_DRIVER_NAME=iomemory-vsl FIO_SCSI_DEVICE=False modules
make: Entering directory `/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source'

Change found in target kernel: KERNELVER KERNEL_SRC
Running clean before building driver

make[1]: Entering directory `/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source'
/usr/bin/make \
        -j16 \
    -C /lib/modules/4.19.0+1/build \
    FIO_DRIVER_NAME=iomemory-vsl \
    FUSION_DRIVER_DIR=/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source \
    M=/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source \
    EXTRA_CFLAGS+="-I/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/include -DBUILDING_MODULE -DLINUX_IO_SCHED -Wall -Werror" \
    KFIO_LIB=kfio/x86_64_cc48_libkfio.o_shipped \
    clean
make[2]: Entering directory `/usr/src/kernels/4.19.0+1-x86_64'
make[2]: Leaving directory `/usr/src/kernels/4.19.0+1-x86_64'
rm -rf include/fio/port/linux/kfio_config.h kfio_config license.c
make[1]: Leaving directory `/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source'
if [ "48" -gt "74" ];then \
    if [ ! -f "kfio/x86_64_cc48_libkfio.o_shipped" ];then \
        cp kfio/x86_64_cc74_libkfio.o_shipped kfio/x86_64_cc48_libkfio.o_shipped; \
    fi \
fi
./kfio_config.sh -a x86_64 -o include/fio/port/linux/kfio_config.h -k /lib/modules/4.19.0+1/build -p -d /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfio_config -l 0 -s /lib/modules/4.19.0+1/source
Detecting Kernel Flags
Config dir         : /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfio_config
Output file        : include/fio/port/linux/kfio_config.h
Kernel output dir  : /lib/modules/4.19.0+1/build
Kernel source dir  : /lib/modules/4.19.0+1/source
Starting tests:
  1656963257.254  KFIOC_X_PROC_CREATE_DATA_WANTS_PROC_OPS...
  1656963257.419  KFIOC_X_TASK_HAS_CPUS_MASK...
  1656963257.554  KFIOC_X_LINUX_HAS_PART_STAT_H...
  1656963257.707  KFIOC_X_BLK_ALLOC_QUEUE_NODE_EXISTS...
  1656963257.868  KFIOC_X_BLK_ALLOC_QUEUE_EXISTS...
  1656963258.021  KFIOC_X_BLK_ALLOC_DISK_EXISTS...
  1656963258.184  KFIOC_X_HAS_MAKE_REQUEST_FN...
  1656963258.355  KFIOC_X_GENHD_PART0_IS_A_POINTER...
  1656963258.514  KFIOC_X_BIO_HAS_BI_BDEV...
  1656963258.705  KFIOC_X_SUBMIT_BIO_RETURNS_BLK_QC_T...
  1656963258.932  KFIOC_X_VOID_ADD_DISK...
  1656963259.121  KFIOC_X_DISK_HAS_OPEN_MUTEX...
Started tests, waiting for completions...
  1656963273.010  KFIOC_X_PROC_CREATE_DATA_WANTS_PROC_OPS=0
  1656963273.357  KFIOC_X_TASK_HAS_CPUS_MASK=0
  1656963273.679  KFIOC_X_LINUX_HAS_PART_STAT_H=0
  1656963273.991  KFIOC_X_BLK_ALLOC_QUEUE_NODE_EXISTS=0
  1656963275.366  KFIOC_X_BLK_ALLOC_QUEUE_EXISTS=1
  1656963275.672  KFIOC_X_BLK_ALLOC_DISK_EXISTS=0
  1656963275.968  KFIOC_X_HAS_MAKE_REQUEST_FN=1
  1656963276.267  KFIOC_X_GENHD_PART0_IS_A_POINTER=0
  1656963276.583  KFIOC_X_BIO_HAS_BI_BDEV=0
  1656963276.875  KFIOC_X_SUBMIT_BIO_RETURNS_BLK_QC_T=1
  1656963277.170  KFIOC_X_VOID_ADD_DISK=1
  1656963277.471  KFIOC_X_DISK_HAS_OPEN_MUTEX=0
Finished
1656963277.614  Exiting
Preserving configdir due to '-p' option: /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfio_config
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
/usr/bin/make \
    -j16 \
-C /lib/modules/4.19.0+1/build \
FIO_DRIVER_NAME=iomemory-vsl \
FUSION_DRIVER_DIR=/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source \
M=/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source \
EXTRA_CFLAGS+="-I/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/include -DBUILDING_MODULE -DLINUX_IO_SCHED -Wall -Werror" \
INSTALL_MOD_DIR=extra/fio \
INSTALL_MOD_PATH= \
KFIO_LIB=kfio/x86_64_cc48_libkfio.o_shipped \
modules
make[1]: Entering directory `/usr/src/kernels/4.19.0+1-x86_64'
printf '#include "linux/module.h"\nMODULE_LICENSE("GPL");\n' >/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/license.c
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/main.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/pci.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/sysrq.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/driver_init.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfio.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/errno.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/state.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kcache.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfile.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kmem.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfio_common.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kcpu.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kscatter.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/ktime.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/sched.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/cdev.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kcondvar.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kinfo.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kexports.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/khotplug.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kcsr.o
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c: In function 'kfio_fetch_next_bio':
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:223:9: error: passing argument 1 of 'spin_lock_irq' from incompatible pointer type [-Werror]
         spin_lock_irq(Q_LOCK);
         ^
In file included from ./include/linux/mmzone.h:8:0,
                 from ./include/linux/gfp.h:6,
                 from ./include/linux/slab.h:15,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/include/fio/port/linux/kfio_config.h:44,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/include/fio/port/kfio_config.h:38,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/port-internal.h:62,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:32:
./include/linux/spinlock.h:352:29: note: expected 'struct spinlock_t *' but argument is of type 'struct spinlock_t **'
 static __always_inline void spin_lock_irq(spinlock_t *lock)
                             ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:230:9: error: passing argument 1 of 'spin_unlock_irq' from incompatible pointer type [-Werror]
         spin_unlock_irq(Q_LOCK);
         ^
In file included from ./include/linux/mmzone.h:8:0,
                 from ./include/linux/gfp.h:6,
                 from ./include/linux/slab.h:15,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/include/fio/port/linux/kfio_config.h:44,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/include/fio/port/kfio_config.h:38,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/port-internal.h:62,
                 from /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:32:
./include/linux/spinlock.h:377:29: note: expected 'struct spinlock_t *' but argument is of type 'struct spinlock_t **'
 static __always_inline void spin_unlock_irq(spinlock_t *lock)
                             ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c: In function 'kfio_disk_stat_write_update':
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:493:39: error: macro "part_stat_inc" requires 3 arguments, but only 2 given
         part_stat_inc(GD_PART0, ios[1]);
                                       ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:493:9: error: 'part_stat_inc' undeclared (first use in this function)
         part_stat_inc(GD_PART0, ios[1]);
         ^
  SHIPPED /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kfio/x86_64_cc48_libkfio.o
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:493:9: note: each undeclared identifier is reported only once for each function it appears in
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:494:59: error: macro "part_stat_add" requires 4 arguments, but only 3 given
         part_stat_add(GD_PART0, sectors[1], totalsize >> 9);
                                                           ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:494:9: error: 'part_stat_add' undeclared (first use in this function)
         part_stat_add(GD_PART0, sectors[1], totalsize >> 9);
         ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:495:60: error: macro "part_stat_add" requires 4 arguments, but only 3 given
         part_stat_add(GD_PART0, nsecs[1],   duration * 1000);
                                                            ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:491:25: error: unused variable 'gd' [-Werror=unused-variable]
         struct gendisk *gd = fgd->gd;
                         ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c: In function 'kfio_disk_stat_read_update':
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:506:39: error: macro "part_stat_inc" requires 3 arguments, but only 2 given
         part_stat_inc(GD_PART0, ios[0]);
                                       ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:506:9: error: 'part_stat_inc' undeclared (first use in this function)
         part_stat_inc(GD_PART0, ios[0]);
         ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:507:59: error: macro "part_stat_add" requires 4 arguments, but only 3 given
         part_stat_add(GD_PART0, sectors[0], totalsize >> 9);
                                                           ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:507:9: error: 'part_stat_add' undeclared (first use in this function)
         part_stat_add(GD_PART0, sectors[0], totalsize >> 9);
         ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:508:60: error: macro "part_stat_add" requires 4 arguments, but only 3 given
         part_stat_add(GD_PART0, nsecs[0],   duration * 1000);
                                                            ^
/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.c:504:25: error: unused variable 'gd' [-Werror=unused-variable]
         struct gendisk *gd = fgd->gd;
                         ^
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/module_param.o
cc1: all warnings being treated as errors
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/license.o
make[2]: *** [/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source/kblock.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [_module_/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source] Error 2
make[1]: Leaving directory `/usr/src/kernels/4.19.0+1-x86_64'
make: *** [modules] Error 2
make: Leaving directory `/root/rpmbuild/BUILD/iomemory-vsl-3.2.16.1732/driver_source'
+ set +x
ERROR:

error: Bad exit status from /var/tmp/rpm-tmp.wVjIfz (%build)

RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.wVjIfz (%build)
[14:34 r720-xcp-ng iomemory-vsl]#
gjsmo commented 2 years ago

Just want to add that I have the same issue, on the same platform (XCP-ng 8.2.1, kernel 4.19.0+1). I'm considering using PCIe passthrough to get around this, but it would be nice to not have the overhead.

snuf commented 2 years ago

We're stopping 4.19/4.20 support. The old driver compiles fine on 4.19/4.20 kernels:

  Building modules, stage 2.
  MODPOST 1 modules
WARNING: could not find /root/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16/kfio/.x86_64_cc48_libkfio.o.cmd for /root/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16/kfio/x86_64_cc48_libkfio.o
  CC      /root/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16/iomemory-vsl.mod.o
  LD [M]  /root/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16/iomemory-vsl.ko
make[1]: Leaving directory `/usr/src/kernels/4.19.0+1-x86_64'

Ok: altered version for iomemory-vsl.ko appended f3bb361

[10:08 xcp-ng-agkjbbcs iomemory-vsl-3.2.16]# uname -a
Linux xcp-ng-agkjbbcs 4.19.0+1 #1 SMP Thu Jan 13 12:55:45 CET 2022 x86_64 x86_64 x86_64 GNU/Linux
[10:10 xcp-ng-agkjbbcs iomemory-vsl-3.2.16]# git branch -v
* fio-3.2.16.1732 f3bb361 older compilers don't like -Werror=frame-larger-than=. As there is already a -Werror, just us -Wframe-larger-than, as other tests also seem to do
  main            944be2c Merge pull request #109 from TheBoroer/patch-1
[10:10 xcp-ng-agkjbbcs iomemory-vsl-3.2.16]#