On Wed, Nov 13, 2019 at 05:23:46PM +0800, Coiby Xu wrote: > I've implemented vhost-user-blk device backend by following > https://wiki.qemu.org/Google_Summer_of_Code_2019#vhost-user-blk_device_backend. > But I'm not sure what kind of tests I should write or to extend to > take advantage of implemented vhost-user-blk device backend. The > existing two tests related to vhost user are tests/vhost-user-bridge.c > and tests/vhost-user-test.c both of which act as vhost user server to > test QEMU's implementation of vhost user client. Am I supposed to > extend these two tests? Could you elaborate on the final step "Extend > QEMU's vhost-user tests to take advantage of your vhost-user-blk > device backend"?
Hi Coiby, The following tests/virtio-blk-test.c test cases will also work with vhost-user-blk: basic, indirect, idx, nxvirtq. The other test cases may require more work because they send QMP commands like block_resize or device_add virtio-blk-pci. In theory block_resize should work because the vhost-user-blk device backend can send a VIRTIO Configuration Space changed interrupt (VHOST_USER_SLAVE_CONFIG_CHANGE_MSG), but I haven't checked if this code path is fully implemented. In order to reuse existing test cases you could add new initialization code to virtio-blk-test.c that: 1. Starts the vhost-user-blk device backend 2. Adds a -device vhost-user-blk-pci connected to that device backend Please post your patches to qemu-devel even if you don't have test cases yet. That way you can get review feedback earlier. Stefan
signature.asc
Description: PGP signature