[PATCH] conf: qemu: add support for io_uring

Peter Krempa pkrempa at redhat.com
Thu Mar 12 07:57:09 UTC 2020


On Thu, Mar 12, 2020 at 15:17:32 +0800, Zhenyu Ye wrote:
> QEMU has added support for io_uring IO mode, see:
> 
> https://git.qemu.org/git/qemu.git/ adcd6e93.
> 
> This patch add support for io_uring in libvirt.
> 
> Signed-off-by: Zhenyu Ye <yezhenyu2 at huawei.com>
> ---
>  src/conf/domain_conf.c | 1 +
>  src/conf/domain_conf.h | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index d2d97daf80..5ced2f3b6b 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -361,6 +361,7 @@ VIR_ENUM_IMPL(virDomainDiskIo,
>                "default",
>                "native",
>                "threads",
> +              "io_uring",
>  );
>  
>  VIR_ENUM_IMPL(virDomainDeviceSGIO,
> diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
> index 91b776c28a..905fdecab3 100644
> --- a/src/conf/domain_conf.h
> +++ b/src/conf/domain_conf.h
> @@ -421,6 +421,7 @@ typedef enum {
>      VIR_DOMAIN_DISK_IO_DEFAULT = 0,
>      VIR_DOMAIN_DISK_IO_NATIVE,
>      VIR_DOMAIN_DISK_IO_THREADS,
> +    VIR_DOMAIN_DISK_IO_URING,
>  
>      VIR_DOMAIN_DISK_IO_LAST
>  } virDomainDiskIo;

Hi,

this unfortunately is far from complete.

You'll need to provide:

- XML schema additions (docs/schemas/domaincommon.rng)
- documentation (docs/formatdomain.html.in)
- a qemu capability flag to check whether it's supported:
  (src/qemu/qemu_capabilities.c/h), you can use the QAPI capability
  query string to check it:
  blockdev-add/arg-type/+file/aio/^io_uring
- a validation entry to reject config if the above capability is not
  present (qemuDomainValidateStorageSource src/qemu/qemu_domain.c)
- a test case for at least qemuxml2argv and qemuxml2xmltest, enhancing
  existing test files is okay (tests/qemuxml2argvdata), the test case
  must show that the appropriate qemu command line is generated

Please split the above additions to patches at least:

- src/conf/  and docs/ additions
- src/qemu/qemu_capabilities additions
- validation additions
- tests

and please follow the contributor guidelines. Specifically the part tha
the whole tree must compile cleanly after every patch so the changes
must be split properly.




More information about the libvir-list mailing list