Re: [PATCH v3] nodedev: ignore EINVAL from libudev in udevEventHandleThread

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux