Closed timolow closed 2 years ago
Have you tried compiling from main? Main is far more up to date.
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]#```
@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.
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]#
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.
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]#
Bug description
Unable to build v4.20.3 on 4.19.0+1 (XCP-NG) Centos 7.5 host.
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