summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2013-07-14systemd: fix NULL dereference when disabling a nonexistent instanceZbigniew Jędrzejewski-Szmek
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.
2013-07-13test: add trivial test for syscall table and extend table tests to error pathsZbigniew Jędrzejewski-Szmek
2013-07-13Add test coverage and generate report with lcovThomas H.P. Andersen
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. ]
2013-07-13install: make "reenable" work with templated unitsRoss Lagerwall
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.
2013-07-13journalctl: have a useful --setup-keys error message when using ↵Shawn Landden
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
2013-07-12shared/install: fix trivial memleakZbigniew Jędrzejewski-Szmek
We lost the reference when setting path second time.
2013-07-12test-path-util,test-sched-prio: uninitialize manager to appease valgrindZbigniew Jędrzejewski-Szmek
2013-07-12journald-server: r should be checked after journal_file_open_reliablyLukas Nykryn
2013-07-12systemctl: remove unused variableLukas Nykryn
2013-07-12unit: check correct variable after strdupLukas Nykryn
2013-07-11core: simplify drop-in writing logic a bitLennart Poettering
let's make use of some format string magic!
2013-07-11core: when writing drop-in files, name them directly after the property we setLennart Poettering
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.
2013-07-11cgroup: split out per-device BlockIOWeight= setting into BlockIODeviceWeight=Lennart Poettering
This way we can nicely map the configuration directive to properties and back, without requiring two different signatures for the same property.
2013-07-11machined: forward scope properties array from client to systemdLennart Poettering
This makes nspawn's --scope= switch work again.
2013-07-11systemctl: show cgroup tree if cgroup is empty but has non-empty childrenLennart Poettering
This makes sure "systemctl status user.slice" shows a nice cgroup tree of all logged in users.
2013-07-11loginctl: suppress cgroup tree output if cgroup is emptyLennart Poettering
same for machinectl
2013-07-11cgroup: simplify how instantiated units are mapped to cgroupsLennart Poettering
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.
2013-07-11cgroup: don't ever try to destroy the cgroup of the root sliceLennart Poettering
The root slice is after all the root cgroup, so don't attempt to delete it.
2013-07-11cgroup: don't move systemd into systems.slice when running as --user instanceLennart Poettering
2013-07-11core: implicitly create a per-template slice for all instantiated units by ↵Lennart Poettering
default If no explicit slice is configured for an instantiated unit, create an implicit one for all instances of the same template.
2013-07-11kernel-install/90-loaderentry.install: do not fail for missing initrdHarald Hoyer
2013-07-11basic SO_REUSEPORT supportShawn Landden
2013-07-11core: grant user@.service instances write access to their own cgroupLennart Poettering
2013-07-11core: rearrange if blocks a bitLennart Poettering
2013-07-11shutdown: avoid malloc() if we canLennart Poettering
2013-07-11loginctl: restore cgroup display for status outputLennart Poettering
Same for machinectl.
2013-07-11shutdown: fix /proc/cmdline reading of 'quiet'Kay Sievers
2013-07-10core: uninstall cgroup agent only if we are running outside of a containerLennart Poettering
Since the cgroupfs is currently not virtualized for containers we shouldn't reset the hosts agent from the container.
2013-07-10cgroup: when uninstalling agent, actually turn it off firstLennart Poettering
2013-07-10user-sessions: rely on PID 1 to kill sessionsLennart Poettering
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.
2013-07-10logind: when creating the scope job fails, return this immediately to the ↵Lennart Poettering
client that wants to register the session Otherwise we'll hanging for the job to finish without any job existing. Similar, for machined.
2013-07-10logind: don't misunderstand UnitRemoved signals during reloadingLennart Poettering
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.
2013-07-10unit: when deserializing cgroup path add it back into cgroup hashmapLennart Poettering
Also, properly remove cgroup path from hashmap when freeing unit.
2013-07-10unit: save description/slice of transient units to /runLennart Poettering
This is necessary so that these properties survive a daemon reload.
2013-07-10core: send out "Reloading" signal before and after doing a full ↵Lennart Poettering
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.
2013-07-10systemctl: suppress error message when doing "systemctl daemon-reexec"Lennart Poettering
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.
2013-07-10systemctl: suppress error messages when checking whether a unit needs to be ↵Lennart Poettering
reloaded
2013-07-10scope: don't require an initialized PIDs set when deserializingLennart Poettering
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.
2013-07-10core: while we are reloading don't suppress bus signalsLennart Poettering
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.
2013-07-10core: serialize/deserialize bus subscribersLennart Poettering
2013-07-10cgroup: downgrade error message when we cannot remove a cgroup to debugLennart Poettering
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.
2013-07-10udev: add builtin 'keyboard' to manage key mappingsKay Sievers
2013-07-10hwdb: allow list of lookup keys per given recordKay Sievers
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
2013-07-09hwdb: return false if no property is foundKay Sievers
2013-07-08static-nodes: move creation of static nodes from udevd to tmpfilesTom Gundersen
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)
2013-07-08hwdb: add --lookup-prefix= optionKay Sievers
2013-07-06man: document machinectl and systemd-machinedZbigniew Jędrzejewski-Szmek
2013-07-05systemd-python: wrap sd_notifyZbigniew Jędrzejewski-Szmek
_listen_fds() is modified to accept unset_environment arg as keyword, to match new notify().
2013-07-05tests: add tests for string lookup tablesZbigniew Jędrzejewski-Szmek
The tests check if the tables have entries for all values in the enum, and that the entries are unique.
2013-07-05suppress status message output at shutdown when 'quiet' is givenKay Sievers