summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-07-02machine: fix -Wmaybe-uninitialized warningDave Reisner
The return value of machine_start_scope might be undefined if m->scope is non-NULL.
2013-07-02machined: check correct return value for NULLDave Reisner
2013-07-02machine: fix scope allocationLennart Poettering
2013-07-02core: make GC more aggressiveLennart Poettering
Since we should allow registering/unregistering transient units with the same name in a tight-loop, we need to make the GC more aggressive, so that dead units are cleaned up immediately instead of later. hence, execute the GC sweep on every event loop iteration and clean up units. This of course, means we need to be careful with adding units to the GC queue, which we already are since we execute check_gc() of each unit type already when adding something to the queue.
2013-07-02logind: after deserializatio readd systemd units to unit-to-object hashmap ↵Lennart Poettering
correctly
2013-07-02login: pass correct boolean type to libdbusLennart Poettering
2013-07-02dbus-scope: initialize variable before accessingDave Reisner
2013-07-02core: don't consider a unit's cgroup empty if only a subcgroup runs emptyLennart Poettering
2013-07-02machined: sync to /run after job completedLennart Poettering
2013-07-02machined: relax access to GetMachine()Lennart Poettering
2013-07-02nspawn: use the corect method signature for CreateMachine()Lennart Poettering
2013-07-02machined: fix bus path unescapingLennart Poettering
2013-07-02machined: split out machine registration stuff from logindLennart Poettering
Embedded folks don't need the machine registration stuff, hence it's nice to make this optional. Also, I'd expect that machinectl will grow additional commands quickly, for example to join existing containers and suchlike, hence it's better keeping that separate from loginctl.
2013-07-02libsystemd-logind: fix detection of session/user/machine of a PIDLennart Poettering
2013-07-02keymap: Asus -- do not overwrite explicitely kernel driver defined keysKay Sievers
If key mappings are defined in the kernel driver, userspace must not overwrite them. If something is wrong with the kernel-provided values, the kernel driver shold be fixed instead. Some of the matches are not the input device name but the kernel driver name, which will not match anything.
2013-07-02logind: port over to use scopes+slices for all cgroup stuffLennart Poettering
In order to prepare things for the single-writer cgroup scheme, let's make logind use systemd's own primitives for cgroup management. Every login user now gets his own private slice unit, in which his sessions live in a scope unit each. Also, add user@$UID.service to the same slice, and implicitly start it on first login.
2013-07-02scope: fix state string tableLennart Poettering
2013-07-02scope: implement reset-failed commandLennart Poettering
2013-07-02core: split out unit bus path unescaping into unit_name_from_dbus_path()Lennart Poettering
2013-07-02scope: make TimeoutStopUSec= settable for transient unitsLennart Poettering
2013-07-01keymap: remove non-existing driver string matchesKay Sievers
There are no such strings for input devices in the kernel.
2013-07-01hwdb: add --device=<device-id> and --filter=<key name glob>Kay Sievers
2013-07-01hwdb: import dataKay Sievers
2013-07-01hwdb: remove support for (not fully implemented) conditional propertiesKay Sievers
2013-07-01core: add support to run transient units in arbitrary slicesLennart Poettering
2013-07-01core: parse Slice= from the unit type specific unit file sectionLennart Poettering
Since not all unit types know Slice= it belongs in the unit type specific unit file section.
2013-07-01scope: properly implement passive validity checking of PIDs field when ↵Lennart Poettering
creating transient scopes
2013-07-01core: move ControlGroup and Slice properties out of the dbus "Unit" interfaceLennart Poettering
Slice/ControlGroup only really makes sense for unit types which actually have cgroups attached to them, hence move them out of the generic Unit interface and into the specific unit type interfaces. These fields will continue to be part of Unit though, simply because things are a log easier that way. However, regardless how this looks internally we should keep things clean and independent of the specific implementation of the inside.
2013-07-01core: allow setting of the description string for transient unitsLennart Poettering
2013-07-01core: add new "scope" unit type for making a unit of pre-existing processesLennart Poettering
"Scope" units are very much like service units, however with the difference that they are created from pre-existing processes, rather than processes that systemd itself forks off. This means they are generated programmatically via the bus API as transient units rather than from static configuration read from disk. Also, they do not provide execution-time parameters, as at the time systemd adds the processes to the scope unit they already exist and the parameters cannot be applied anymore. The primary benefit of this new unit type is to create arbitrary cgroups for worker-processes forked off an existing service. This commit also adds a a new mode to "systemd-run" to run the specified processes in a scope rather then a transient service.
2013-07-01systemctl: show per-unit cgroup tree correctly following the new propertyLennart Poettering
2013-07-01snapshot: snapshots are just a special kind of transient units nowLennart Poettering
2013-07-01dbus: expose cgroup properties in introspection everywhereLennart Poettering
2013-07-01service: correct service bus introspection for timeoutsLennart Poettering
2013-07-01cgroup: implicitly add units to GC queue when their cgroups run emptyLennart Poettering
2013-07-01cgroup: readd proper cgroup empty trackingLennart Poettering
2013-06-29man: fix spacing issue in various man pagesJason St. John
Before: libsystemd-daemonpkg-config(1) After: libsystemd-daemon pkg-config(1) This fix is more complicated than it should be due to the consecutive XML elements separated by collapsible whitespace. Merging the lines and separating the XML elements with an en space or a non-breaking space is the only solution that results in one, and only one, space being inserted between them when testing. An em space results in two spaces being inserted.
2013-06-29build-sys: "link" libsystemd-id128.so with libsystemd-labelZbigniew Jędrzejewski-Szmek
Fixed build on debian wheezy: ./.libs/libudev.so: undefined reference to `cg_create' Appears to have no influence on the resulting binaries and libraries. Cf. b5fafdf63f.
2013-06-28main: fix loading of default targetLennart Poettering
2013-06-28keymap: Add Samsung Series 3장동준
Signed-off-by: Martin Pitt <martinpitt@gnome.org>
2013-06-28core: add transient unitsLennart Poettering
Transient units can be created via the bus API. They are configured via the method call parameters rather than on-disk files. They are subject to normal GC. Transient units currently may only be created for services (however, we will extend this), and currently only ExecStart= and the cgroup parameters can be configured (also to be extended). Transient units require a unique name, that previously had no configuration file on disk. A tool systemd-run is added that makes use of this functionality to run arbitrary command lines as transient services: $ systemd-run /bin/ping www.heise.de Will cause systemd to create a new transient service and run ping in it.
2013-06-28dbus: fix minor memory leak when sending job change signalsLennart Poettering
2013-06-28unit: make sure the dropins we write are high-priorityLennart Poettering
2013-06-27dbus: hookup runtime property changes for mouns, services, sockets, swaps tooLennart Poettering
2013-06-27dbus: make DeviceAllow=/DevicePolicy= writableLennart Poettering
2013-06-27dbus: make more cgroup attributes runtime settableLennart Poettering
2013-06-27dbus: add infrastructure for changing multiple properties at once on units ↵Lennart Poettering
and hook some cgroup attributes up to it This introduces two bus calls to make runtime changes to selected bus properties, optionally with persistence. This currently hooks this up only for three cgroup atributes, but this brings the infrastructure to add more changable attributes. This allows setting multiple attributes at once, and takes an array rather than a dictionary of properties, in order to implement simple resetting of lists using the same approach as when they are sourced from unit files. This means, that list properties are appended to by this call, unless they are first reset via assigning the empty list.
2013-06-27journal-verify: Use proper printf placeholderJan Janssen
2013-06-27test: Add list testcaseJan Janssen
2013-06-27core: general cgroup reworkLennart Poettering
Replace the very generic cgroup hookup with a much simpler one. With this change only the high-level cgroup settings remain, the ability to set arbitrary cgroup attributes is removed, so is support for adding units to arbitrary cgroup controllers or setting arbitrary paths for them (especially paths that are different for the various controllers). This also introduces a new -.slice root slice, that is the parent of system.slice and friends. This enables easy admin configuration of root-level cgrouo properties. This replaces DeviceDeny= by DevicePolicy=, and implicitly adds in /dev/null, /dev/zero and friends if DeviceAllow= is used (unless this is turned off by DevicePolicy=).