
On Sat, Jul 22, 2017 at 05:45:59 -0400, Yi Wang wrote:
This patch fix this condition: -vm has the "auto" placement in vcpu -hot-plug memory with source node "1-3" through attach-device command -migrate the vm to a host with only 2 numa node And the migration will fail with error: "error: unsupported configuration: NUMA node 2 is unavailable"
Signed-off-by: Yi Wang <wang.yi59@zte.com.cn> Signed-off-by: Xi Xu <xu.xi8@zte.com.cn> --- src/qemu/qemu_process.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 7b708be..dcc564c 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -5259,6 +5259,16 @@ qemuProcessPrepareDomain(virConnectPtr conn, goto cleanup; }
+ VIR_DEBUG("Updating memory source nodes"); + for (i = 0; i < vm->def->nmems; i++) { + virDomainMemoryDefPtr mem = vm->def->mems[i]; + if (priv->autoNodeset && mem && mem->sourceNodes) { + virBitmapFree(mem->sourceNodes); + if (!(mem->sourceNodes = virBitmapNewCopy(priv->autoNodeset))) + goto cleanup;
This is not correct. This code will be executed even during normal startup and it would remove any manual pinning the user set-up. I think the problem might be that the XML retains the nodesets of automatically placed memory modules while formatting the migratable XML.