chiark / gitweb /
8 years agobuild-sys: prepare 204 v204
Lennart Poettering [Thu, 9 May 2013 13:45:50 +0000 (15:45 +0200)]
build-sys: prepare 204

8 years agoman: document that the kernel's audit subsystem is currently incompatible with nspawn...
Lennart Poettering [Thu, 9 May 2013 13:32:27 +0000 (15:32 +0200)]
man: document that the kernel's audit subsystem is currently incompatible with nspawn containers

8 years agocondition, man: Add support for ConditionSecurity=smack
Karol Lewandowski [Tue, 7 May 2013 11:21:46 +0000 (13:21 +0200)]
condition, man: Add support for ConditionSecurity=smack

According to Documentation/security/Smack.txt:
  In keeping with the intent of Smack, configuration data is minimal
  and not strictly required. The most important configuration step is
  mounting the smackfs pseudo filesystem.
This means that checking the mount point should be enough.

8 years agosystemd-python: add wrappers for easy functions in sd-login
Zbigniew Jędrzejewski-Szmek [Wed, 8 May 2013 23:46:49 +0000 (19:46 -0400)]
systemd-python: add wrappers for easy functions in sd-login

sd_get_uids, sd_get_seats, sd_get_sessions, and sd_get_machine_names.

8 years agosystemd-python: add __version__ strings
Zbigniew Jędrzejewski-Szmek [Thu, 9 May 2013 01:08:14 +0000 (21:08 -0400)]
systemd-python: add __version__ strings

8 years agoRearrange a few fields to reduce holes
Zbigniew Jędrzejewski-Szmek [Wed, 8 May 2013 01:07:39 +0000 (21:07 -0400)]
Rearrange a few fields to reduce holes

8 years agoman: add permalinks to subsection titles too
Zbigniew Jędrzejewski-Szmek [Tue, 7 May 2013 00:00:16 +0000 (20:00 -0400)]
man: add permalinks to subsection titles too

8 years agoupdate TODO
Lennart Poettering [Tue, 7 May 2013 18:56:30 +0000 (20:56 +0200)]
update TODO

8 years agohostnamectl: suppress outputting of pretty hostname field in status if empty
Lennart Poettering [Tue, 7 May 2013 18:56:05 +0000 (20:56 +0200)]
hostnamectl: suppress outputting of pretty hostname field in status if empty

8 years agohostname: only suppress setting of pretty hostname if it is non-equal to the static...
Lennart Poettering [Tue, 7 May 2013 18:55:11 +0000 (20:55 +0200)]
hostname: only suppress setting of pretty hostname if it is non-equal to the static hostname and if the static hostname is set, too

8 years agobuild-sys: properly mkdir for GENERAL_ALIASES
Zbigniew Jędrzejewski-Szmek [Tue, 7 May 2013 18:38:51 +0000 (14:38 -0400)]
build-sys: properly mkdir for GENERAL_ALIASES

Previous commit (20d408766) was broken. The problem is not connected
to DESTDIR being set or not, but to the fact that targets in
$GENERAL_ALIASES have directory components, so mkdir -p wasn't
recursing deep enough.

8 years agobuild-sys: properly mkdir with DESTDIR set
Zbigniew Jędrzejewski-Szmek [Tue, 7 May 2013 18:13:04 +0000 (14:13 -0400)]
build-sys: properly mkdir with DESTDIR set

grawity> ln: failed to create symbolic link
‘/home/grawity/pkg/aur/systemd-git/pkg/systemd//etc/systemd/system/’: No such file or directory

8 years agojournald: don't recalculate the ACL mask
Lennart Poettering [Tue, 7 May 2013 17:07:27 +0000 (19:07 +0200)]
journald: don't recalculate the ACL mask

Otherwise we might end up with executable files if some default ACL is
set for the journal directory.

8 years agobuild-sys: support builds without EAs again
Lennart Poettering [Tue, 7 May 2013 17:03:46 +0000 (19:03 +0200)]
build-sys: support builds without EAs again

8 years agohashmap: document trivial_hash_func()
Lennart Poettering [Tue, 7 May 2013 15:51:41 +0000 (17:51 +0200)]
hashmap: document trivial_hash_func()

