Re: systemd (Was Re: tmpfs for strategic directories)

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

 



On Tue, 01.06.10 15:25, Bill Nottingham (notting@xxxxxxxxxx) wrote:

> Lennart Poettering (mzerqung@xxxxxxxxxxx) said: 
> > > > Requires=basic.target sockets.target dbus.socket
> > > > After=basic.target sockets.target dbus.socket
> > > 
> > > What does this goop mean and why is it necessary?
> > 
> > basic.target encapsulates the early boot process (kinda the same stuff
> > rc.sysinit currently does). The Requires= make sure that this is pulled
> > in by dbus.service. The After= makes sure that it has finished before we
> > fork dbus.
> 
> How are these evaluated differently that you'd need to list both 'Requires'
> and 'After', as opposed to just one? (I would think Requires would imply
> After.)

Well, in systemd ordering dependencies are independent of requirement
independencies.

Explanation:

A requires B means that when A is started B is started too, at the same
time.

A after B means that when A is started and B is started as well, then B
is started first and only when that finished A is started too.

Now, if you combine both, then you get A requires B + A after B, which
means that when A is started we first start B and when that is finished
wwe load A too.

There are use-cases for all three cases listed above, so we thought we
cover this in just two dependency types, instead of three. (And in fact
actually, since we have "requires" and "requisite" too, this saves us
quite a few additional types)

Now, since base.target is pulled in by the default boot target anyway,
one could argue that in this case an After= would suffice, and the
requires= is redundant. But uh, on a logical level base.target is
actually required, so we should list both elements I think.

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/           GnuPG 0x1A015CC4
-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux