diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 5f2cab2..8ecc10b 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -5716,7 +5716,7 @@ int main_cpupoolnumasplit(int argc, char **argv) int p; int c; int n; - uint32_t poolid; + uint32_t poolid_root, poolid_new; int schedid; int n_pools; int node; @@ -5743,7 +5743,7 @@ int main_cpupoolnumasplit(int argc, char **argv) fprintf(stderr, "error getting cpupool info\n"); return -ERROR_NOMEM; } - poolid = poolinfo[0].poolid; + poolid_root = poolinfo[0].poolid; schedid = poolinfo[0].sched_id; for (p = 0; p < n_pools; p++) { libxl_cpupoolinfo_destroy(poolinfo + p); @@ -5768,13 +5768,13 @@ int main_cpupoolnumasplit(int argc, char **argv) a cpupool without cpus in between */ node = topology.nodemap.array[0]; - if (libxl_cpupool_cpuadd_node(&ctx, 0, node, &n)) { + if (libxl_cpupool_cpuadd_node(&ctx, poolid_root, node, &n)) { fprintf(stderr, "error on adding cpu to Pool 0\n"); return -ERROR_FAIL; } snprintf(name, 15, "Pool-node%d", node); - ret = -libxl_cpupool_rename(&ctx, name, 0); + ret = -libxl_cpupool_rename(&ctx, name, poolid_root); if (ret) { fprintf(stderr, "error on renaming Pool 0\n"); goto out; @@ -5792,7 +5792,7 @@ int main_cpupoolnumasplit(int argc, char **argv) } node = topology.nodemap.array[c]; - ret = -libxl_cpupool_cpuremove_node(&ctx, 0, node, &n); + ret = -libxl_cpupool_cpuremove_node(&ctx, poolid_root, node, &n); if (ret) { fprintf(stderr, "error on removing cpu from Pool 0\n"); goto out; @@ -5800,13 +5800,15 @@ int main_cpupoolnumasplit(int argc, char **argv) snprintf(name, 15, "Pool-node%d", node); libxl_uuid_generate(&uuid); - ret = -libxl_create_cpupool(&ctx, name, schedid, cpumap, &uuid, &poolid); + poolid_new = 0; + ret = -libxl_create_cpupool(&ctx, name, schedid, cpumap, &uuid, + &poolid_new); if (ret) { fprintf(stderr, "error on creating cpupool\n"); goto out; } - ret = -libxl_cpupool_cpuadd_node(&ctx, 0, node, &n); + ret = -libxl_cpupool_cpuadd_node(&ctx, poolid_new, node, &n); if (ret) { fprintf(stderr, "error on adding cpus to cpupool\n"); goto out;