[systemd-devel] [PATCH] systemd: always start jobs for units in SYSTEMD_WANTS=

Lennart Poettering lennart at poettering.net
Tue Dec 10 11:04:29 PST 2013


On Mon, 09.12.13 00:33, Lennart Poettering (lennart at poettering.net) wrote:

> On Sat, 07.12.13 00:35, Zbigniew Jędrzejewski-Szmek (zbyszek at in.waw.pl) wrote:
> 
> > Before they would only be started when the unit transitioned from
> > inactive to active state. Now, they will be started also on other
> > udev events.
> > 
> > https://bugzilla.redhat.com/show_bug.cgi?id=1026860:
> > 
> > we have an MD device holding an LVM PV. When it is detected, and the
> > systemd .device unit is created, the device is not yet ready to be
> > used. Later, after an udev change event, the device is ready and LVM
> > udev rules add a SYSTEMD_WANTS=lvm2-pvscan at xxx.service tag. But since
> > the device was active (in systemd's mind) before, the SYSTEMD_WANTS
> > service was not run.
> 
> Hmm? We introduced the SYSTEMD_READY property for LVM. A device is only
> considered active by systemd if that property is either unset or set to
> 1. If it is set to 0 however, the device is considered inactve.
> 
> I have the suspicion that there's exactly zero to fix in systemd here,
> it's just that something between LVM and MD is not setting that property
> properly?

I have now reverted your patch, since I am pretty sure we should make
this work via the dependency logic rather than queuing new jobs
explicitly. If the dependency logic doesn't work correctly we need to
fix this.

I have also commented on the rhbz bug and reopened it.

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list