8 years agokmod-setup: properly iterate through module table
Lennart Poettering [Tue, 7 May 2013 15:48:25 +0000 (17:48 +0200)]
kmod-setup: properly iterate through module table

Previously we skipped every second entry.

This also cleans up much of the code and removes some dead code.

8 years agosystemd-sleep: it is not an error if the config file is missing
Zbigniew Jędrzejewski-Szmek [Tue, 7 May 2013 15:35:23 +0000 (11:35 -0400)]
systemd-sleep: it is not an error if the config file is missing

8 years agologin: add missing _public_ to sd_get_machine_names()
Lennart Poettering [Tue, 7 May 2013 10:47:30 +0000 (12:47 +0200)]
login: add missing _public_ to sd_get_machine_names()

8 years agoupdate TODO
Lennart Poettering [Tue, 7 May 2013 00:42:15 +0000 (02:42 +0200)]
update TODO

8 years agojournald: be more careful when we try to flush the runtime journal to disk and the... v203
Lennart Poettering [Mon, 6 May 2013 23:09:33 +0000 (01:09 +0200)]
journald: be more careful when we try to flush the runtime journal to disk and the disk is close to being full

Bump the minimal size of the journal so that we can be sure creating the
journal file will always succeed. Previously the minimum size was
smaller than a empty jounral file...

8 years agoNEWS: typo fix
Lennart Poettering [Mon, 6 May 2013 21:59:14 +0000 (23:59 +0200)]
NEWS: typo fix

8 years agobuild-sys: prepare new release
Lennart Poettering [Mon, 6 May 2013 21:43:59 +0000 (23:43 +0200)]
build-sys: prepare new release

8 years agocore: escape unit name from udev
MUNEDA Takahiro [Tue, 23 Apr 2013 17:34:38 +0000 (13:34 -0400)]
core: escape unit name from udev

This patch escapes a unit name which was derived from udev.

Please imagine following udev rule.

  ACTION=="online|offline", TAG+="systemd", ENV{SYSTEMD_WANTS}="muneda@%p.service"
  ACTION=="online|offline", TAG+="systemd", ENV{SYSTEMD_WANTS}="muneda@%r.service"
  ACTION=="online|offline", TAG+="systemd", ENV{SYSTEMD_WANTS}="muneda@%S.service"

When unit name is derived from udev via
udev_device_get_property_value(), the name may contains '/' if
ENV{SYSTEMD_WANTS} has the udev options $devpath(%p), $root(%r), or
$sys(%S).  However, '/' is a invalid char for unit name so processing
of this rule fails as Invalid argument with following message.

Apr 22 13:21:37 localhost systemd[1]: Failed to load device unit: Invalid argument
Apr 22 13:21:37 localhost systemd[1]: Failed to process udev device event: Invalid argument

This patch escapes those invalid chars in a unit name.
Tested with 202, and confirmed to apply cleanly on top of commit 195f8e36.


8 years agosystemd-sleep: add support for freeze and standby
Zbigniew Jędrzejewski-Szmek [Sat, 4 May 2013 16:31:28 +0000 (12:31 -0400)]
systemd-sleep: add support for freeze and standby

A new config file /etc/systemd/sleep.conf is added.
It is parsed by systemd-sleep and logind. The strings written
to /sys/power/disk and /sys/power/state can be configured.
This allows people to use different modes of suspend on
systems with broken or special hardware.

Configuration is shared between systemd-sleep and logind
to enable logind to answer the question "can the system be
put to sleep" as correctly as possible without actually
invoking the action. If the user configured systemd-sleep
to only use 'freeze', but current kernel does not support it,
logind will properly report that the system cannot be put
to sleep.;a=commit;h=7e73c5ae6e7991a6c01f6d096ff8afaef4458c36

SYSTEM_CONFIG_FILE and USER_CONFIG_FILE defines were removed
since they were used in only a few places and with the
addition of /etc/systemd/sleep.conf it becomes easier to just
append the name of each file to the dir name.

8 years agofileio: split write_one_line_file into two
Zbigniew Jędrzejewski-Szmek [Sat, 4 May 2013 15:38:23 +0000 (11:38 -0400)]
fileio: split write_one_line_file into two

The new function allows one to write to an already
open file.

