summaryrefslogtreecommitdiff
path: root/src/manager.h
AgeCommit message (Collapse)Author
2012-04-11move libsystemd_core.la sources into core/Kay Sievers
2012-04-05systemd: add hardware watchdog supportLennart Poettering
This adds minimal hardware watchdog support to PID 1. The idea is that PID 1 supervises and watchdogs system services, while the hardware watchdog is used to supervise PID 1. This adds two hardware watchdog configuration options, for the runtime watchdog and for a shutdown watchdog. The former is active during normal operation, the latter only at reboots to ensure that if a clean reboot times out we reboot nonetheless. If the runtime watchdog is enabled PID 1 will automatically wake up at half the configured interval and write to the watchdog daemon. By default we enable the shutdown watchdog, but leave the runtime watchdog disabled in order not to break independent hardware watchdog daemons people might be using. This is only the most basic hookup. If necessary we can later on hook up the watchdog ping more closely with services deemed crucial.
2012-02-02manager: tell correctly if the manager is bootingMichal Schmidt
The assumption that the initial job is the job with id==1 is incorrect. Some jobs may be enqueued before the job that starts the default unit as in this example: -.mount changed dead -> mounted Trying to enqueue job quotacheck.service/start/fail Installed new job quotacheck.service/start as 1 Installed new job systemd-stdout-syslog-bridge.socket/start as 2 Enqueued job quotacheck.service/start as 1 Trying to enqueue job quotaon.service/start/fail Installed new job quotaon.service/start as 5 Enqueued job quotaon.service/start as 5 Activating default unit: default.target Trying to enqueue job graphical.target/start/replace This fixes a bug where displaying of boot status messages was turned off too early.
2012-01-16unit: remove union UnitMichal Schmidt
Now that objects of all unit types are allocated the exact amount of memory they need, the Unit union has lost its purpose. Remove it. "Unit" is a more natural name for the base unit class than "Meta", so rename Meta to Unit. Access to members of the base class gets simplified.
2012-01-12core: switch all log targets to go directly to the journal, instead via syslogLennart Poettering
2011-12-20dbus: register to DBus asynchronouslyMichal Schmidt
Chen Jie observed and analyzed a deadlock. Assuming systemd-kmsg-syslogd is already stopped, but rsyslogd is not started yet: 1. systemd makes a synchronous call to dbus-daemon. 2. dbus-daemon wants to write something to syslog. 3. syslog needs to be started by systemd. ... but cannot be, because systemd is waiting in 1. Solve this by avoiding synchronous D-Bus calls. I had to write an async bus registration call. Interestingly, D-Bus authors anticipated this, in documentation to dbus_bus_set_unique_name(): > The only reason to use this function is to re-implement the equivalent > of dbus_bus_register() yourself. One (probably unusual) reason to do > that might be to do the bus registration call asynchronously instead > of synchronously. Lennart's comments from IRC: > though I think this doesn't fix the problem in its entirety > simply because dbus_connection_open_private() itself is still synchronous > i.e. the connect() call behind it is not async > I think I listed that issue actually on some D-Bus todo list > i.e. to make dbus_connection_get() fully async > but that's going to be hard > so your patch looks good So it may not be perfect, but it's clearly an improvement. I did not manage to reproduce the original deadlock with the patch.
2011-09-01fsck: show progress while fscking at bootLennart Poettering
2011-07-06manager: merge serialization and desrialization counter into one, and ↵Lennart Poettering
increase it when reexecuting Instead of having individual counters n_serializing and n_deserializing have a single one n_reloading, which should be sufficient. Set n_reloading when we are about to go down for reexecution to avoid cgroup trimming when we free the units for reexecution.
2011-06-21english: s/_per_/_by_/Lennart Poettering
2011-04-20cgroup: don't accidentaly trim on reloadLennart Poettering
https://bugzilla.redhat.com/show_bug.cgi?id=678555
2011-03-30manager: fix taint check for /usrLennart Poettering
2011-03-18syslog: rework syslog detection so that we need no compile-time option what ↵Lennart Poettering
the name of the syslog implementation is
2011-02-28Spelling CorrectionsHarald Hoyer
Just some lame spelling corrections with no functionality.
2011-02-15exec: introduce global defaults for the standard output of servicesLennart Poettering
2011-02-14getty: don't parse console= anymore, use /sys/class/tty/console/active insteadLennart Poettering
2010-11-24manager: bump up max number of units to 128KLennart Poettering
https://bugzilla.redhat.com/show_bug.cgi?id=655857
2010-11-18manager: make list of default controllers configurableLennart Poettering
2010-11-15drop support for MANAGER_SESSION, introduce MANAGER_USER insteadLennart Poettering
2010-11-12manager: hookup generatorsLennart Poettering
2010-11-10manager: parse RD_TIMESTAMP passed from initrdLennart Poettering
2010-10-18swap: listen for POLLPRI events on /proc/swaps if availableLennart Poettering
2010-10-14manager: hookup execution of systemd-shutdown helperFabiano Fidencio
(Modified by Lennart Poettering)
2010-10-12swap: major rework, use /sbin/swapon for setting up swaps, fix merging of ↵Lennart Poettering
aliased swap disks
2010-10-06manager: notify plymouth about progress if it is runningLennart Poettering
2010-09-27sysv: optionally disable of SysV init/rcN.d support at compile timeFabiano Fidencio
This patch adds a cpp definition HAVE_SYSV_COMPAT that is used to isolate code dealing with /etc/init.d and /etc/rcN.d for systems where it does not make sense (one that does not use sysv or one that is fully systemd native). The patch tries to be as little intrusive as possible, however in order to minimize the number of #ifdef'ed regions I've reordered some code in path-lookup.c:lookup_paths_init() where all code dealing with sysv is now isolated under running_as == MANAGER_SYSTEM as well. Moreover, In struct Service, some fields were rearranged to reduce the number of ifdefs. Lennart's suggestions were fixed and squashed with the original patch, that was sent by Gustavo Sverzut Barbieri (barbieri@profusion.mobi).
2010-09-23dbus: export number of total failed jobs on D-Bus interfaceLennart Poettering
2010-09-21manager: measure startup timesLennart Poettering
2010-09-21manager: count how many jobs we executedLennart Poettering
2010-09-01dbus: don't accept activation requests anymore if we are going down anywayLennart Poettering
2010-08-31manager: add missing second part of s/maintenance/failed/Matthew Miller
2010-08-30console: rework automatic getty on kernel console logic againLennart Poettering
It is essential that the gettys are proper dependencies from getty.target so that they aren't killed and immediately restarted on runlevel changes. Hence rework the logic to implicitly add console gettys to getty.target as dependencies. This also adds an automatic hvc console for virtualizers. https://bugzilla.redhat.com/show_bug.cgi?id=501720
2010-08-25mount: rework automatic mounting to follow the 'nofail' option in fstabLennart Poettering
2010-08-25mount: add global configuration options for handling of auto mountsLennart Poettering
2010-08-17emacs: disable tabs in .h files, tooLennart Poettering
2010-08-11pahole: rearrange structs to make them smallerLennart Poettering
2010-08-11audit,utmp: implement audit logic and rip utmp stuff out of the main daemon ↵Lennart Poettering
and into a helper binary
2010-08-09service: hide output of sysv scripts if quiet is passed on the kernel cmdlineLennart Poettering
2010-07-20manager: write serialization to /dev/.systemd/ instead of /dev/shmLennart Poettering
2010-07-20device: do not merge devicesLennart Poettering
Don't try to merge devices that have been created via dependencies when they appear in the system and can be recognized as the same. Instead, simply continue to maintain them independently of each other, however with the same state cycle. Why? Because otherwise we'd have a hard time to seperate the dependencies after the devices are unplugged again and we hence cannot be sure anymore that next time the device is plugged in it will carry the same names. Example: if one depndency refers to dev-sda.device and another one to dev-by-id-xxxyyy.device we only learn at time of plug in of the device that it is actually the same device that was ment. In the moment the device is unplugged again we won't know anymore their relation to each other and the next time the harddisk is plugged it might even appear as dev-by-id-xxxyyy.device and dev-sdb.service. To ensure the dependencies continue to have the meaning they were intended to have let's hence keep the .device objects seperate all the time, even when they are plugged in. This patch also introduces a new Following= property which points from the various .device units of a specific device to the main .device unit for it. This can be used by the client side to figure out the relation of the .device units to each other and even filter units from display.
2010-07-19systemctl: introduce reset-maintenance commandLennart Poettering
2010-07-17job: timeout every job independently of the unitLennart Poettering
2010-07-13unit: disable retroactive starting/stopping of units when deserializingLennart Poettering
2010-07-11manager: introduce unit path cache to minimize disk accessesLennart Poettering
2010-07-11cgroup: kill processes, not tasks and other cgroup changesLennart Poettering
2010-07-10cgroup: make cgroup controller name a constantLennart Poettering
2010-07-10snapshot: fix deserializationLennart Poettering
2010-07-08dbus: make errors reported via D-Bus more usefulLennart Poettering
2010-07-07dbus: send reload completion message on right connectionLennart Poettering
2010-07-07manager: optionally print status updates to console on bootLennart Poettering
2010-07-05dbus: send signals about jobs to the clients having created them ↵Lennart Poettering
unconditionally, and thus get rid of broadcast signals in most cases