Hello community, I am testing vhost-user-blk. the virtual machine is started with the following command
./x86_64-softmmu/qemu-system-x86_64 \ --enable-kvm \ -smp 2 \ -chardev socket,id=chr-vu-virtio-disk0,path=/var/lib/nova/volume-04789a9b-21ce-4270-89bd-638700a0e56c,reconnect=10 \ -device vhost-user-blk-pci,bus=pci.0,addr=0x8,chardev=chr-vu-virtio-disk0,id=virtio-disk0 \ -chardev socket,id=chr-vu-virtio-disk1,path=/var/lib/nova/volume-9590b74a-c652-4e97-a88d-f736000b4886,reconnect=10 \ -device vhost-user-blk-pci,bus=pci.0,addr=0x9,chardev=chr-vu-virtio-disk1,id=virtio-disk1 \ -m 2048 \ -overcommit mem-lock=off \ -smp 2,sockets=2,dies=1,cores=1,threads=1 \ -object memory-backend-file,id=ram-node0,mem-path=/dev/hugepages/libvirt/qemu/7-instance-00000005,share=on,prealloc=on,size=2147483648,host-nodes=0,policy=bind \ -numa node,nodeid=0,cpus=0-1,memdev=ram-node0 \ -monitor stdio \ -vnc :0 the two devices are hosted by spdk vhost application it uses two vhost-user-blk devices. then in the monitor, I execute device_del virtio-disk1 the command completed successfully and in the virtual machine the disk is gone. but when I execute spdk vhost_delete_controller, this command will fail with spdk vhost application complained [2022-02-09 14:52:30.487815] vhost.c:1013:vhost_dev_unregister: *ERROR*: Controller volume-9590b74a-c652-4e97-a88d-f736000b4 it looks like qemu does not disconnect unix socket connection even though the device is removed. My question is: is device_del enough? do I need to remove chardev as well? thank you. -- Best Regards, Jiatong Shen