Don't return fatal error in HAL driver init if HAL isn't running

The HAL driver returns a fatal error code in the case where HAL
is not running. This causes the entire libvirtd daemon to quit
which isn't desirable. Instead it should simply disable the HAL
driver

* src/node_device/node_device_hal.c: Quietly disable HAL if it is
  not running
This commit is contained in:
Daniel P. Berrange 2009-11-13 10:36:01 +00:00
parent 4be6e024c7
commit 7bed630dfb

View File

@ -692,6 +692,7 @@ static int halDeviceMonitorStartup(int privileged ATTRIBUTE_UNUSED)
DBusError err;
char **udi = NULL;
int num_devs, i;
int ret = -1;
/* Ensure caps_tbl is sorted by capability name */
qsort(caps_tbl, ARRAY_CARDINALITY(caps_tbl), sizeof(caps_tbl[0]),
@ -728,7 +729,11 @@ static int halDeviceMonitorStartup(int privileged ATTRIBUTE_UNUSED)
goto failure;
}
if (!libhal_ctx_init(hal_ctx, &err)) {
VIR_ERROR0("libhal_ctx_init failed\n");
VIR_ERROR0("libhal_ctx_init failed, haldaemon is probably not running\n");
/* We don't want to show a fatal error here,
otherwise entire libvirtd shuts down when
hald isn't running */
ret = 0;
goto failure;
}
@ -787,7 +792,7 @@ static int halDeviceMonitorStartup(int privileged ATTRIBUTE_UNUSED)
nodeDeviceUnlock(driverState);
VIR_FREE(driverState);
return -1;
return ret;
}