Instead of disabling live migration in this case, as proposed by your patch, it may be an option to set the volumes on shared storage as "shareable" in the libvirt definition. We have been using that approach for our RBD backed volumes for some months now quite successfully, see https://github.com/cloudbau/nova/commit/b5e2a8ecd53341f7ad16fcc789cc40222272e72c for our patch.
We did some basic performance comparison and there does not seem to be any major impact, though this may need some further analysis.
Instead of disabling live migration in this case, as proposed by your patch, it may be an option to set the volumes on shared storage as "shareable" in the libvirt definition. We have been using that approach for our RBD backed volumes for some months now quite successfully, see https:/ /github. com/cloudbau/ nova/commit/ b5e2a8ecd53341f 7ad16fcc789cc40 222272e72c for our patch.
We did some basic performance comparison and there does not seem to be any major impact, though this may need some further analysis.