summaryrefslogtreecommitdiffstats
path: root/src/core/special.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* build-sys: move more files from core/ to share/ that are generic enoughLennart Poettering2013-11-221-121/+0
|
* core: general cgroup reworkLennart Poettering2013-06-271-0/+1
| | | | | | | | | | | | | | | | 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=).
* logind: add infrastructure to keep track of machines, and move to slicesLennart Poettering2013-06-201-1/+3
| | | | | | | | | | | | | | | | | | | | - This changes all logind cgroup objects to use slice objects rather than fixed croup locations. - logind can now collect minimal information about running VMs/containers. As fixed cgroup locations can no longer be used we need an entity that keeps track of machine cgroups in whatever slice they might be located. Since logind already keeps track of users, sessions and seats this is a trivial addition. - nspawn will now register with logind and pass various bits of metadata along. A new option "--slice=" has been added to place the container in a specific slice. - loginctl gained commands to list, introspect and terminate machines. - user.slice and machine.slice will now be pulled in by logind.service, since only logind.service requires this slice.
* core: add new .slice unit type for partitioning systemsLennart Poettering2013-06-171-0/+3
| | | | | | | | | | | | In order to prepare for the kernel cgroup rework, let's introduce a new unit type to systemd, the "slice". Slices can be arranged in a tree and are useful to partition resources freely and hierarchally by the user. Each service unit can now be assigned to one of these slices, and later on login users and machines may too. Slices translate pretty directly to the cgroup hierarchy, and the various objects can be assigned to any of the slices in the tree.
* unit: replace remote-fs-setup.target by network-online.targetLennart Poettering2013-03-291-1/+1
| | | | https://bugzilla.redhat.com/show_bug.cgi?id=787314
* units: introduce remote-fs-setup.target to pull in dependencies from remote ↵Lennart Poettering2013-03-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | mounts This introduces remote-fs-setup.target independently of remote-fs-pre.target. The former is only for pulling things in, the latter only for ordering. The new semantics: remote-fs-setup.target: is pulled in automatically by all remote mounts. Shall be used to pull in other units that want to run when at least one remote mount is set up. Is not ordered against the actual mount units, in order to allow activation of its dependencies even 'a posteriori', i.e. when a mount is established outside of systemd and is only picked up by it. remote-fs-pre.target: needs to be pulled in automatically by the implementing service, is otherwise not part of the initial transaction. This is ordered before all remote mount units. A service that wants to be pulled in and run before all remote mounts should hence have: a) WantedBy=remote-fs-setup.target -- so that it is pulled in b) Wants=remote-fs-pre.target + Before=remote-fs-pre.target -- so that it is ordered before the mount point, normally.
* units: introduce new timers.target and paths.target to hook timer/path units ↵Lennart Poettering2013-03-251-0/+2
| | | | into for boot
* Make initrd.target the default target in the initrdHarald Hoyer2013-03-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First, rename root-fs.target to initrd-root-fs.target to clarify its usage. Mount units with "x-initrd-rootfs.mount" are now ordered before initrd-root-fs.target. As we sometimes construct /sysroot mounts in /etc/fstab in the initrd, we want these to be mounted before the initrd-root-fs.target is active. initrd.target can be the default target in the initrd. (normal startup) : : v basic.target | ______________________/| / | | sysroot.mount | | | v | initrd-root-fs.target | | | v | initrd-parse-etc.service (custom initrd services) | | v | (sysroot-usr.mount and | various mounts marked | with fstab option | x-initrd.mount) | | | v | initrd-fs.target | | \______________________ | \| v initrd.target | v initrd-cleanup.service isolates to initrd-switch-root.target | v ______________________/| / | | initrd-udevadm-cleanup-db.service | | (custom initrd services) | | | \______________________ | \| v initrd-switch-root.target | v initrd-switch-root.service | v switch-root
* add initrd-fs.target and root-fs.targetHarald Hoyer2013-03-131-0/+2
| | | | | | | | | | | | | | Instead of using local-fs*.target in the initrd, use root-fs.target for sysroot.mount and initrd-fs.target for /sysroot/usr and friends. Using local-fs.target would mean to carry over the activated local-fs.target to the isolated initrd-switch-root.target and thus in the real root. Having local-fs.target already active after deserialization causes ordering problems with the real root services and targets. We better isolate to targets for initrd-switch-root.target, which are only available in the initrd.
* Revert "add initrd-fs.target and initrd-fs-pre.target"Harald Hoyer2013-03-061-2/+0
| | | | This reverts commit 39b83cdab37623a546344622db9bbbc784c15df5.
* add initrd-fs.target and initrd-fs-pre.targetHarald Hoyer2013-03-041-0/+2
|
* service: ignore dependencies on $syslog and $local_fs in LSB scriptsLennart Poettering2013-01-161-2/+1
| | | | | | | | | | | | | We no longer allow early-boot init scripts, however in late boot the syslog socket and local mounts are established anyway, so let's simplify our dep graph a bit. If $syslog doesn't resolve to syslog.target anymore there's no reason to keep syslog.target around anymore. Let's remove it. Note that many 3rd party service unit files order themselves after syslog.target. These will be dangling dependencies now, which should be unproblematic, however.
* service: sysv - remove distribution specific targetsKay Sievers2013-01-161-2/+0
| | | | | | | | | | | | | | | | | Systemd should not introduce any new facilities. Distributions which still need to support their non-standard/legacy facilities should add them as patches to their packaging. The following facilities are no longer recognized: $x-display-manager $mail-transfer-agent $mail-transport-agent $mail-transfer-agent $smtp $null This target is no longer available: mail-transfer-agent.target
* service: drop special HTTP server target, as it is a bad idea anf Fedora ↵Lennart Poettering2012-10-311-3/+28
| | | | | | | | | | | | | specific This was premarily intended to support the LSB facility $httpd which is only known by Fedora, and a bad idea since it lacks any real-life usecase. Similar, drop support for some other old Fedora-specific facilities. Also, document the rules for introduction of new facilities, to clarify the situation for the future.
* logind: support for hybrid sleep (i.e. suspend+hibernate at the same time)Lennart Poettering2012-10-281-0/+1
|
* use #pragma once instead of foo*foo #define guardsShawn Landden2012-07-191-4/+1
| | | | | | | | | | | | | | | | | #pragma once has been "un-deprecated" in gcc since 3.3, and is widely supported in other compilers. I've been using and maintaining (rebasing) this patch for a while now, as it annoyed me to see #ifndef fooblahfoo, etc all over the place, almost arrogant about the annoyance of having to define all these names to perform a commen but neccicary functionality, when a completely superior alternative exists. I havn't sent it till now, cause its kindof a style change, and it is bad voodoo to mess with style that has been established by more established editors. So feel free to lambast me as a crazy bafoon. v2 - preserve externally used headers
* units: rename fsck@.service to systemd-fsck@.serviceLennart Poettering2012-06-251-2/+2
| | | | | | | | | | | The rule is that units that encapsulate our own code are prefixed with "systemd-". Since the fsck units invoke our own code, hence add the missing prefix. Since a long long time the fsck units didn't invoke the naked fsck binaries anymore, and it is unlikely that this well ever change. On the opposite: the code in systemd-fsck will probably get more complex over time to handle fsck progress to plymouth forwarding. Same for quotacheck (but not quotaon!)
* sleep: implement suspend/hibernate as first class targetsLennart Poettering2012-05-081-0/+2
|
* remount: consolidate remount-api-vfs and remount-rootfs into oneLennart Poettering2012-04-241-1/+1
| | | | | This has the advantage of removing a confusing warning by mount if the root directory is not listed in fstab.
* relicense to LGPLv2.1 (with exceptions)Lennart Poettering2012-04-121-4/+4
| | | | | | | | | | | | | | We finally got the OK from all contributors with non-trivial commits to relicense systemd from GPL2+ to LGPL2.1+. Some udev bits continue to be GPL2+ for now, but we are looking into relicensing them too, to allow free copy/paste of all code within systemd. The bits that used to be MIT continue to be MIT. The big benefit of the relicensing is that closed source code may now link against libsystemd-login.so and friends.
* move libsystemd_core.la sources into core/Kay Sievers2012-04-111-0/+88