
On 12/14/2017 05:42 AM, Erik Skultety wrote:
On Sat, Dec 09, 2017 at 12:29:12PM -0500, John Ferlan wrote:
Let's move the udevEnumerateDevices into a thread to "speed up" the initialization process. If the enumeration fails we can set the Quit flag to ensure that udevEventHandleCallback will not run.
Signed-off-by: John Ferlan <jferlan@redhat.com> --- src/node_device/node_device_udev.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-)
Speedup's okay (even though I don't expect anything significant), but if something goes wrong with udev, we start into a sort of crippled state where you're still able to start machines, but only if these don't make use of NPIV in a sense that a vHBA would need to be created, or managed direct-assigned PCI devices. Prior to this change if enumeration failed, the daemon terminated - I think this is an improvement.
Reviewed-by: Erik Skultety <eskultet@redhat.com>
So as a "next step" - do you think it'd be worthwhile to actually implement the nodeStateReload functionality? I think we have enough "capability" now between separate threads for Enumeration and HandleCallback. Might be a bit tricky, but also a way to 'restart' a stopped HandleCallback thread. I will hold off on pushing for a bit to ensure someone else doesn't have extreme agita over the enumerate thread though. Tks - John