static void udev_print_event(struct event *event)
{
const char *action, *params[] = {
- "DEVNAME", "ID_TYPE", "ID_BUS", "ID_FS_UUID", "ID_FS_LABEL",
+ "DEVNAME",
+ "DEVPATH",
+ "ID_TYPE",
+ "ID_BUS",
+ "ID_FS_UUID",
+ "ID_FS_LABEL",
NULL,
};
int i;
for (i = 0; params[i]; i++)
pb_log("\t%-12s => %s\n",
params[i], event_get_param(event, params[i]));
-
}
static void udev_handle_message(struct udev *udev, char *buf, int len)
event = talloc(udev, struct event);
event->type = EVENT_TYPE_UDEV;
+ pb_log("%s\n", buf);
+
result = event_parse_ad_message(event, buf, len);
if (result)
talloc_set_destructor(udev, udev_destructor);
+ memset(&addr, 0, sizeof addr);
addr.sun_family = AF_UNIX;
strcpy(addr.sun_path, PBOOT_DEVICE_SOCKET);
int udev_trigger(struct udev __attribute__((unused)) *udev)
{
- int rc = system("/sbin/udevadm trigger --subsystem-match=block");
+ int rc = system("/sbin/udevadm trigger --subsystem-match=block --action=add");
if (rc)
pb_log("udev trigger failed: %d (%d)\n", rc, WEXITSTATUS(rc));