8 years agozsh_completion: complete only pids for systemd-coredumpctl
Daniel Wallace [Sun, 5 May 2013 23:09:53 +0000 (18:09 -0500)]
zsh_completion: complete only pids for systemd-coredumpctl

Instead of completing the whole line, which doesn't work, only complete
the pid, but still show the whole line so the user can see which command
was which.

Users can also let the parameter expansion sort the completion by date
instead of by pid, by setting

zstyle ':completion:*:*:systemd-coredumpctl:*' sort no

so that the zshcompsys doesn't sort the _describe function for only

8 years agoman: fix typos in systemd.special
Ross Lagerwall [Mon, 6 May 2013 14:32:23 +0000 (15:32 +0100)]
man: fix typos in systemd.special

8 years agoman: clarify behaviour of Also= in unit files
Lennart Poettering [Mon, 6 May 2013 20:47:41 +0000 (22:47 +0200)]
man: clarify behaviour of Also= in unit files

8 years agoman: correct SIGUSR1 semantics for journald
Lennart Poettering [Mon, 6 May 2013 20:39:17 +0000 (22:39 +0200)]
man: correct SIGUSR1 semantics for journald

8 years agocore: unit_inactive_or_pending() should actually do as it claims
Lennart Poettering [Mon, 6 May 2013 20:28:39 +0000 (22:28 +0200)]
core: unit_inactive_or_pending() should actually do as it claims

8 years agoupdate TODO
Lennart Poettering [Mon, 6 May 2013 20:26:55 +0000 (22:26 +0200)]
update TODO

8 years agocondition, man: Add support for ConditionSecurity=apparmor
Nirbheek Chauhan [Tue, 9 Apr 2013 13:00:24 +0000 (18:30 +0530)]
condition, man: Add support for ConditionSecurity=apparmor

Checking for the apparmor directory in securityfs means the apparmor module is
loaded and enabled, and hence should suffice as a test.

8 years agoquota: use QUOTACHECK path correctly as tested in
Lennart Poettering [Mon, 6 May 2013 19:15:38 +0000 (21:15 +0200)]
quota: use QUOTACHECK path correctly as tested in

8 years agonspawn: explain that we look for /etc/os-release in the container directory
Lennart Poettering [Mon, 6 May 2013 19:04:31 +0000 (21:04 +0200)]
nspawn: explain that we look for /etc/os-release in the container directory

8 years agohwdb: update
Kay Sievers [Mon, 6 May 2013 15:39:07 +0000 (17:39 +0200)]
hwdb: update

8 years agoTODO: update
Kay Sievers [Mon, 6 May 2013 15:38:27 +0000 (17:38 +0200)]
TODO: update

8 years agokernel-install: add default install scripts
Harald Hoyer [Tue, 30 Apr 2013 16:01:47 +0000 (18:01 +0200)]
kernel-install: add default install scripts

Do the depmod in the kernel-install hooks, so hooks can produce/install
kernel modules and be part of the depmod.

Also move the basic boot loader entry creation and removal to a
plugin script.

If PRETTY_NAME is not defined in /etc/os-release, fallback to

Add documentation for everything in the man page.

8 years agokeymap/findkeyboards: avoid throwaway attribute-walk
Ville Skyttä [Fri, 3 May 2013 20:43:12 +0000 (23:43 +0300)]
keymap/findkeyboards: avoid throwaway attribute-walk

8 years agoSpelling fixes
Ville Skyttä [Fri, 3 May 2013 20:43:11 +0000 (23:43 +0300)]
Spelling fixes

8 years agoman: provide "permalinks" to sections and terms
Zbigniew Jędrzejewski-Szmek [Sat, 4 May 2013 00:25:57 +0000 (20:25 -0400)]
man: provide "permalinks" to sections and terms

So no one needs to say "go to fd.o/software/systemd/man, open page X,
then scroll down to section 3, and look for ..." anymore.

8 years agosystemctl: use GREEDY_REALLOC in one more place
Zbigniew Jędrzejewski-Szmek [Fri, 3 May 2013 23:56:54 +0000 (19:56 -0400)]
systemctl: use GREEDY_REALLOC in one more place

