[libvirt] [PATCH 2/2] qemu: Fix command line generation with faked host CPU
Serge E. Hallyn
serge.hallyn at canonical.com
Tue Feb 15 16:00:10 UTC 2011
Quoting Jiri Denemark (jdenemar at redhat.com):
> The code expected that host CPU architecture matches the architecture on
> which libvirt runs. This is normally true but not in tests, where host
> CPU is faked to produce consistent results.
> ---
> src/qemu/qemu_command.c | 8 +++++---
> 1 files changed, 5 insertions(+), 3 deletions(-)
Tested-by: Serge Hallyn <serge.hallyn at canonical.com>
>
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index 1687203..efd120c 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -2440,7 +2440,8 @@ qemuBuildCpuArgStr(const struct qemud_driver *driver,
> *hasHwVirt = false;
>
> if (def->cpu && def->cpu->model) {
> - if (qemuCapsProbeCPUModels(emulator, qemuCmdFlags, ut->machine,
> + if (host &&
> + qemuCapsProbeCPUModels(emulator, qemuCmdFlags, host->arch,
> &ncpus, &cpus) < 0)
> goto cleanup;
>
> @@ -2469,7 +2470,7 @@ qemuBuildCpuArgStr(const struct qemud_driver *driver,
> break;
> }
>
> - if (VIR_ALLOC(guest) < 0 || !(guest->arch = strdup(ut->machine)))
> + if (VIR_ALLOC(guest) < 0 || !(guest->arch = strdup(host->arch)))
> goto no_memory;
>
> if (def->cpu->match == VIR_CPU_MATCH_MINIMUM)
> @@ -2528,8 +2529,9 @@ qemuBuildCpuArgStr(const struct qemud_driver *driver,
> ret = 0;
>
> cleanup:
> + if (guest)
> + cpuDataFree(guest->arch, data);
> virCPUDefFree(guest);
> - cpuDataFree(ut->machine, data);
>
> if (cpus) {
> for (i = 0; i < ncpus; i++)
> --
> 1.7.4.1
>
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
More information about the libvir-list
mailing list