On 03.11.2016 13:33, Daniel P. Berrange wrote:
On Thu, Nov 03, 2016 at 08:18:50PM +0800, Michal Privoznik wrote:
> This is v2 of:
>
>
https://www.redhat.com/archives/libvir-list/2016-October/msg01151.html
>
> diff to v1:
> - Added udev rule (patch 18/19)
> - Wire the beast into spec file
> - Introduced a configure argument that suppress installation of this feature
>
> One of the problems here is that this requires patched udev:
>
>
https://github.com/systemd/systemd/commit/4f985bd80278972912b80df1390f84d...
>
> This is going to be part of systemd-232 release. Therefore, in my code I've put
> checks for 232 version.
As discussed on the previous posting, this series is still race prone as
this doesn't stop udev changing the labels on devices managed by libvirt.
It merely causes udev to change them, and then change them back again.
True. But I guess the problem there is udev guys don't want others to
store anything in their DB. So while this is not entirely race free it
makes situation better, doesn't it. But I guess the best would be to ask
them directly so everybody can see what's going on. I've sent the e-mail
here:
https://lists.freedesktop.org/archives/systemd-devel/2016-November/037714...
IMHO if we're going to require an unreleased udev, then we should work to
get an enhancement to udev so that we can avoid this relabelling entirely
and thus fully fix the race problem.
Again, question is whether udev guys are willing to make their SW to
waive its 'privileged' position of managing all the devices. If they are
not, we can't avoid the race but we can at least minimize the window
where the race is possible.
BTW: as of yesterday late night "unreleased systemd" statement is no
longer true. Lennart made a release, so udev behaviour this patch set
relies on is now officially supported.
Michal