On 11/10/22 10:36, christian.ehrhardt@xxxxxxxxxxxxx wrote: > From: Christian Ehrhardt <christian.ehrhardt@xxxxxxxxxxxxx> > > Certain udev entries might be of a size that makes libudev emit EINVAL > which right now leads to udevEventHandleThread exiting. Due to no more > handling events other elements of libvirt will start pushing for events > to be consumed which never happens causing a busy loop burning a cpu > without any gain. > > After evaluation of the example case discussed in in #245 and a test > run ignoring EINVAL it was considered safe to add EINVAL to the ignored > errnos to not exit udevEventHandleThread giving it more resilience. > > The root cause is in systemd and by now was discussed and fixed via > https://github.com/systemd/systemd/issues/24987, but hardening libvirt > to be able to better deal with EINVAL returned still is the right thing > to avoid the reported busy loops on systemd with older systemd versions. > > Fixes: https://gitlab.com/libvirt/libvirt/-/issues/245 > > Signed-off-by: Christian Ehrhardt <christian.ehrhardt@xxxxxxxxxxxxx> > Reviewed-by: Daniel P. Berrangé <berrange@xxxxxxxxxx> > --- > src/node_device/node_device_udev.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) Pushed now, sorry for the delay. Michal