libxl: adopt to VIR_DRV_SUPPORTS_FEATURE return -1

Otherwise in some places we can mistakenly report 'unsupported' error instead
of root cause. So let's handle root cause explicitly from the macro.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Nikolay Shirokovskiy 2020-12-17 15:27:41 +03:00 committed by Nick Shyrokovskiy
parent d4439a6b83
commit 032a35893b

View File

@ -1146,7 +1146,7 @@ libxlDomainMigrationSrcPerformP2P(libxlDriverPrivatePtr driver,
unsigned int flags) unsigned int flags)
{ {
int ret = -1; int ret = -1;
bool useParams; int useParams;
virConnectPtr dconn = NULL; virConnectPtr dconn = NULL;
virErrorPtr orig_err = NULL; virErrorPtr orig_err = NULL;
libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver); libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver);
@ -1171,9 +1171,11 @@ libxlDomainMigrationSrcPerformP2P(libxlDriverPrivatePtr driver,
VIR_DRV_FEATURE_MIGRATION_PARAMS); VIR_DRV_FEATURE_MIGRATION_PARAMS);
virObjectLock(vm); virObjectLock(vm);
if (!useParams) { if (useParams <= 0) {
virReportError(VIR_ERR_OPERATION_FAILED, "%s", if (useParams == 0)
_("Destination libvirt does not support migration with extensible parameters")); virReportError(VIR_ERR_OPERATION_FAILED, "%s",
_("Destination libvirt does not support migration"
" with extensible parameters"));
goto cleanup; goto cleanup;
} }