From: George Dunlap Date: Tue, 24 Apr 2012 17:51:56 +0000 (+0100) Subject: xl, cpupools: Create empty pool if no cpus are specified X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f7e9df6a86f37c364d77b1011a745318967b2379;p=xen.git xl, cpupools: Create empty pool if no cpus are specified Currently, if "xl cpupool-create" is called with no cpus configured, xl will choose a cpu at random from the list of unassigned cpus, and if no unassigned cpus are available, it will fail. This seems to me to be a poor interface. For one, it makes it impossible to create an empty cpupool using the xl command-line, except by creating a pool and then removing the cpus from it. For two, I don't think assigning a random cpu is a feature; it's not unreasonable for the user to specify which cpus to add to which pools. This patch changes the behavior of "xl cpupool-create" to create an empty pool if no cpus are specified. I believe this interface to be more expected and more script-friendly. Signed-off-by: George Dunlap Committed-by: Ian Jackson Acked-by: Ian Jackson --- diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index ff487498ea..588d4174a3 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -5718,20 +5718,8 @@ int main_cpupoolcreate(int argc, char **argv) libxl_cpumap_set(&cpumap, i); n_cpus++; } - } else { - n_cpus = 1; - n = 0; - libxl_for_each_cpu(i, freemap) - if (libxl_cpumap_test(&freemap, i)) { - n++; - libxl_cpumap_set(&cpumap, i); - break; - } - if (n < n_cpus) { - fprintf(stderr, "no free cpu found\n"); - return -ERROR_FAIL; - } - } + } else + n_cpus = 0; libxl_uuid_generate(&uuid);