On 07/26/2013 02:56 PM, Eric Blake wrote:
On 07/26/2013 12:48 PM, Michael R. Hines wrote:
>>> int ret = -1;
>>> + if (qemuCaps->version >= MIN_X_RDMA_VERSION) {
>>> + virQEMUCapsSet(qemuCaps, QEMU_CAPS_MIGRATE_QEMU_X_RDMA);
>>> + }
>>> +
>>> if (!(archstr = qemuMonitorGetTargetArch(mon)))
>>> return -1;
>>>
>> This is wrong. First, you're adding this into a totally wrong place and
>> second, we need a better detection which is not based on qemu version.
> How would we detect without using the QEMU version?
Call 'query-migrate-capabilities' as part of the one-time capability
probing in qemu_capabilities.c; if [x-]rdma-pin-all is listed, then RDMA
is supported and you set the qemuCaps bit. There's also the matter of
handshaking between source and dest - we can't enable it on the source
unless the dest also supports rdma; there, the migration cookie should
be handy to pass destination support of the qemuCaps bit back to the
source, in time for the source to react.
Acknowledged.