8 years agojournal: as a µ-opt, use sizeof instead of strlen
Zbigniew Jędrzejewski-Szmek [Fri, 3 May 2013 23:56:18 +0000 (19:56 -0400)]
journal: as a µ-opt, use sizeof instead of strlen

8 years agocgroup: when escaping a cgroup object name, also escape names that start with a dot
Lennart Poettering [Fri, 3 May 2013 17:02:24 +0000 (19:02 +0200)]
cgroup: when escaping a cgroup object name, also escape names that start with a dot

8 years agoupdate TODO
Lennart Poettering [Fri, 3 May 2013 16:58:44 +0000 (18:58 +0200)]
update TODO

8 years agosystemctl: add --plain option to list-dependencies
Lukas Nykryn [Fri, 3 May 2013 10:52:19 +0000 (12:52 +0200)]
systemctl: add --plain option to list-dependencies

This patch adds more script-friendly output for list-dependencies.

8 years agojournal: Set the default keep free value to 15% (up from 5%)
Colin Guthrie [Tue, 30 Apr 2013 10:48:11 +0000 (11:48 +0100)]
journal: Set the default keep free value to 15% (up from 5%)

As some SSDs are still seeing performance degredation when
reaching 85% usage the default value of 5% seems a little low.

Set this to 15% by default.

8 years agocore: bump simultaneous bus connection limit to 512
Lennart Poettering [Fri, 3 May 2013 14:32:41 +0000 (16:32 +0200)]
core: bump simultaneous bus connection limit to 512

8 years agocryptsetup: downgrade world-writable warning again
Lennart Poettering [Fri, 3 May 2013 13:25:44 +0000 (15:25 +0200)]
cryptsetup: downgrade world-writable warning again

This semi-reverts 8973790ee6f62132b1b57de15c4edaef2c097004.

8 years agoupdate TODO
Lennart Poettering [Fri, 3 May 2013 12:19:19 +0000 (14:19 +0200)]
update TODO

8 years agoman: add various filenames to the index
Zbigniew Jędrzejewski-Szmek [Fri, 3 May 2013 04:55:20 +0000 (00:55 -0400)]
man: add various filenames to the index

Everything which is an absolute filename marked with <filename></filename>
lands in the index, unless noindex= attribute is present. Should make
it easier for people to find stuff when they are looking at a file on

Various formatting errors in manpages are fixed, kernel-install(1) is
restored to formatting sanity.

8 years agobuild-sys: tell rsync no to tranfer times and permissions
Zbigniew Jędrzejewski-Szmek [Fri, 3 May 2013 03:54:00 +0000 (23:54 -0400)]
build-sys: tell rsync no to tranfer times and permissions

When rsyncing to fd.o, rsync would fail on symlinks in man/.
We don't care about the times too much anyway. rsync will
set times to "now", which is fine, since modification times
don't matter much outside of each uploader's machine anyway.

The point is to complete all steps of the transfer, so Python
documentation is properly updated.

8 years agoman: link to socket activation blog entries
Zbigniew Jędrzejewski-Szmek [Fri, 3 May 2013 03:35:45 +0000 (23:35 -0400)]
man: link to socket activation blog entries

8 years agobuild-sys: "link" python _reader and pam_systemd against libsd-daemon-internal
Zbigniew Jędrzejewski-Szmek [Thu, 2 May 2013 02:30:54 +0000 (22:30 -0400)]
build-sys: "link" python _reader and pam_systemd against libsd-daemon-internal

The same old story as d3b9e0ff: those two use libsystemd-shared, and
in turn, some functions in libsystemd-shared use libsystemd-daemon.
The fact that *those* functions are used neither by the python modules
in question nor pam_systemd isn't always enough. Currently, I'm seeing
linking failures with -flto. The result of adding
libsystemd-daemon-internal to the list of linked libraries should be
harmless, with no change in size or final link requirements.

8 years agotime-dst: use _cleanup_
Zbigniew Jędrzejewski-Szmek [Fri, 3 May 2013 02:51:50 +0000 (22:51 -0400)]
time-dst: use _cleanup_

8 years agoAdd __attribute__((const, pure, format)) in various places
Zbigniew Jędrzejewski-Szmek [Fri, 3 May 2013 02:51:50 +0000 (22:51 -0400)]
Add __attribute__((const, pure, format)) in various places

