On Tue, Jun 06, 2023 at 16:11:01 -0500, Jonathon Jongsma wrote:
> Check whether the qemu binary supports the vdpa block driver. We can't
> rely simply on the existence of the virtio-blk-vhost-vdpa block driver
> since the first releases of qemu didn't support fd-passing for this
> driver. So we have to check for the 'fdset' feature on the driver
> object. This feature will be present in the qemu 8.1.0 release and was
> merged to qemu in commit 98b126f5.
> 
> Signed-off-by: Jonathon Jongsma <jjong...@redhat.com>
> ---
>  src/qemu/qemu_capabilities.c | 2 ++
>  src/qemu/qemu_capabilities.h | 1 +
>  2 files changed, 3 insertions(+)
> 
> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> index cf85d42198..11d5ecd622 100644
> --- a/src/qemu/qemu_capabilities.c
> +++ b/src/qemu/qemu_capabilities.c
> @@ -693,6 +693,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
>                "virtio-gpu.blob", /* QEMU_CAPS_VIRTIO_GPU_BLOB */
>                "rbd-encryption-layering", /* 
> QEMU_CAPS_RBD_ENCRYPTION_LAYERING */
>                "rbd-encryption-luks-any", /* 
> QEMU_CAPS_RBD_ENCRYPTION_LUKS_ANY */
> +              "virtio-blk-vhost-vdpa", /* 
> QEMU_CAPS_DEVICE_VIRTIO_BLK_VHOST_VDPA */
>      );
>  
>  
> @@ -1560,6 +1561,7 @@ static struct virQEMUCapsStringFlags 
> virQEMUCapsQMPSchemaQueries[] = {
>      { "object-add/arg-type/+iothread/thread-pool-max", 
> QEMU_CAPS_IOTHREAD_THREAD_POOL_MAX },
>      { "query-migrate/ret-type/blocked-reasons", 
> QEMU_CAPS_MIGRATION_BLOCKED_REASONS },
>      { "screendump/arg-type/format/^png", QEMU_CAPS_SCREENSHOT_FORMAT_PNG },
> +    { "blockdev-add/arg-type/+virtio-blk-vhost-vdpa/$fdset", 
> QEMU_CAPS_DEVICE_VIRTIO_BLK_VHOST_VDPA},

Please order this together with other 'blockdev-add' queries at the top
and add a space before }.

Also, since I've updated capabilities now, this feature should be
detected with the 8.1 dump, so please regenerate the output as the flag
will be present now.

Reviewed-by: Peter Krempa <pkre...@redhat.com>

Reply via email to