
On 08/30/2016 08:45 AM, Joao Martins wrote:
On 08/29/2016 06:20 PM, Jim Fehlig wrote:
The libxl driver has long supported migration V3 but has never indicated so in the connectSupportsFeature API. Hmm, but IIRC it was only since "recent" commit 8db77b3 right?
The libxl driver has supported the VIR_DRV_FEATURE_MIGRATION_PARAMS V3 family of migration functions since commit 9b8d6e1e in May 2014.
Or rather Nikolay's reworking top-level migration code, which effectively would convert to the params versions accordingly. Before that rework I think one had to implement both params and non-params variants. Would it be worth adding a comment mainly to help the reader?
I think you are right, but support for V3 is independent of the params vs non-params variants. virt-manager uses the generic virDomainMigrate() function in src/libvirt-domain.c, and at least as far back as libvirt 1.2.5 that function tests whether both source and destination support VIR_DRV_FEATURE_MIGRATION_V{1,2,3}. If the driver doesn't advertise support for any of the versions, virDomainMigrate() returns VIR_ERR_NO_SUPPORT.
(I vaguely remember this as I dropped my v3 patch as being no longer necessary)
As a result, apps such as virt-manager that use the more generic virDomainMigrate API fail with
libvirtError: this function is not supported by the connection driver: virDomainMigrate
Add VIR_DRV_FEATURE_MIGRATION_V3 to the list of features marked as supported in the connectSupportsFeature API. FWIW and irrespective of the comment above:
Reviewed-by: Joao Martins <joao.m.martins@oracle.com>
Thanks. Along with Cedric's ACK, and considering it is a trivial bug fix, I plan to push this for RC2. Regards, Jim