I'm assuming that it's fine if a _const_ or _pure_ function
calls assert. It is assumed that the assert won't trigger,
and even if it does, it can only trigger on the first call
with a given set of parameters, and we don't care if the
compiler moves the order of calls.

8 years agohashmap.h: fix coding style issue
Daniel Buch [Fri, 26 Apr 2013 16:40:08 +0000 (18:40 +0200)]
hashmap.h: fix coding style issue

8 years agotest-hashmap.c: add unit-test for hashmap
Daniel Buch [Thu, 2 May 2013 21:50:49 +0000 (23:50 +0200)]
test-hashmap.c: add unit-test for hashmap

8 years agokdbus: update kdbus.h from upstream
Kay Sievers [Thu, 2 May 2013 17:01:49 +0000 (19:01 +0200)]
kdbus: update kdbus.h from upstream

8 years agobootchart: cleanup unused structs and globals
Auke Kok [Thu, 2 May 2013 16:40:52 +0000 (09:40 -0700)]
bootchart: cleanup unused structs and globals

8 years agoDynamically allocate bootchart logs
Nathaniel Chen [Wed, 24 Apr 2013 21:56:15 +0000 (14:56 -0700)]
Dynamically allocate bootchart logs

Instead of storing bootchart sample data in arrays, this patch moves
storage to linked lists so that there is no more limit on samples.

This patch also fixes parsing of /proc/<pid>/smaps in kernels > 3.7.

8 years agoAdd help option to bootchart man page
Nathaniel Chen [Thu, 2 May 2013 16:21:23 +0000 (09:21 -0700)]
Add help option to bootchart man page

Bootchart has a help option. For the sake of consistency, this patch
adds it to the man page.

Also, the TODO is updated. Bootcharts were added to the journal in
commit c4d58b0.

8 years agokdbus: update kdbus.h from upstream
Kay Sievers [Thu, 2 May 2013 15:57:49 +0000 (17:57 +0200)]
kdbus: update kdbus.h from upstream

8 years agonspawn: inherit the exit status of container
Dave Reisner [Thu, 2 May 2013 14:39:53 +0000 (10:39 -0400)]
nspawn: inherit the exit status of container

If we get as far as successfully starting the container, nspawn should
inherit the exit status of the child container process as its own.

8 years agoAnnotate some functions as _const_
Cristian Rodríguez [Wed, 1 May 2013 02:07:33 +0000 (22:07 -0400)]
Annotate some functions as _const_

hexchar,unhexchar,octchar,unoctchar,decchar,undecchar are
all const functions.

8 years agodbus-execute: fix introspection
Ronny Chevalier [Wed, 24 Apr 2013 13:17:19 +0000 (15:17 +0200)]
dbus-execute: fix introspection

Add missing property and remove duplicate properties already in

8 years agocgls: add --machine/-M
Zbigniew Jędrzejewski-Szmek [Tue, 30 Apr 2013 04:35:38 +0000 (00:35 -0400)]
cgls: add --machine/-M

cg_get_machine_path is modified to include the escaped machine name
+ ".nspawn" if the machine argument is nonnull.

8 years agozsh_completion: fix udevadm monitor flags
Daniel Wallace [Tue, 30 Apr 2013 23:42:22 +0000 (18:42 -0500)]
zsh_completion: fix udevadm monitor flags

The brackets in the _arguments description of udevadm monitor need to be

8 years agozsh-completion: add s-a critical-chain
Zbigniew Jędrzejewski-Szmek [Tue, 30 Apr 2013 02:02:57 +0000 (22:02 -0400)]
zsh-completion: add s-a critical-chain

8 years agoutil: Add _sentinel_ to strextend()
Colin Walters [Tue, 30 Apr 2013 17:11:49 +0000 (13:11 -0400)]
util: Add _sentinel_ to strextend()

Since it must be NULL terminated.

8 years agokdbus: update kdbus.h from upstream
Kay Sievers [Tue, 30 Apr 2013 17:15:35 +0000 (19:15 +0200)]
kdbus: update kdbus.h from upstream

