Message ID | 4d78746dfa627cc00e810d826b49e9612a74cdff.1599211479.git.dimastep@yandex-team.ru |
---|---|
State | Superseded |
Headers | show |
Series | vhost-user-blk: fix the migration issue and enhance qtests | expand |
On Fri, Sep 4, 2020 at 5:34 AM Dima Stepanov <dimastep@yandex-team.ru> wrote: > > Add support for the vhost-user-blk-pci device. This node can be used by > the vhost-user-blk tests. Tests for the vhost-user-blk device are added > in the following patches. > > Signed-off-by: Dima Stepanov <dimastep@yandex-team.ru> > --- > tests/qtest/libqos/virtio-blk.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/tests/qtest/libqos/virtio-blk.c b/tests/qtest/libqos/virtio-blk.c > index 5da0259..959c5dc 100644 > --- a/tests/qtest/libqos/virtio-blk.c > +++ b/tests/qtest/libqos/virtio-blk.c > @@ -36,6 +36,9 @@ static void *qvirtio_blk_get_driver(QVirtioBlk *v_blk, > if (!g_strcmp0(interface, "virtio")) { > return v_blk->vdev; > } > + if (!g_strcmp0(interface, "vhost-user-blk")) { Small point but why not merge this conditional with the !g_strcmp0(interface, "virtio-blk") check above? They both return v_blk. Otherwise looks good. > + return v_blk; > + } > > fprintf(stderr, "%s not present in virtio-blk-device\n", interface); > g_assert_not_reached(); > @@ -120,6 +123,17 @@ static void virtio_blk_register_nodes(void) > qos_node_produces("virtio-blk-pci", "virtio-blk"); > > g_free(arg); > + > + /* vhost-user-blk-pci */ > + arg = g_strdup_printf("id=drv0,chardev=chdev0,addr=%x.%x", > + PCI_SLOT, PCI_FN); > + opts.extra_device_opts = arg; > + add_qpci_address(&opts, &addr); > + qos_node_create_driver("vhost-user-blk-pci", virtio_blk_pci_create); > + qos_node_consumes("vhost-user-blk-pci", "pci-bus", &opts); > + qos_node_produces("vhost-user-blk-pci", "vhost-user-blk"); > + > + g_free(arg); > } > > libqos_init(virtio_blk_register_nodes); > -- > 2.7.4 > >
On Tue, Sep 08, 2020 at 11:01:57PM -0400, Raphael Norwitz wrote: > On Fri, Sep 4, 2020 at 5:34 AM Dima Stepanov <dimastep@yandex-team.ru> wrote: > > > > Add support for the vhost-user-blk-pci device. This node can be used by > > the vhost-user-blk tests. Tests for the vhost-user-blk device are added > > in the following patches. > > > > Signed-off-by: Dima Stepanov <dimastep@yandex-team.ru> > > --- > > tests/qtest/libqos/virtio-blk.c | 14 ++++++++++++++ > > 1 file changed, 14 insertions(+) > > > > diff --git a/tests/qtest/libqos/virtio-blk.c b/tests/qtest/libqos/virtio-blk.c > > index 5da0259..959c5dc 100644 > > --- a/tests/qtest/libqos/virtio-blk.c > > +++ b/tests/qtest/libqos/virtio-blk.c > > @@ -36,6 +36,9 @@ static void *qvirtio_blk_get_driver(QVirtioBlk *v_blk, > > if (!g_strcmp0(interface, "virtio")) { > > return v_blk->vdev; > > } > > + if (!g_strcmp0(interface, "vhost-user-blk")) { > > Small point but why not merge this conditional with the > !g_strcmp0(interface, "virtio-blk") check above? They both return > v_blk. Good point, will made an update. Thanks! > > Otherwise looks good. > > > + return v_blk; > > + } > > > > fprintf(stderr, "%s not present in virtio-blk-device\n", interface); > > g_assert_not_reached(); > > @@ -120,6 +123,17 @@ static void virtio_blk_register_nodes(void) > > qos_node_produces("virtio-blk-pci", "virtio-blk"); > > > > g_free(arg); > > + > > + /* vhost-user-blk-pci */ > > + arg = g_strdup_printf("id=drv0,chardev=chdev0,addr=%x.%x", > > + PCI_SLOT, PCI_FN); > > + opts.extra_device_opts = arg; > > + add_qpci_address(&opts, &addr); > > + qos_node_create_driver("vhost-user-blk-pci", virtio_blk_pci_create); > > + qos_node_consumes("vhost-user-blk-pci", "pci-bus", &opts); > > + qos_node_produces("vhost-user-blk-pci", "vhost-user-blk"); > > + > > + g_free(arg); > > } > > > > libqos_init(virtio_blk_register_nodes); > > -- > > 2.7.4 > > > >
diff --git a/tests/qtest/libqos/virtio-blk.c b/tests/qtest/libqos/virtio-blk.c index 5da0259..959c5dc 100644 --- a/tests/qtest/libqos/virtio-blk.c +++ b/tests/qtest/libqos/virtio-blk.c @@ -36,6 +36,9 @@ static void *qvirtio_blk_get_driver(QVirtioBlk *v_blk, if (!g_strcmp0(interface, "virtio")) { return v_blk->vdev; } + if (!g_strcmp0(interface, "vhost-user-blk")) { + return v_blk; + } fprintf(stderr, "%s not present in virtio-blk-device\n", interface); g_assert_not_reached(); @@ -120,6 +123,17 @@ static void virtio_blk_register_nodes(void) qos_node_produces("virtio-blk-pci", "virtio-blk"); g_free(arg); + + /* vhost-user-blk-pci */ + arg = g_strdup_printf("id=drv0,chardev=chdev0,addr=%x.%x", + PCI_SLOT, PCI_FN); + opts.extra_device_opts = arg; + add_qpci_address(&opts, &addr); + qos_node_create_driver("vhost-user-blk-pci", virtio_blk_pci_create); + qos_node_consumes("vhost-user-blk-pci", "pci-bus", &opts); + qos_node_produces("vhost-user-blk-pci", "vhost-user-blk"); + + g_free(arg); } libqos_init(virtio_blk_register_nodes);
Add support for the vhost-user-blk-pci device. This node can be used by the vhost-user-blk tests. Tests for the vhost-user-blk device are added in the following patches. Signed-off-by: Dima Stepanov <dimastep@yandex-team.ru> --- tests/qtest/libqos/virtio-blk.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)