nodedev: Introduce udevHandleOneDevice

Let this new method handle the device object we obtained from the
monitor in order to enhance readability.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
Erik Skultety 2017-07-25 17:41:31 +02:00
parent d3f2820ff7
commit ad97fecee7

View File

@ -1598,6 +1598,23 @@ nodeStateCleanup(void)
}
static int
udevHandleOneDevice(struct udev_device *device)
{
const char *action = udev_device_get_action(device);
VIR_DEBUG("udev action: '%s'", action);
if (STREQ(action, "add") || STREQ(action, "change"))
return udevAddOneDevice(device);
if (STREQ(action, "remove"))
return udevRemoveOneDevice(device);
return 0;
}
static void
udevEventHandleCallback(int watch ATTRIBUTE_UNUSED,
int fd,
@ -1606,7 +1623,6 @@ udevEventHandleCallback(int watch ATTRIBUTE_UNUSED,
{
struct udev_device *device = NULL;
struct udev_monitor *udev_monitor = DRV_STATE_UDEV_MONITOR(driver);
const char *action = NULL;
int udev_fd = -1;
udev_fd = udev_monitor_get_fd(udev_monitor);
@ -1635,18 +1651,7 @@ udevEventHandleCallback(int watch ATTRIBUTE_UNUSED,
goto cleanup;
}
action = udev_device_get_action(device);
VIR_DEBUG("udev action: '%s'", action);
if (STREQ(action, "add") || STREQ(action, "change")) {
udevAddOneDevice(device);
goto cleanup;
}
if (STREQ(action, "remove")) {
udevRemoveOneDevice(device);
goto cleanup;
}
udevHandleOneDevice(device);
cleanup:
udev_device_unref(device);