8 years agohwdb: update
Kay Sievers [Tue, 30 Apr 2013 17:13:54 +0000 (19:13 +0200)]
hwdb: update

8 years agoupdate TODO
Lennart Poettering [Tue, 30 Apr 2013 11:35:51 +0000 (08:35 -0300)]
update TODO

8 years agounits: add an easy-to-use unit template file systemd-nspawn@.service for running...
Lennart Poettering [Tue, 30 Apr 2013 00:11:37 +0000 (21:11 -0300)]
units: add an easy-to-use unit template file systemd-nspawn@.service for running containers as system services

8 years agoman: improve documentation for specifiers
Lennart Poettering [Mon, 29 Apr 2013 23:55:34 +0000 (20:55 -0300)]
man: improve documentation for specifiers

8 years agobuild-sys: add makefile stub link to nss-myhostname/
Lennart Poettering [Mon, 29 Apr 2013 23:39:46 +0000 (20:39 -0300)]
build-sys: add makefile stub link to nss-myhostname/

8 years agoman: we need to be more careful with the unit search paths we document
Lennart Poettering [Mon, 29 Apr 2013 23:36:49 +0000 (20:36 -0300)]
man: we need to be more careful with the unit search paths we document

We generally document the suggested paths, not the paths possible in
weird, non-standard setups. We do this in order to not confuse
administrators/users unnecessarily and to push people to install things
into the same directories on all distributions.

We are PID 1 after all, the really basic building block of the OS.
Unlike for an app there's very little benefit in being entirely

8 years agocgroup: make cg_pid_get_path() work properly for co-mounted controllers and normalize...
Lennart Poettering [Mon, 29 Apr 2013 23:22:36 +0000 (20:22 -0300)]
cgroup: make cg_pid_get_path() work properly for co-mounted controllers and normalized named hierarchies

8 years agocryptsetup: warn if keyfiles are world-readable
Lennart Poettering [Mon, 29 Apr 2013 22:57:29 +0000 (19:57 -0300)]
cryptsetup: warn if keyfiles are world-readable

8 years agocryptsetup: warn if /etc/crypttab is world-readable
Lennart Poettering [Mon, 29 Apr 2013 22:48:03 +0000 (19:48 -0300)]
cryptsetup: warn if /etc/crypttab is world-readable

8 years agocgroup: do not allow manipulating the cgroup path of units within the systemd:/system...
Lennart Poettering [Mon, 29 Apr 2013 22:15:30 +0000 (19:15 -0300)]
cgroup: do not allow manipulating the cgroup path of units within the systemd:/system subtree

8 years agoid128: when taking user input for a 128bit ID, validate syntax
Lennart Poettering [Mon, 29 Apr 2013 21:39:12 +0000 (18:39 -0300)]
id128: when taking user input for a 128bit ID, validate syntax

Also, always accept both our simple hexdump syntax and UUID syntax.

8 years agokernel-install: Clean up
Mantas Mikulėnas [Thu, 25 Apr 2013 17:59:44 +0000 (20:59 +0300)]
kernel-install: Clean up

- Consistent use of $VAR vs ${VAR}
- Consistent use of && vs 'if'
- Add error checking to some places
- Consistent error messages ("Can't" vs "Cannot", etc.)
- Function declarations at the top
- Miscellaneous adjustments

8 years agoman: clarify what Restart= means
Zbigniew Jędrzejewski-Szmek [Mon, 29 Apr 2013 23:46:19 +0000 (19:46 -0400)]
man: clarify what Restart= means

Related to

8 years agonspawn: add -M option to optstring
Evangelos Foutras [Mon, 29 Apr 2013 10:12:28 +0000 (13:12 +0300)]
nspawn: add -M option to optstring

This was missed in commit 7027ff61a34a12487712b382a061c654acc3a679 and
means that the --machine option would work but not its shorthand, -M.

8 years update
Kay Sievers [Fri, 26 Apr 2013 22:01:32 +0000 (00:01 +0200)] update

8 years agosystemd-analyse: add "critical-chain" command
Harald Hoyer [Tue, 23 Apr 2013 09:11:10 +0000 (11:11 +0200)]
systemd-analyse: add "critical-chain" command

"critical-chain" prints a tree of the critical chain of units

