mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-09 14:35:25 +00:00
virDriverFeatureIsGlobal: Handle VIR_DRV_FEATURE_REMOTE
VIR_DRV_FEATURE_REMOTE is a special flag which is asserted only when the connection is remote. All drivers implementing it must return 0 for it to work. Handle it in the global handler and add a comment why. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com> Reviewed-by: Andrea Bolognani <abologna@redhat.com>
This commit is contained in:
parent
f24a22315b
commit
c7f2d0e7b1
11
src/driver.c
11
src/driver.c
@ -333,10 +333,18 @@ virConnectValidateURIPath(const char *uriPath,
|
||||
*/
|
||||
bool
|
||||
virDriverFeatureIsGlobal(virDrvFeature feat,
|
||||
int *supported G_GNUC_UNUSED)
|
||||
int *supported)
|
||||
|
||||
{
|
||||
switch (feat) {
|
||||
/* This is a special case where the generated remote driver dispatcher
|
||||
* function intercepts this specific flag and returns '1'. Thus any local
|
||||
* implementation must return 0, so that the return value properly reflects
|
||||
* whether we are going through the remote driver */
|
||||
case VIR_DRV_FEATURE_REMOTE:
|
||||
*supported = 0;
|
||||
return true;
|
||||
|
||||
case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
|
||||
case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
|
||||
case VIR_DRV_FEATURE_FD_PASSING:
|
||||
@ -350,7 +358,6 @@ virDriverFeatureIsGlobal(virDrvFeature feat,
|
||||
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:
|
||||
|
Loading…
Reference in New Issue
Block a user