OSDN Git Service

vl: fix max_cpus check
authorAndrew Jones <drjones@redhat.com>
Fri, 19 Dec 2014 02:59:46 +0000 (00:59 -0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 9 Jan 2015 22:41:12 +0000 (23:41 +0100)
We should confirm max_cpus, which is >= smp_cpus, is
<= the machine's true max_cpus, not just smp_cpus.

Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
vl.c

diff --git a/vl.c b/vl.c
index 56a17dd..95451b6 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -3850,9 +3850,9 @@ int main(int argc, char **argv, char **envp)
     smp_parse(qemu_opts_find(qemu_find_opts("smp-opts"), NULL));
 
     machine_class->max_cpus = machine_class->max_cpus ?: 1; /* Default to UP */
-    if (smp_cpus > machine_class->max_cpus) {
+    if (max_cpus > machine_class->max_cpus) {
         fprintf(stderr, "Number of SMP cpus requested (%d), exceeds max cpus "
-                "supported by machine `%s' (%d)\n", smp_cpus,
+                "supported by machine `%s' (%d)\n", max_cpus,
                 machine_class->name, machine_class->max_cpus);
         exit(1);
     }