mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
drivers: Group global features together
All these features are supposed to be handled by the call to virDriverFeatureIsGlobal() placed right above the switch statement, so if any of them is actually encountered inside the switch statement it means there's a bug in the driver and we should report an error. Signed-off-by: Andrea Bolognani <abologna@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
4e6d0da550
commit
a8682ab791
@ -928,23 +928,26 @@ chConnectSupportsFeature(virConnectPtr conn,
|
||||
return supported;
|
||||
|
||||
switch ((virDrvFeature) feature) {
|
||||
case VIR_DRV_FEATURE_REMOTE:
|
||||
case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
|
||||
case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
|
||||
case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
|
||||
case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
|
||||
case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
|
||||
return 1;
|
||||
case VIR_DRV_FEATURE_FD_PASSING:
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("Global feature %d should have already been handled"),
|
||||
feature);
|
||||
return -1;
|
||||
case VIR_DRV_FEATURE_MIGRATION_V2:
|
||||
case VIR_DRV_FEATURE_MIGRATION_V3:
|
||||
case VIR_DRV_FEATURE_MIGRATION_P2P:
|
||||
case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
|
||||
case VIR_DRV_FEATURE_FD_PASSING:
|
||||
case VIR_DRV_FEATURE_XML_MIGRATABLE:
|
||||
case VIR_DRV_FEATURE_MIGRATION_OFFLINE:
|
||||
case VIR_DRV_FEATURE_MIGRATION_PARAMS:
|
||||
case VIR_DRV_FEATURE_MIGRATION_DIRECT:
|
||||
case VIR_DRV_FEATURE_MIGRATION_V1:
|
||||
case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
|
||||
case VIR_DRV_FEATURE_REMOTE:
|
||||
case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
|
||||
case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
@ -1024,7 +1024,19 @@ esxConnectSupportsFeature(virConnectPtr conn, int feature)
|
||||
return supported;
|
||||
|
||||
switch ((virDrvFeature) feature) {
|
||||
case VIR_DRV_FEATURE_MIGRATION_V1:
|
||||
case VIR_DRV_FEATURE_REMOTE:
|
||||
case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
|
||||
case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
|
||||
case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
|
||||
case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
|
||||
case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
|
||||
case VIR_DRV_FEATURE_FD_PASSING:
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("Global feature %d should have already been handled"),
|
||||
feature);
|
||||
return -1;
|
||||
|
||||
case VIR_DRV_FEATURE_MIGRATION_V1:
|
||||
supportsVMotion = esxSupportsVMotion(priv);
|
||||
|
||||
if (supportsVMotion == esxVI_Boolean_Undefined)
|
||||
@ -1034,10 +1046,6 @@ esxConnectSupportsFeature(virConnectPtr conn, int feature)
|
||||
return priv->vCenter &&
|
||||
supportsVMotion == esxVI_Boolean_True ? 1 : 0;
|
||||
|
||||
case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
|
||||
return 1;
|
||||
|
||||
case VIR_DRV_FEATURE_FD_PASSING:
|
||||
case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
|
||||
case VIR_DRV_FEATURE_MIGRATION_DIRECT:
|
||||
case VIR_DRV_FEATURE_MIGRATION_OFFLINE:
|
||||
@ -1045,11 +1053,6 @@ esxConnectSupportsFeature(virConnectPtr conn, int feature)
|
||||
case VIR_DRV_FEATURE_MIGRATION_PARAMS:
|
||||
case VIR_DRV_FEATURE_MIGRATION_V2:
|
||||
case VIR_DRV_FEATURE_MIGRATION_V3:
|
||||
case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
|
||||
case VIR_DRV_FEATURE_REMOTE:
|
||||
case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
|
||||
case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
|
||||
case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
|
||||
case VIR_DRV_FEATURE_XML_MIGRATABLE:
|
||||
default:
|
||||
return 0;
|
||||
|
@ -5701,22 +5701,26 @@ libxlConnectSupportsFeature(virConnectPtr conn, int feature)
|
||||
return supported;
|
||||
|
||||
switch ((virDrvFeature) feature) {
|
||||
case VIR_DRV_FEATURE_MIGRATION_V3:
|
||||
case VIR_DRV_FEATURE_REMOTE:
|
||||
case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
|
||||
case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
|
||||
case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
|
||||
case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
|
||||
case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
|
||||
case VIR_DRV_FEATURE_FD_PASSING:
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("Global feature %d should have already been handled"),
|
||||
feature);
|
||||
return -1;
|
||||
case VIR_DRV_FEATURE_MIGRATION_V3:
|
||||
case VIR_DRV_FEATURE_MIGRATION_PARAMS:
|
||||
case VIR_DRV_FEATURE_MIGRATION_P2P:
|
||||
case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
|
||||
return 1;
|
||||
case VIR_DRV_FEATURE_FD_PASSING:
|
||||
case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
|
||||
case VIR_DRV_FEATURE_MIGRATION_DIRECT:
|
||||
case VIR_DRV_FEATURE_MIGRATION_OFFLINE:
|
||||
case VIR_DRV_FEATURE_MIGRATION_V1:
|
||||
case VIR_DRV_FEATURE_MIGRATION_V2:
|
||||
case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
|
||||
case VIR_DRV_FEATURE_REMOTE:
|
||||
case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
|
||||
case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
|
||||
case VIR_DRV_FEATURE_XML_MIGRATABLE:
|
||||
default:
|
||||
return 0;
|
||||
|
@ -1621,10 +1621,17 @@ lxcConnectSupportsFeature(virConnectPtr conn, int feature)
|
||||
return supported;
|
||||
|
||||
switch ((virDrvFeature) feature) {
|
||||
case VIR_DRV_FEATURE_REMOTE:
|
||||
case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
|
||||
case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
|
||||
case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
|
||||
case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
|
||||
case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
|
||||
return 1;
|
||||
case VIR_DRV_FEATURE_FD_PASSING:
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("Global feature %d should have already been handled"),
|
||||
feature);
|
||||
return -1;
|
||||
case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
|
||||
case VIR_DRV_FEATURE_MIGRATION_DIRECT:
|
||||
case VIR_DRV_FEATURE_MIGRATION_OFFLINE:
|
||||
@ -1633,10 +1640,6 @@ lxcConnectSupportsFeature(virConnectPtr conn, int feature)
|
||||
case VIR_DRV_FEATURE_MIGRATION_V1:
|
||||
case VIR_DRV_FEATURE_MIGRATION_V2:
|
||||
case VIR_DRV_FEATURE_MIGRATION_V3:
|
||||
case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
|
||||
case VIR_DRV_FEATURE_REMOTE:
|
||||
case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
|
||||
case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
|
||||
case VIR_DRV_FEATURE_XML_MIGRATABLE:
|
||||
default:
|
||||
return 0;
|
||||
|
@ -861,23 +861,26 @@ networkConnectSupportsFeature(virConnectPtr conn, int feature)
|
||||
return supported;
|
||||
|
||||
switch ((virDrvFeature) feature) {
|
||||
case VIR_DRV_FEATURE_REMOTE:
|
||||
case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
|
||||
case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
|
||||
case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
|
||||
case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
|
||||
case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
|
||||
return 1;
|
||||
case VIR_DRV_FEATURE_FD_PASSING:
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("Global feature %d should have already been handled"),
|
||||
feature);
|
||||
return -1;
|
||||
case VIR_DRV_FEATURE_MIGRATION_V2:
|
||||
case VIR_DRV_FEATURE_MIGRATION_V3:
|
||||
case VIR_DRV_FEATURE_MIGRATION_P2P:
|
||||
case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
|
||||
case VIR_DRV_FEATURE_FD_PASSING:
|
||||
case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
|
||||
case VIR_DRV_FEATURE_XML_MIGRATABLE:
|
||||
case VIR_DRV_FEATURE_MIGRATION_OFFLINE:
|
||||
case VIR_DRV_FEATURE_MIGRATION_PARAMS:
|
||||
case VIR_DRV_FEATURE_MIGRATION_DIRECT:
|
||||
case VIR_DRV_FEATURE_MIGRATION_V1:
|
||||
case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
|
||||
case VIR_DRV_FEATURE_REMOTE:
|
||||
case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
|
||||
case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
@ -1909,22 +1909,26 @@ openvzConnectSupportsFeature(virConnectPtr conn G_GNUC_UNUSED, int feature)
|
||||
return supported;
|
||||
|
||||
switch ((virDrvFeature) feature) {
|
||||
case VIR_DRV_FEATURE_REMOTE:
|
||||
case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
|
||||
case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
|
||||
case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
|
||||
case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
|
||||
case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
|
||||
case VIR_DRV_FEATURE_FD_PASSING:
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("Global feature %d should have already been handled"),
|
||||
feature);
|
||||
return -1;
|
||||
case VIR_DRV_FEATURE_MIGRATION_PARAMS:
|
||||
case VIR_DRV_FEATURE_MIGRATION_V3:
|
||||
case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
|
||||
return 1;
|
||||
case VIR_DRV_FEATURE_FD_PASSING:
|
||||
case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
|
||||
case VIR_DRV_FEATURE_MIGRATION_DIRECT:
|
||||
case VIR_DRV_FEATURE_MIGRATION_OFFLINE:
|
||||
case VIR_DRV_FEATURE_MIGRATION_P2P:
|
||||
case VIR_DRV_FEATURE_MIGRATION_V1:
|
||||
case VIR_DRV_FEATURE_MIGRATION_V2:
|
||||
case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
|
||||
case VIR_DRV_FEATURE_REMOTE:
|
||||
case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
|
||||
case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
|
||||
case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
|
||||
case VIR_DRV_FEATURE_XML_MIGRATABLE:
|
||||
default:
|
||||
return 0;
|
||||
|
@ -1181,23 +1181,27 @@ qemuConnectSupportsFeature(virConnectPtr conn, int feature)
|
||||
return supported;
|
||||
|
||||
switch ((virDrvFeature) feature) {
|
||||
case VIR_DRV_FEATURE_REMOTE:
|
||||
case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
|
||||
case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
|
||||
case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
|
||||
case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
|
||||
case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
|
||||
case VIR_DRV_FEATURE_FD_PASSING:
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("Global feature %d should have already been handled"),
|
||||
feature);
|
||||
return -1;
|
||||
case VIR_DRV_FEATURE_MIGRATION_V2:
|
||||
case VIR_DRV_FEATURE_MIGRATION_V3:
|
||||
case VIR_DRV_FEATURE_MIGRATION_P2P:
|
||||
case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
|
||||
case VIR_DRV_FEATURE_FD_PASSING:
|
||||
case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
|
||||
case VIR_DRV_FEATURE_XML_MIGRATABLE:
|
||||
case VIR_DRV_FEATURE_MIGRATION_OFFLINE:
|
||||
case VIR_DRV_FEATURE_MIGRATION_PARAMS:
|
||||
case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
|
||||
return 1;
|
||||
case VIR_DRV_FEATURE_MIGRATION_DIRECT:
|
||||
case VIR_DRV_FEATURE_MIGRATION_V1:
|
||||
case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
|
||||
case VIR_DRV_FEATURE_REMOTE:
|
||||
case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
|
||||
case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user