xen-org/xen-api — pull request #810 by mcclurmc (2012-08-07 15:28:47+00:00)
Title: CA-86764: Consecutive VDI move operations put the VDIs is unexpected places

This problem was twofold. 1) VDI.pool_migrate was lazy and didn't specify where to send the other VDIs attached to the VM, and 2) VM.migrate_send was too clever by half, and tried to guess where you wanted to put unspecified VDIs.

We fix the problem by requiring a full VDI map in migrate_send. This required us to change how VDI.pool_migrate is implemented. We now have a VM lock around the VDI.pool_migrate operation at the message forwarding layer so that multiple VDI.pool_migrates can't be executed at the same time. See the commit logs for more detail.

Mike