X-Git-Url: https://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=discover%2Fudev.c;h=dd9fc7ccea6d77cd8fbb8a5fa33a9cbf01cfbedb;hp=6747e78a8064f7a04a5b377b3535a6a412658a71;hb=1d8d12aceeb41c2cde4736fe4c9926cbc9cf38d4;hpb=5eb7f7bcd3431cd8f634b02b71bd78f6162c2af3 diff --git a/discover/udev.c b/discover/udev.c index 6747e78..dd9fc7c 100644 --- a/discover/udev.c +++ b/discover/udev.c @@ -10,10 +10,10 @@ #include #include +#include +#include #include "udev.h" -#include "log.h" -#include "waiter.h" #include "pb-discover.h" #include "device-handler.h" @@ -82,10 +82,10 @@ static void print_event(struct udev_event *event) action = event->action == UDEV_ACTION_ADD ? "add" : "remove"; pb_log("udev %s event:\n", action); - printf("\tdevice: %s\n", event->device); + pb_log("\tdevice: %s\n", event->device); for (i = 0; params[i]; i++) - printf("\t%-12s => %s\n", + pb_log("\t%-12s => %s\n", params[i], udev_event_param(event, params[i])); } @@ -201,6 +201,8 @@ struct udev *udev_init(struct device_handler *handler) waiter_register(udev->socket, WAIT_IN, udev_process, udev); + pb_log("%s: waiting on %s\n", __func__, PBOOT_DEVICE_SOCKET); + return udev; out_err: @@ -208,6 +210,16 @@ out_err: return NULL; } +int udev_trigger(struct udev __attribute__((unused)) *udev) +{ + int rc = system("/sbin/udevadm trigger --subsystem-match=block"); + + if (rc) + pb_log("udev trigger failed: %d (%d)\n", rc, WEXITSTATUS(rc)); + + return WEXITSTATUS(rc); +} + void udev_destroy(struct udev *udev) { talloc_free(udev);