[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