$ ./systemd-analyze critical-chain @1.226s
└─ @1.226s
  └─nfs-lock.service @961ms +265ms
    └─rpcbind.service @958ms +1ms
      └─ @957ms
        └─NetworkManager.service @434ms +522ms
          └─ @428ms
            └─ @428ms
              └─dbus.socket @428ms
                └─ @427ms
                  └─systemd-tmpfiles-setup.service @411ms +15ms
                    └─ @410ms
                      └─boot-efi.automount @410ms
                        └─boot.mount @397ms +9ms
                          └─ @192ms
                            └─systemd-udevd.service @187ms +5ms
                              └─systemd-udevd-control.socket @140ms

With the "--fuzz=<ms>" parameter one can display more units around
the critical units.

$ ./systemd-analyze --fuzz=10ms critical-chain
└─ @1.226s
  └─nfs-lock.service @961ms +265ms
    ├─rpcbind.service @958ms +1ms
    │ └─ @957ms
    │   └─NetworkManager.service @434ms +522ms
    │     ├─ @428ms
    │     │ ├─ @428ms
    │     │ │ ├─dbus.socket @428ms
    │     │ │ │ └─ @427ms
    │     │ │ │   ├─systemd-tmpfiles-setup.service @411ms +15ms
    │     │ │ │   │ └─ @410ms
    │     │ │ │   │   └─boot-efi.automount @410ms
    │     │ │ │   │     └─boot.mount @397ms +9ms
    │     │ │ │   │       └─ @192ms
    │     │ │ │   │         └─systemd-udevd.service @187ms +5ms
    │     │ │ │   │           ├─systemd-udevd-control.socket @140ms
    │     │ │ │   │           │ └─-.mount
    │     │ │ │   │           └─systemd-udevd-kernel.socket @140ms
    │     │ │ │   └─ @421ms
    │     │ │ │     └─dev-disk-by\x2duuid-....swap @414ms +6ms
    │     │ │ │       └─systemd-journald.socket
    │     │ │ ├─rpcbind.socket @428ms
    │     │ │ └─cups.socket @428ms
    │     │ ├─ @428ms
    │     │ │ └─cups.path @428ms
    │     │ ├─ @427ms
    │     │ │ └─systemd-tmpfiles-clean.timer @427ms
    │     │ └─ @427ms
    │     │   └─...
    │     └─dbus.socket @428ms
    │       └─...
    └─ @957ms

8 years agodbus-manager.c: log error, why switch-root is refused
Harald Hoyer [Thu, 25 Apr 2013 08:35:14 +0000 (10:35 +0200)]
dbus-manager.c: log error, why switch-root is refused

8 years agocoredump: use realloc() loop instead of malloc(768M)
Colin Walters [Wed, 24 Apr 2013 22:19:04 +0000 (18:19 -0400)]
coredump: use realloc() loop instead of malloc(768M)

I typically run VMs with 1024MiB allocated; systemd is unable to write
coredumps in this scenario at all because the default kernel
configuration will only overcommit 50% of available RAM.

Avoid this failure by using a realloc() loop.


8 years agobuild-sys: add --with-debug-shell=PATH
Cristian Rodríguez [Thu, 25 Apr 2013 00:51:23 +0000 (21:51 -0300)]
build-sys: add --with-debug-shell=PATH

Distributions may have selinux but not sushell or might
need to set a custom debug shell.

Defaults to /sbin/sushell if selinux is enabled, /bin/sh if not.

[zj: Renamed --with-debugshelltty to --with-debug-tty, and
     added a line in output showing DEBUGSHELL and DEBUGTTY.
     I figure that debug shell is pretty useful, and I hope
     the extra line in configure status will draw attention
     to it.]

8 years agocore: remove duplicate MESSAGE= from log message
Mirco Tischler [Thu, 25 Apr 2013 13:14:57 +0000 (15:14 +0200)]
core: remove duplicate MESSAGE= from log message

This was needed with log_struct_unit() but log_notice_unit() adds it

8 years agoUse attribute(unused) in PROTECT_ERRNO
Zbigniew Jędrzejewski-Szmek [Fri, 26 Apr 2013 00:53:29 +0000 (20:53 -0400)]
Use attribute(unused) in PROTECT_ERRNO

clang emits warnings about unused attribute _saved_errno_, which drown
out other—potentially useful—warnings. gcc documentation is not exactly
verbose about the effects of __attribute__((unused)) on variables, but
let's assume that it works if the unit test passes.

8 years agobus: avoid gcc warning about casting a pointer to int of different size
Zbigniew Jędrzejewski-Szmek [Fri, 26 Apr 2013 00:31:49 +0000 (20:31 -0400)]
bus: avoid gcc warning about casting a pointer to int of different size

8 years agoreadahead: fix format string issue
Zbigniew Jędrzejewski-Szmek [Fri, 26 Apr 2013 00:10:57 +0000 (20:10 -0400)]
readahead: fix format string issue

(struct stat).st is off_t, which usually is a long, or a long long.
There's no good format string modifier for it, so use a cast.

8 years agoAdd printf attributes in exported headers
Zbigniew Jędrzejewski-Szmek [Fri, 26 Apr 2013 01:31:05 +0000 (21:31 -0400)]
Add printf attributes in exported headers

gcc (and other compilers) sometimes generate spurious warnings, and
thus users of public headers must be able to disable warnings.

Printf format attributes can be disabled by setting
    #define _sd_printf_attr_
before including the header file.

Also, add similar logic for sentinel attribute:
    #define _sd_sentinel_attr_
before including the header file disables the attribute.

8 years agoAdd some extra __attribute__ ((format)) s
Cristian Rodríguez [Tue, 2 Apr 2013 07:02:58 +0000 (04:02 -0300)]
Add some extra __attribute__ ((format)) s

8 years agoMake up for attribute malloc with alloc_size
Zbigniew Jędrzejewski-Szmek [Thu, 25 Apr 2013 23:59:35 +0000 (19:59 -0400)]
Make up for attribute malloc with alloc_size

It is imperative that open source code be well attributed.
Sprinkle attribute((alloc_size)) here and there, telling gcc
how much memory we are actually allocating.

8 years agoRemove erroneous attribute((malloc)) annotations
Zbigniew Jędrzejewski-Szmek [Thu, 25 Apr 2013 23:47:43 +0000 (19:47 -0400)]
Remove erroneous attribute((malloc)) annotations

According to gcc documentation, returned pointer "cannot alias any
other pointer valid when the function returns" and "the memory has
undefined content". This second part is (hopefully) untrue for all
those functions.

8 years agosystemd-python: attach fields to JournalHandler, add SYSLOG_IDENTIFIER
Zbigniew Jędrzejewski-Szmek [Tue, 23 Apr 2013 02:07:18 +0000 (22:07 -0400)]
systemd-python: attach fields to JournalHandler, add SYSLOG_IDENTIFIER

Arbitrary fields can be attached at the level of the handler,
and they'll be sent with all messages from this handler.

This facility is used to attach SYSLOG_IDENTIFIER to all messages,
since otherwise journald attaches SYSLOG_IDENTIFIER=python or
something similar, which is completely useless.

8 years agounit: rework stop pending logic
Lennart Poettering [Fri, 26 Apr 2013 00:57:41 +0000 (21:57 -0300)]
unit: rework stop pending logic

When a trigger unit wants to know if a stop is queued for it, we should
just check precisely that and do not check whether it is actually
stopped already. This is because we use these checks usually from state
change calls where the state variables are not updated yet.

This change splits unit_pending_inactive() into two calls
unit_inactive_or_pending() and unit_stop_pending(). The former checks
state and pending jobs, the latter only pending jobs.

8 years agoalways unconditionally create /dev/rtc and use it internally
Kay Sievers [Thu, 25 Apr 2013 00:02:40 +0000 (02:02 +0200)]
always unconditionally create /dev/rtc and use it internally

Partially revert 2b3c81b02fa5dd47b19558c7684e113f36a48486, which
tried to avoid inconsistent rules about when and how to create the
/dev/rtc symlink.

Instead of conditionally or not creating the /dev/rtc link at all,
now always create it with additional and more reliable udev rules.

First try to find the "system rtc" with the hctosys flag, if this
is not found, fall back to create the link for /dev/rtc0.

Our code now never actively searches for the "system rtc" it can
always use /dev/rtc.