Add a new routine udev_trigger() that requests a replay of
system udev events.
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
if (!udev)
return EXIT_FAILURE;
+ udev_trigger(udev);
+
for (running = 1; running;) {
if (waiter_poll())
break;
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);
struct device_handler;
struct udev *udev_init(struct device_handler *handler);
+int udev_trigger(struct udev *udev);
void udev_destroy(struct udev *udev);