vl.c: Check for NUMA node limit inside numa_add()

Instead of checking the limit before calling numa_add(), check the limit
only when we already know we're going to add a new node.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Eduardo Habkost 2013-02-04 16:27:48 -02:00 committed by Anthony Liguori
parent 12e53a9d59
commit ca4c6d3631
1 changed files with 6 additions and 4 deletions

10
vl.c
View File

@ -1258,6 +1258,12 @@ static void numa_add(const char *optarg)
optarg++;
}
if (!strcmp(option, "node")) {
if (nb_numa_nodes >= MAX_NODES) {
fprintf(stderr, "qemu: too many NUMA nodes\n");
exit(1);
}
if (get_param_value(option, 128, "nodeid", optarg) == 0) {
nodenr = nb_numa_nodes;
} else {
@ -3003,10 +3009,6 @@ int main(int argc, char **argv, char **envp)
}
break;
case QEMU_OPTION_numa:
if (nb_numa_nodes >= MAX_NODES) {
fprintf(stderr, "qemu: too many NUMA nodes\n");
exit(1);
}
numa_add(optarg);
break;
case QEMU_OPTION_display: