Commit Graph
569 Commits
Author SHA1 Message Date
Michael Olbrich 90527fbb2c service: make sure the watchdog timer is not restarted while stopping
A watchdog notification may be handled after the watchdog timer was stopped
while stopping the service. As a result the timer is restarted and the
service may be restarted as well.
The watchdog timestamp is initially set during startup in
service_enter_start_post() and cleared when the timer is stopped. Therefore
it can be used as an indication if the timer should be reset.
2013-01-24 19:36:47 -05:00
Michael Olbrich 6d594baa3f service: really stop watchdog timer when stopping
For services without ExecStop= the state SERVICE_STOP is never entered. as
a result the watchdog timer is not stopped and the service is restarted (if
it is configuered to restart).
Stopping the watchdog timer for SERVICE_STOP_SIGTERM as well fixes this.
2013-01-24 19:36:47 -05:00
Zbigniew Jędrzejewski-Szmek c3e31c7ba1 Replace autoconf int max test with simple define 2013-01-22 23:20:15 -05:00
Eelco Dolstra 2813720202 Fix some typos 2013-01-22 10:03:16 -05:00
Lennart Poettering 34e5a31ec5 util: move is_efiboot() to efivars.c 2013-01-21 01:04:16 +01:00
Kay Sievers e1af7092a8 shutdown: loop - convert to enumerate match 2013-01-20 16:18:00 +01:00
Jonathan Callen 843fc7f7f2 execute: Fix seccomp support on x32
In the x32 ABI, syscall numbers start at 0x40000000.  Mask that bit on
x32 for lookups in the syscall_names array and syscall_filter and ensure
that syscall.h is parsed correctly.

[zj: added SYSCALL_TO_INDEX, INDEX_TO_SYSCALL macros.]
2013-01-19 12:03:06 -05:00
Lennart Poettering 2e3d069236 core: if the bootloader supports it, determine firmware and boot loader delay
This allows us to print simple performance data of all parts of the boot now:

- firmware
- boot loader
- kernel
- initrd
- userspace

This only works for bootloaders which support passing TSC data via EFI
variables. As of now that's only gummiboot.
2013-01-19 04:22:09 +01:00
Lennart Poettering 6d3a739048 unit: fix typo 2013-01-19 01:18:01 +01:00
Lennart Poettering 71645acac2 unit: optionally allow making cgroup attribute changes persistent 2013-01-19 01:02:30 +01:00
Lennart Poettering e884315e3d cgroup: additional validity checks for cgroup attribute names 2013-01-19 01:02:30 +01:00
Zbigniew Jędrzejewski-Szmek d6a195a3c3 build-sys: add autoconf macro to pick macro for x32 compatibility 2013-01-18 17:04:50 -05:00
Mirco Tischler bbc9006e6b core: log USER_UNIT instead of UNIT if in user session 2013-01-18 11:14:00 -05:00
Lennart Poettering d2a3097582 systemctl: add new "get-cgroup-attr" to query current cgroup attribute value
Also adds a pair of bus calls for this to the daemon.
2013-01-18 01:44:41 +01:00
Nestor Ovroy 8755586eba core: corrects check of strduped controller string
In commit 246aa6d (core: add bus API and systemctl commands for altering
cgroup parameters during runtime), when rewriting unit_add_one_default_cgroup
to prefered style, the check of strduped b->controller was incorrectly
changed to check the containing structure. Correct it.
2013-01-17 09:31:50 -05:00
Lennart Poettering 464876c9c4 service: properly signal permanent failure of a service to its socket
This makes sure that a service is not indefinitely restarted in a tight
loop if it fails before it is able to process its socket.

This corrects the breakage introduced with
8d1b002a2e. Shame on me.
2013-01-17 04:54:34 +01:00
Lennart Poettering 74051b9b58 units: for all unit settings that take lists, allow the empty string for resetting the lists
https://bugzilla.redhat.com/show_bug.cgi?id=756787
2013-01-17 02:50:05 +01:00
Lennart Poettering 4b20075e2f dbus: add Unit's PartOf and ConsistsOf deps to introspection XML 2013-01-17 02:50:05 +01:00
Lennart Poettering 5d4caf5654 service: ignore dependencies on $syslog and $local_fs in LSB scripts
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.
2013-01-16 21:34:09 +01:00
Lukas Nykryn 9bdbc2e2ec systemctl,loginctl,cgls: do not ellipsize cgroup members when --full is specified
New file output.h with output flags and modes.

--full parameter also for cgls and loginctl.

Include 'all' parameter in flags (show_cgroup_by_path, show_cgroup,
show_cgroup_and_extra, show_cgroup_and_extra_by_spec).

get_process_cmdline with max_length == 0 will not ellipsize output.

Replace LINE_MAX with 0 in some calls of get_process_cmdline.

