Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
let's make use of some format string magic!
|
|
Mapping from "FooBar" to "foo-bar" is unnecessary and makes it hard to
handle many different properties with the same code, hence, let's just
not do it.
|
|
This way we can nicely map the configuration directive to properties and
back, without requiring two different signatures for the same property.
|
|
This makes nspawn's --scope= switch work again.
|
|
|
|
This makes sure "systemctl status user.slice" shows a nice cgroup tree
of all logged in users.
|
|
same for machinectl
|
|
|
|
Previously for an instantiated unit foo@bar.service we created a cgroup
foo@.service/foo@bar.service, in order to place all instances of the
same template inside the same subtree. As we now implicitly add all
instantiated units into one per-template slice we don't need this
complexity anymore, and instance units can map directly to the cgroups
of their full name.
|
|
The root slice is after all the root cgroup, so don't attempt to delete
it.
|
|
|
|
default
If no explicit slice is configured for an instantiated unit, create an
implicit one for all instances of the same template.
|
|
PKG_CHECK_EXISTS won't created a cached variable that later messes with
our PKG_CHECK_MODULES check for an explicit version. Unfortunately,
nesting these checks as the code existed lead to an odd error. Rather,
split the checks apart.
This also improves to the error message when the requisite version
isn't found, and supplies the literal version systemd needs.
|
|
|
|
|
|
[Install] section in it
|
|
|
|
|
|
|
|
|
|
|
|
Same for machinectl.
|
|
|
|
Since the cgroupfs is currently not virtualized for containers we
shouldn't reset the hosts agent from the container.
|
|
|
|
|
|
As we want to centralized cgroup access we should stop killing the user
sessions directly from the systemd-user-sessions service. Instead, rely
on PID 1 doing this by adding the right ordering dependencies to the
session scope units.
|
|
client that wants to register the session
Otherwise we'll hanging for the job to finish without any job existing.
Similar, for machined.
|
|
When PID 1 reloads the units logind/machined will see UnitRemoved
signals for all units. Instead of trusting these immediately, let's
check the actual unit state before considering a unit gone, so that
reloading PID 1 is not mistaken as the end of all sessions.
|
|
Also, properly remove cgroup path from hashmap when freeing unit.
|
|
This is necessary so that these properties survive a daemon reload.
|
|
reload/reexec of PID 1
Since we'll unload all units/job during a reload, and then readd them it
is really useful for clients to be aware of this phase hence sent a
signal out before and after. This signal is called "Reloading" (despite
the fact that it is also sent out during reexecution, which we consider
a special case in this context) and has one boolean parameter which is
true for the signal sent before the reload, and false for the signal
after the reload. The UnitRemoved/JobRremoved and UnitNew/JobNew due to
the reloading are guranteed to be between the pair of Reloading
messages.
|
|
When we issue a reexecution request via the private socket we need to
expect a "Disconnected" in addition to "NoReply" when the connection is
terminated.
|
|
reloaded
|
|
When a scope unit is created due to deserialization rather than client
request don't enforce that the PIDs set must be non-empty, since the
cgroup is already populated.
|
|
While we are reloading we shouldn't suppress adding units to the bus
queue when there are no subscribers, simply because we might not have
deserialized the subscribers list yet. Hence, during reloading always
assume we have subscribers.
|
|
|
|
Some units set KillMode=none to survive the initrd→rootfs transition. We
cannot remove their cgroups, but that shouldn't really be considered an
issue, so let's downgrade the error message.
|
|
|
|
|
|
This allows to specify:
dmi:bvn*:bvr*:bd*:svnVENDOR:pn:Model 231*:pvr*
dmi:bvn*:bvr*:bd*:svnVENDOR:pn:Series 12*:pvr*
KEY_A=value
KEY_B=value
Instead of:
dmi:bvn*:bvr*:bd*:svnVENDOR:pn:Model 231*:pvr*
KEY_A=value
KEY_B=value
dmi:bvn*:bvr*:bd*:svnVENDOR:pn:Series 12*:pvr*
KEY_A=value
KEY_B=value
|
|
|
|
|
|
|
|
|
|
|
|
Almost everyone wants kmod support, so don't fail silently if the libs are
out-of-date.
kmod can still be explicitly disabled and if it is not found at all, we still
default to disabling it.
|