Makefile | 4 + block/Makefile.objs | 3 + block/export/vhost-user-blk-server.c | 727 +++++++++++++++++++++ block/export/vhost-user-blk-server.h | 21 + configure | 3 + contrib/libvhost-user/libvhost-user-glib.c | 2 +- contrib/libvhost-user/libvhost-user.c | 10 +- contrib/libvhost-user/libvhost-user.h | 6 + qemu-vu.c | 252 +++++++ softmmu/vl.c | 4 + tests/Makefile.include | 3 +- tests/qtest/Makefile.include | 2 + tests/qtest/libqos/vhost-user-blk.c | 126 ++++ tests/qtest/libqos/vhost-user-blk.h | 44 ++ tests/qtest/vhost-user-blk-test.c | 694 ++++++++++++++++++++ tests/vhost-user-bridge.c | 2 + tools/virtiofsd/fuse_virtio.c | 4 +- util/Makefile.objs | 3 + util/vhost-user-server.c | 360 ++++++++++ util/vhost-user-server.h | 57 ++ 20 files changed, 2318 insertions(+), 9 deletions(-) create mode 100644 block/export/vhost-user-blk-server.c create mode 100644 block/export/vhost-user-blk-server.h create mode 100644 qemu-vu.c create mode 100644 tests/qtest/libqos/vhost-user-blk.c create mode 100644 tests/qtest/libqos/vhost-user-blk.h create mode 100644 tests/qtest/vhost-user-blk-test.c create mode 100644 util/vhost-user-server.c create mode 100644 util/vhost-user-server.h
v5: * re-use vu_kick_cb in libvhost-user * keeping processing VhostUserMsg in the same coroutine until there is detachment/attachment of AIOContext * Spawn separate coroutine for each VuVirtqElement * Other changes including relocating vhost-user-blk-server.c, coding style etc. v4: * add object properties in class_init * relocate vhost-user-blk-test * other changes including using SocketAddress, coding style, etc. v3: * separate generic vhost-user-server code from vhost-user-blk-server code * re-write vu_message_read and kick hander function as coroutines to directly call blk_co_preadv, blk_co_pwritev, etc. * add aio_context notifier functions to support multi-threading model * other fixes regarding coding style, warning report, etc. v2: * Only enable this feauture for Linux because eventfd is a Linux-specific feature This patch series is an implementation of vhost-user block device backend server, thanks to Stefan and Kevin's guidance. Vhost-user block device backend server is a UserCreatable object and can be started using object_add, (qemu) object_add vhost-user-blk-server,id=ID,unix-socket=/tmp/vhost-user-blk_vhost.socket,node-name=DRIVE_NAME,writable=off,blk-size=512 (qemu) object_del ID or appending the "-object" option when starting QEMU, $ -object vhost-user-blk-server,id=disk,unix-socket=/tmp/vhost-user-blk_vhost.socket,node-name=DRIVE_NAME,writable=off,blk-size=512 Then vhost-user client can connect to the server backend. For example, QEMU could act as a client, $ -m 256 -object memory-backend-memfd,id=mem,size=256M,share=on -numa node,memdev=mem -chardev socket,id=char1,path=/tmp/vhost-user-blk_vhost.socket -device vhost-user-blk-pci,id=blk0,chardev=char1 And guest OS could access this vhost-user block device after mouting it. Coiby Xu (5): allow vu_message_read to be replaced generic vhost user server vhost-user block device backend server a standone-alone tool to directly share disk image file via vhost-user protocol new qTest case to test the vhost-user-blk-server Makefile | 4 + block/Makefile.objs | 3 + block/export/vhost-user-blk-server.c | 727 +++++++++++++++++++++ block/export/vhost-user-blk-server.h | 21 + configure | 3 + contrib/libvhost-user/libvhost-user-glib.c | 2 +- contrib/libvhost-user/libvhost-user.c | 10 +- contrib/libvhost-user/libvhost-user.h | 6 + qemu-vu.c | 252 +++++++ softmmu/vl.c | 4 + tests/Makefile.include | 3 +- tests/qtest/Makefile.include | 2 + tests/qtest/libqos/vhost-user-blk.c | 126 ++++ tests/qtest/libqos/vhost-user-blk.h | 44 ++ tests/qtest/vhost-user-blk-test.c | 694 ++++++++++++++++++++ tests/vhost-user-bridge.c | 2 + tools/virtiofsd/fuse_virtio.c | 4 +- util/Makefile.objs | 3 + util/vhost-user-server.c | 360 ++++++++++ util/vhost-user-server.h | 57 ++ 20 files changed, 2318 insertions(+), 9 deletions(-) create mode 100644 block/export/vhost-user-blk-server.c create mode 100644 block/export/vhost-user-blk-server.h create mode 100644 qemu-vu.c create mode 100644 tests/qtest/libqos/vhost-user-blk.c create mode 100644 tests/qtest/libqos/vhost-user-blk.h create mode 100644 tests/qtest/vhost-user-blk-test.c create mode 100644 util/vhost-user-server.c create mode 100644 util/vhost-user-server.h -- 2.25.1
Patchew URL: https://patchew.org/QEMU/20200309100342.14921-1-coiby.xu@gmail.com/ Hi, This series failed the docker-clang@ubuntu build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally. === TEST SCRIPT BEGIN === #!/bin/bash make docker-image-ubuntu V=1 NETWORK=1 time make docker-test-clang@ubuntu SHOW_ENV=1 J=14 NETWORK=1 === TEST SCRIPT END === LINK scsi/qemu-pr-helper LINK qemu-bridge-helper LINK virtiofsd /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `/usr/bin/ld: rpc_createerr@@GLIBC_2.2.5/lib/x86_64-linux-gnu/libtirpc.so.3' overridden by definition from : warning: common of `/lib/x86_64-linux-gnu/libc.so.6 rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 GEN cris-softmmu/hmp-commands.h GEN hppa-softmmu/hmp-commands.h GEN alpha-softmmu/hmp-commands.h --- CC mips64el-softmmu/qapi/qapi-commands.o CC i386-softmmu/hw/i386/vmmouse.o CC hppa-softmmu/trace/generated-helpers.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC mipsel-softmmu/memory.o CC arm-softmmu/hw/arm/musicpal.o CC alpha-softmmu/target/alpha/gdbstub.o --- CC arm-softmmu/hw/arm/gumstix.o CC i386-softmmu/hw/i386/../xenpv/xen_machine_pv.o CC aarch64-softmmu/hw/arm/gumstix.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC i386-softmmu/hw/i386/kvm/clock.o CC aarch64-softmmu/hw/arm/spitz.o CC arm-softmmu/hw/arm/spitz.o --- CC mips64el-softmmu/trace/generated-helpers.o CC aarch64-softmmu/hw/arm/bcm2836.o GEN nios2-softmmu/config-devices.h /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 GEN nios2-softmmu/config-target.h CC arm-softmmu/hw/arm/stm32f405_soc.o CC arm-softmmu/hw/arm/fsl-imx25.o --- CC moxie-softmmu/tcg/tcg-common.o CC mipsel-softmmu/hw/display/vhost-user-gpu-pci.o LINK mips-softmmu/qemu-system-mips /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 GEN or1k-softmmu/hmp-commands.h GEN or1k-softmmu/hmp-commands-info.h GEN or1k-softmmu/config-devices.h --- GEN ppc-softmmu/config-target.h CC ppc-softmmu/exec.o GEN ppc64-softmmu/hmp-commands.h /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 GEN ppc64-softmmu/hmp-commands-info.h GEN ppc64-softmmu/config-devices.h GEN ppc64-softmmu/config-target.h --- CC mipsel-softmmu/qapi/qapi-types-misc-target.o GEN s390x-softmmu/gdbstub-xml.c CC ppc-softmmu/hw/vfio/calxeda-xgmac.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC aarch64-softmmu/qapi/qapi-commands-misc-target.o CC mipsel-softmmu/qapi/qapi-types.o CC riscv32-softmmu/hw/display/virtio-gpu-3d.o --- CC mipsel-softmmu/target/mips/translate.o CC or1k-softmmu/target/openrisc/machine.o CC s390x-softmmu/accel/tcg/tcg-runtime.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC arm-softmmu/target/arm/machine.o CC nios2-softmmu/target/nios2/mmu.o CC sh4-softmmu/accel/tcg/cpu-exec-common.o --- CC mipsel-softmmu/target/mips/op_helper.o CC aarch64-softmmu/target/arm/cpu64.o CC sh4-softmmu/hw/block/dataplane/virtio-blk.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC riscv64-softmmu/hw/virtio/vhost-backend.o CC ppc-softmmu/hw/ppc/ppc_booke.o CC ppc64-softmmu/hw/rtc/mc146818rtc.o --- CC riscv32-softmmu/hw/virtio/virtio-iommu-pci.o LINK mipsel-softmmu/qemu-system-mipsel CC ppc-softmmu/hw/ppc/rs6000_mc.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC riscv64-softmmu/hw/virtio/virtio-rng-pci.o CC riscv64-softmmu/hw/virtio/virtio-balloon-pci.o CC ppc64-softmmu/hw/vfio/pci-quirks.o --- CC sh4-softmmu/hw/scsi/virtio-scsi-dataplane.o CC sparc-softmmu/balloon.o CC aarch64-softmmu/target/arm/vec_helper.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 GEN trace/generated-helpers.c CC sparc-softmmu/ioport.o CC riscv64-softmmu/hw/virtio/virtio-iommu-pci.o --- CC ppc64-softmmu/hw/virtio/virtio-net-pci.o CC riscv32-softmmu/hw/riscv/sifive_u.o CC sh4-softmmu/hw/virtio/vhost-user-blk-pci.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC sparc-softmmu/hw/sparc/leon3.o CC riscv64-softmmu/hw/riscv/sifive_u_otp.o CC sh4-softmmu/hw/virtio/vhost-user-input-pci.o --- CC ppc64-softmmu/hw/ppc/spapr_hcall.o CC riscv64-softmmu/qapi/qapi-commands-machine-target.o CC ppc64-softmmu/hw/ppc/spapr_iommu.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC sparc64-softmmu/disas.o CC sparc-softmmu/qapi/qapi-init-commands.o CC sh4-softmmu/hw/sh4/r2d.o --- CC sparc64-softmmu/hw/virtio/vhost-backend.o CC tricore-softmmu/qapi/qapi-init-commands.o GEN x86_64-softmmu/config-devices.h /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC ppc-softmmu/softmmu/main.o GEN x86_64-softmmu/config-target.h CC s390x-softmmu/hw/s390x/ccw-device.o CC ppc64-softmmu/qapi/qapi-introspect.o CC unicore32-softmmu/target/unicore32/translate.o CC sparc64-softmmu/hw/virtio/vhost-user.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC tricore-softmmu/softmmu/vl.o CC x86_64-softmmu/exec.o CC tricore-softmmu/target/tricore/translate.o --- CC ppc64-softmmu/qapi/qapi-types-misc-target.o CC sparc64-softmmu/hw/virtio/virtio-balloon.o CC ppc-softmmu/trace/generated-helpers.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC x86_64-softmmu/exec-vary.o CC unicore32-softmmu/target/unicore32/op_helper.o CC sh4eb-softmmu/target/sh4/helper.o --- CC ppc64-softmmu/qapi/qapi-events-misc-target.o CC sparc64-softmmu/hw/virtio/vhost-vsock-pci.o CC sparc64-softmmu/hw/virtio/vhost-user-blk-pci.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC ppc64-softmmu/qapi/qapi-events.o GEN trace/generated-helpers.c CC xtensa-softmmu/exec-vary.o --- CC sparc64-softmmu/hw/virtio/virtio-net-pci.o CC sparc64-softmmu/hw/virtio/virtio-serial-pci.o CC s390x-softmmu/qapi/qapi-commands-misc-target.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC s390x-softmmu/qapi/qapi-commands.o CC x86_64-softmmu/ioport.o CC xtensa-softmmu/ioport.o --- CC xtensa-softmmu/accel/stubs/kvm-stub.o CC xtensa-softmmu/accel/tcg/tcg-all.o CC xtensaeb-softmmu/arch_init.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC xtensaeb-softmmu/cpus.o CC xtensaeb-softmmu/gdbstub.o CC sparc64-softmmu/qapi/qapi-types.o --- CC aarch64_be-linux-user/disas.o CC x86_64-softmmu/hw/block/dataplane/virtio-blk.o CC arm-linux-user/tcg/tcg-op-gvec.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC cris-linux-user/exec-vary.o CC cris-linux-user/tcg/tcg.o GEN aarch64-linux-user/gdbstub-xml.c --- CC armeb-linux-user/accel/tcg/user-exec-stub.o CC s390x-softmmu/target/s390x/arch_dump.o CC xtensa-softmmu/hw/virtio/virtio-crypto-pci.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC cris-linux-user/linux-user/syscall.o CC x86_64-softmmu/hw/net/virtio-net.o CC armeb-linux-user/linux-user/main.o --- CC hppa-linux-user/accel/stubs/whpx-stub.o CC alpha-linux-user/linux-user/strace.o GEN trace/generated-helpers.c /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC xtensaeb-softmmu/hw/vfio/pci.o CC xtensa-softmmu/hw/virtio/vhost-user-input-pci.o CC x86_64-softmmu/hw/scsi/vhost-scsi-common.o --- CC arm-linux-user/linux-user/arm/cpu_loop.o CC alpha-linux-user/linux-user/alpha/signal.o CC xtensa-softmmu/hw/virtio/virtio-scsi-pci.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC armeb-linux-user/linux-user/uname.o CC cris-linux-user/linux-user/uname.o CCAS cris-linux-user/linux-user/safe-syscall.o --- CC i386-linux-user/target/i386/svm_helper.o CC mipsn32-linux-user/accel/tcg/translate-all.o CC mipsn32-linux-user/accel/tcg/translator.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC mipsel-linux-user/linux-user/uname.o CC microblazeel-linux-user/trace/control-target.o CC mips-linux-user/target/mips/cpu.o --- CC ppc64abi32-linux-user/fpu/softfloat.o CC mipsn32el-linux-user/linux-user/signal.o CC ppc64abi32-linux-user/disas.o /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 CC ppc-linux-user/accel/stubs/hax-stub.o CC s390x-linux-user/exec-vary.o CC s390x-linux-user/tcg/tcg.o --- LINK tests/test-visitor-serialization LINK tests/test-iov LINK tests/test-bitmap /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 LINK tests/test-aio LINK tests/test-aio-multithread LINK tests/test-throttle LINK tests/test-thread-pool /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 LINK tests/test-hbitmap /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 LINK tests/test-bdrv-drain /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 LINK tests/test-bdrv-graph-mod /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 LINK tests/test-blockjob LINK tests/test-blockjob-txn /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 LINK tests/test-block-backend /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 LINK tests/test-block-iothread /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 LINK tests/test-image-locking LINK tests/test-x86-cpuid /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 LINK tests/test-xbzrle /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 LINK tests/test-vmstate LINK tests/test-cutils /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 LINK tests/test-shift128 LINK tests/test-mul64 LINK tests/test-int128 --- LINK tests/test-write-threshold LINK tests/test-crypto-hash LINK tests/test-crypto-hmac /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 LINK tests/test-crypto-cipher LINK tests/test-crypto-secret LINK tests/test-crypto-tlscredsx509 --- FLOAT TEST float-to-int FLOAT TEST sub FLOAT TEST mul /usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6 FLOAT TEST float-to-uint FLOAT TEST mulAdd FLOAT TEST div --- TEST check-qtest-x86_64: tests/qtest/intel-hda-test qemu-system-ppc64: total memory for NUMA nodes (0x8000000) should equal RAM size (0x20000000) Broken pipe /tmp/qemu-test/src/util/vhost-user-server.c:102:16: runtime error: null pointer passed as argument 1, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/tests/qtest/libqtest.c:166: kill_qemu() tried to terminate QEMU process but encountered exit status 1 (expected 0) /tmp/qemu-test/src/util/vhost-user-server.c:102:28: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:110:23: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here qemu-vu: vu_panic: disconnect qemu-vu: vu_panic: disconnect TEST check-qtest-x86_64: tests/qtest/ivshmem-test Aborted (core dumped) ERROR - too few tests run (expected 85, got 59) make: *** [/tmp/qemu-test/src/tests/Makefile.include:632: check-qtest-ppc64] Error 1 make: *** Waiting for unfinished jobs.... TEST check-qtest-x86_64: tests/qtest/dbus-vmstate-test TEST check-qtest-aarch64: tests/qtest/qom-test --- TEST check-qtest-x86_64: tests/qtest/machine-none-test TEST check-qtest-x86_64: tests/qtest/qmp-test TEST check-qtest-x86_64: tests/qtest/qmp-cmd-test /tmp/qemu-test/src/util/vhost-user-server.c:102:16: runtime error: null pointer passed as argument 1, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:102:28: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:110:23: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here qemu-vu: vu_panic: disconnect /tmp/qemu-test/src/util/vhost-user-server.c:102:16: runtime error: null pointer passed as argument 1, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:102:28: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:110:23: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here qemu-vu: vu_panic: disconnect /tmp/qemu-test/src/util/vhost-user-server.c:102:16: runtime error: null pointer passed as argument 1, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:102:28: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:110:23: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here qemu-vu: vu_panic: disconnect /tmp/qemu-test/src/util/vhost-user-server.c:102:16: runtime error: null pointer passed as argument 1, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:102:28: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:110:23: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here qemu-vu: vu_panic: disconnect /tmp/qemu-test/src/util/vhost-user-server.c:102:16: runtime error: null pointer passed as argument 1, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:102:28: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:110:23: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here qemu-vu: vu_panic: disconnect TEST check-qtest-x86_64: tests/qtest/qom-test TEST check-qtest-aarch64: tests/qtest/test-hmp TEST check-qtest-x86_64: tests/qtest/test-hmp TEST check-qtest-x86_64: tests/qtest/qos-test /tmp/qemu-test/src/util/vhost-user-server.c:102:16: runtime error: null pointer passed as argument 1, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:102:28: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:110:23: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here qemu-vu: vu_panic: disconnect /tmp/qemu-test/src/util/vhost-user-server.c:102:16: runtime error: null pointer passed as argument 1, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:102:28: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:110:23: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here qemu-vu: vu_panic: disconnect /tmp/qemu-test/src/util/vhost-user-server.c:102:16: runtime error: null pointer passed as argument 1, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:102:28: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:110:23: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here qemu-vu: vu_panic: disconnect /tmp/qemu-test/src/util/vhost-user-server.c:102:16: runtime error: null pointer passed as argument 1, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:102:28: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:110:23: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here qemu-vu: vu_panic: disconnect /tmp/qemu-test/src/util/vhost-user-server.c:102:16: runtime error: null pointer passed as argument 1, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:102:28: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here /tmp/qemu-test/src/util/vhost-user-server.c:110:23: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:43:28: note: nonnull attribute specified here qemu-vu: vu_panic: disconnect TEST check-qtest-aarch64: tests/qtest/qos-test --- raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=3a5f868350d645a1a62abc6fead5818e', '-u', '1001', '--security-opt', 'seccomp=unconfined', '--rm', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=14', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-sffs5eec/src/docker-src.2020-03-09-06.30.05.21992:/var/tmp/qemu:z,ro', 'qemu:ubuntu', '/var/tmp/qemu/run', 'test-clang']' returned non-zero exit status 2. filter=--filter=label=com.qemu.instance.uuid=3a5f868350d645a1a62abc6fead5818e make[1]: *** [docker-run] Error 1 make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-sffs5eec/src' make: *** [docker-run-test-clang@ubuntu] Error 2 real 18m57.807s user 0m10.453s The full log is available at http://patchew.org/logs/20200309100342.14921-1-coiby.xu@gmail.com/testing.docker-clang@ubuntu/?type=message. --- Email generated automatically by Patchew [https://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
On Mon, Mar 09, 2020 at 06:03:37PM +0800, Coiby Xu wrote: > v5: > * re-use vu_kick_cb in libvhost-user > * keeping processing VhostUserMsg in the same coroutine until there is > detachment/attachment of AIOContext > * Spawn separate coroutine for each VuVirtqElement > * Other changes including relocating vhost-user-blk-server.c, coding > style etc. Hi Coiby, Sorry I haven't fully reviewed this series yet. Do you have a new revision that I should review instead? Thanks, Stefan
© 2016 - 2025 Red Hat, Inc.