[libvirt] [PATCH 3/7] qemu: Implement builtin rng backend

Peter Krempa pkrempa at redhat.com
Mon Jan 6 10:11:01 UTC 2020


On Wed, Jan 01, 2020 at 13:06:33 +0800, Han Han wrote:
> Since v4.2-rc0, QEMU introduced a builtin rng backend that uses
> getrandom() syscall to generate random. Add it to libvirt with the
> backend model 'builtin'.
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=1785091
> 
> Signed-off-by: Han Han <hhan at redhat.com>
> ---
>  src/conf/domain_audit.c |  2 ++
>  src/conf/domain_conf.c  |  9 +++++++++
>  src/conf/domain_conf.h  |  1 +
>  src/qemu/qemu_command.c | 15 +++++++++++++++
>  src/qemu/qemu_domain.c  |  3 +++
>  5 files changed, 30 insertions(+)

[...]

> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index a8137b3a..d372d289 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c

[...]

> @@ -5640,6 +5641,20 @@ qemuBuildRNGBackendProps(virDomainRNGDefPtr rng,
>  
>          break;
>  
> +    case VIR_DOMAIN_RNG_BACKEND_BUILTIN:
> +        if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_RNG_BUILTIN)) {
> +            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> +                    _("this qemu doesn't support the rng-builtin "
> +                        "backend"));

The error message is misaligned, should be on a single line and also
should be in the validation code not in the formatter.

> +            return -1;
> +        }
> +
> +        if (qemuMonitorCreateObjectProps(props, "rng-builtin", objAlias,
> +                                         NULL) < 0)
> +            return -1;
> +
> +        break;
> +
>      case VIR_DOMAIN_RNG_BACKEND_LAST:
>          virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
>                         _("unknown rng-random backend"));


This patch fails to pass make check:

$  ./tests/qemucapabilitiestest
TEST: qemucapabilitiestest
      ............!........................... 40
      ....!.......!........................... 80
      ....!...                                 88  FAIL


45) 4.2.0 (x86_64)                                                    ...
In '/home/pipo/libvirt/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml':
Offset 7070
Expect [v]
Actual [flag name='rng-builtin'/>
  <v]
                                                                      ... FAILED




More information about the libvir-list mailing list