[zj: Default to --full when under pager for clgs.
     Drop '-f' since it wasn't documented and didn't actually work.
     Reindent a bit.
]
2013-01-16 12:11:47 -05:00
Kay Sievers bdffb521d0 shutdown: ignore loop devices without a backing file 2013-01-16 04:35:54 +01:00
Kay Sievers 3f141375cb service: sysv - remove distribution specific targets
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
2013-01-16 04:26:49 +01:00
Lennart Poettering 0c08f5cde7 shutdown: in the final umount loop don't use MNT_FORCE
MNT_FORCE is honoured by NFS and FUSE and allows unmounting of the FS
even if consumers still use it. For our brute-force loop we rely on
EBUSY being reported as long as a file system is still used by a
loopback device or suchlike. Hence, drop MNT_FORCE to make EBUSY
reliable.
2013-01-16 04:03:57 +01:00
Lennart Poettering cd7409576d load-fragment: fix bad memory access 2013-01-15 21:45:37 +01:00
Lennart Poettering 858c33bf60 load-fragment: replace specifiers in path unit's Unit= setting 2013-01-15 21:37:17 +01:00
Michał Bartoszkiewicz 7d0c710d72 core: do not make sockets dependent on lo
/sys/subsystem/net/devices/lo is never considered active, so sockets
with BindToDevice=lo would never be activated.
2013-01-15 21:00:11 +01:00
Michal Sekletar 38c888a404 core: use correct argument of type JobResult 2013-01-15 20:50:33 +01:00
Lennart Poettering 246aa6dd9d core: add bus API and systemctl commands for altering cgroup parameters during runtime 2013-01-14 21:24:57 +01:00
Lennart Poettering 83dd76170d core: fix double free 2013-01-14 21:24:57 +01:00
Lennart Poettering fbeefb45ac service: for Type=forking services, ignore exit status of main process depending on ExecStart's ignore setting
https://bugzilla.redhat.com/show_bug.cgi?id=860464
2013-01-14 21:05:17 +01:00
Kay Sievers 20771ae336 service: remove distribution specific comments, the code runs unconditional now 2013-01-12 23:50:56 +01:00
Kay Sievers 85a3fa0e19 service: remove distribution specific comments, the code run unconditional now 2013-01-12 23:31:46 +01:00
Lennart Poettering 5926cccae2 unit: instead of directly loading drop-in configuration snippets use conf_files_list_strv()
This has the benefit of allowing the usual overriding/masking knowledge
everybody loves so much.
2013-01-11 01:04:11 +01:00
Lennart Poettering 8afbb8e118 unit: allow extension of unit files with .d/*.conf drop-ins
For all unit files foobar.service we will now read
foobar.service.d/*.conf, too. This may be used to override certain unit
settings without having to edit unit files directly.

This makes it really easy to change specific settings for services
without having to edit any unit file:

mkdir /etc/systemd/system/avahi-daemon.service.d/
echo -e '[Service]\nNice=99' > /etc/systemd/system/avahi-daemon.service.d/nice.conf
systemctl daemon-reload
2013-01-11 00:21:06 +01:00
Lennart Poettering 5dd9014faf dbus: duplicate Job.Cancel() as CancelJob() and Snapshot.Remove() as RemoveSnapshot() on the Manager interface
For all other object mehtods there are already counterparts on the
manager object, as they help us reduce round-trips. So let's complete
this, and reduce complexity on the client side a bit.

As a side effect this also makes "systemctl snapshot" without arguments
work again.
2013-01-10 23:03:48 +01:00
Lennart Poettering b719810db4 dbus: properly serialize calendar timer data
As it turns out the bus properties for timer units wre really broken,
so let's clean this up for good and properly add calendar timer
serialization. We really should get that right before finalizing the
bus API documentation in the wiki...
2013-01-10 00:56:32 +01:00
Thomas Hindoe Paaboel Andersen b929bf049d tabs to spaces
Skipped bootchart and various files that looked like they should be
kept in sync with external sources.
2013-01-09 21:20:43 +01:00
Lennart Poettering 3761902e2e dbus: fix serialization of calendar timers 2013-01-08 20:00:01 +01:00
Lennart Poettering cae0c5e042 core: properly initialize kernel timestamp 2013-01-08 01:27:39 +01:00
Zbigniew Jędrzejewski-Szmek 66870f90de systemd: use unit logging macros 2013-01-06 13:52:48 -05:00
Zbigniew Jędrzejewski-Szmek fdf9f9bbe4 journal: new logging macros to include UNIT=
Adding UNIT= to log lines allows them to be shown
in 'systemctl status' output, etc.

A new set of macros and functions is added. This allows for less
verbose notation than using log_struct() explicitly.

The set of logging functions is expanded to take a pair of arguments
(e.g. "UNIT=" and the RHS) which add an extra line to the structured
log entry. This can be used to add macros which add a different
identifier later on.
2013-01-06 13:52:48 -05:00
Zbigniew Jędrzejewski-Szmek 15f55e8092 core/path: modernize style 2013-01-06 13:52:47 -05:00
Zbigniew Jędrzejewski-Szmek 4f0eedb703 core/mount: modernize style 2013-01-06 13:52:47 -05:00
Zbigniew Jędrzejewski-Szmek f93891f3ec core/dbus-unit: modernize style 2013-01-06 13:52:47 -05:00
Zbigniew Jędrzejewski-Szmek bd0af84999 core/manager: modernize style 2013-01-06 13:52:47 -05:00
Zbigniew Jędrzejewski-Szmek a83ad683fd service: fixup after ifdef dropping
Commit 88516c0 removed one line too much.
2013-01-04 21:57:55 -05:00
Lennart Poettering bc2708414b build-sys: drop all distribution specfic checks
Yay, we now have a completely generic systemd. No distribution specific checks anymore!
2013-01-04 23:26:21 +01:00
Lennart Poettering 425c608d53 service: drop inserv.conf parsing
This Suse specific configuration file should really be done in a generator
that is shipped downstream by suse.
2013-01-04 23:26:21 +01:00
Lennart Poettering 88516c0c95 service: drop the per-distro ifdefs in service.c
They don't really hurt on other distros, and this allows us to ship
the same code on all distros
2013-01-04 23:26:21 +01:00
Lennart Poettering 46a2911bf2 core: drop support for old per-distro configuration files for console, hostname, locale, timezone
This simplifies the upstream system code quite a bit. If downstream distributions want to maintain compatibility with their old configuration files, they are welcome to do so, but need to maintain this as patches downstream. The burden needs to be on the distributions to maintain differences here. Our suggestion however is to just convert the old configuration files on upgrade, as multiple distributions already do.
2013-01-04 23:26:20 +01:00