Age | Commit message (Collapse) | Author |
|
Assertion 'p' failed at src/shared/path-util.c:51, function path_get_file_name(). Aborting.
The unit file could not be found, and i->path would not be set.
In 02b9e969 a code path was added which attempts to remove symlinks
to a nonexistent (removed) unit file. This worked OK in case of
non-instance services, but broke in the case of instance services.
Behaviour wrt. to instance units is changed in the way that 02b9e969
changed it for non-instance units: it is now possible to remove
instance symlinks to a template unit that has been removed.
This patch isn't a full fix, because the behaviour wrt. to enabling
and disabling instance units is still broken: e.g it is possible to
start autovt@tty5.service, but it is not possible to enable it,
because autovt@.service is a symlink, and on the other hand, disabling
getty@tty5.service removes all symlinks to getty@.service, which is
wrong too. But segfaults make bad pr, so let's add at least this
partial fix for now.
|
|
|
|
Enable coverage with --enable-coverage.
"make coverage" will create the report locally,
"make coverage-sync" will upload the report to
http://www.freedesktop.org/software/systemd/coverage/.
Requires lcov version 1.10 to handle naming in systemd and to
use the --no-external option.
[zj: make the coverage at least generate something with
separate build dir, simplify rules a bit: all errors
are mine. ]
|
|
Before, "systemctl reenable getty@tty1.service" would fail with:
Failed to issue method call: File exists
To fix this, reimplement "reenable" explicitly as a disable followed by
an enable.
This is shorter and is how the man page documents its behavior.
|
|
non-persistant logging
Generating seed...
Generating key pair...
Generating sealing key...
Failed to open /var/log/journal/33f46101703a10c5fc6fa4f451840101/fss.tmp.k2wDDU: No such file or directory
|
|
We lost the reference when setting path second time.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
As of kmod v14, it is possible to export the static node information from
/lib/modules/`uname -r`/modules.devname in tmpfiles.d(5) format.
Use this functionality to let systemd-tmpfilesd create the static device nodes
at boot, and drop the functionality from systemd-udevd.
As an effect of this we can move from systemd-udevd to systemd-tmpfiles-setup-dev:
* the conditional CAP_MKNOD (replaced by checking if /sys is mounted rw)
* ordering before local-fs-pre.target (see 89d09e1b5c65a2d97840f682e0932c8bb499f166)
|
|
|
|
|
|
_listen_fds() is modified to accept unset_environment arg as keyword,
to match new notify().
|
|
The tests check if the tables have entries for all values
in the enum, and that the entries are unique.
|
|
|