chiark / gitweb /
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.

8 years agosystemd: record the timestamps as early as possible
Harald Hoyer [Wed, 24 Apr 2013 15:15:47 +0000 (17:15 +0200)]
systemd: record the timestamps as early as possible

The time for systemd initialization and selinux policy loading
is accounted to the initrd or the kernel, which is wrong.

Instead of:

Startup finished in 5.559s (firmware) + 36ms (loader) + 665ms (kernel) +
975ms (initrd) + 1.410s (userspace) = 8.647s

the more correct output is:

Startup finished in 5.559s (firmware) + 36ms (loader) + 665ms (kernel) +
475ms (initrd) + 1.910s (userspace) = 8.647s

8 years agoutil: rework safe_atod() to be locale-independent
Lennart Poettering [Thu, 25 Apr 2013 03:04:02 +0000 (00:04 -0300)]
util: rework safe_atod() to be locale-independent

This adds some syntactic sugar with a macro RUN_WITH_LOCALE() that reset
the thread-specific locale temporarily.

8 years agoconf-parser: restrict .include usage
Lennart Poettering [Wed, 24 Apr 2013 22:53:16 +0000 (19:53 -0300)]
conf-parser: restrict .include usage

Disallow recursive .include, and make it unavailable in anything but
unit files.

8 years agokdbus: update kdbus.h from upstream
Kay Sievers [Thu, 25 Apr 2013 00:18:32 +0000 (02:18 +0200)]
kdbus: update kdbus.h from upstream

8 years agojournal: remove build warning when SELinux is disabled
Greg Kroah-Hartman [Wed, 24 Apr 2013 20:04:27 +0000 (13:04 -0700)]
journal: remove build warning when SELinux is disabled

A small patch to remove a build warnining when SELinux is disabled.

8 years agocgroup: always validate cgroup controller names
Lennart Poettering [Wed, 24 Apr 2013 22:01:29 +0000 (19:01 -0300)]
cgroup: always validate cgroup controller names

Let's better be safe than sorry.

8 years agologin: allow watching virtual machines with sd_get_machine_names()
Lennart Poettering [Wed, 24 Apr 2013 20:54:55 +0000 (17:54 -0300)]
login: allow watching virtual machines with sd_get_machine_names()

8 years agologin: add new call sd_get_machine_names() to get a list of current virtual machines...
Lennart Poettering [Wed, 24 Apr 2013 20:54:17 +0000 (17:54 -0300)]
login: add new call sd_get_machine_names() to get a list of current virtual machines and containers

8 years agonss-myhostname: resolve 'localhost' so that /etc/hosts becomes optional
Lennart Poettering [Wed, 24 Apr 2013 20:18:01 +0000 (17:18 -0300)]
nss-myhostname: resolve 'localhost' so that /etc/hosts becomes optional

This makes sure nss-myhostname not only resolves the local host name to but also the host name 'localhost: to This
makes installation of /etc/passwd optional, as it usually only includes
a mapping for 'localhost'.

This change also resolves ::1 to the local hostname (as before), but
also lists 'localhost' as an alias. This means look-ups are now fully
reversible, even though they are 1:n mappings.

Finally, the module will no longer erroneously claim that local IP
addresses which aren't on the loopback device were.

8 years agofileio: unify how we chop off whitespace from key and value in parse_env_file_internal()
Lennart Poettering [Wed, 24 Apr 2013 18:44:28 +0000 (15:44 -0300)]
fileio: unify how we chop off whitespace from key and value in parse_env_file_internal()

8 years agologind: don't busy loop if a job is still running but the delay timeout expires
Lennart Poettering [Wed, 24 Apr 2013 18:23:01 +0000 (15:23 -0300)]
logind: don't busy loop if a job is still running but the delay timeout expires

8 years agoinhbit: show comm field of inhibiting processes
Lennart Poettering [Wed, 24 Apr 2013 15:56:47 +0000 (12:56 -0300)]
inhbit: show comm field of inhibiting processes

8 years agobus: add monitoring facility to busctl
Lennart Poettering [Wed, 24 Apr 2013 15:56:28 +0000 (12:56 -0300)]
bus: add monitoring facility to busctl

8 years agodo not create /dev/rtc symlink, let systemd search for it if needed
Kay Sievers [Wed, 24 Apr 2013 17:12:44 +0000 (19:12 +0200)]
do not create /dev/rtc symlink, let systemd search for it if needed

The export of the RTCs hctosys flag is uneccesary, the kernel takes care
of the persistemt clock management itself, without any need for:

"Chaotic hardware platforms" without native kernel persistent clock
support will find the proper RTC with the logic rtc_open() without
the need for a custom symlink.

8 years agoadd bash completion for systemd-analyze
Harald Hoyer [Wed, 24 Apr 2013 14:44:44 +0000 (16:44 +0200)]
add bash completion for systemd-analyze

8 years agologind: properly enumerate user/session cgroups under their new suffixed names
Lennart Poettering [Wed, 24 Apr 2013 13:30:40 +0000 (10:30 -0300)]
logind: properly enumerate user/session cgroups under their new suffixed names

8 years agosystemctl: show reverse dependencies or before/after ordering
Zbigniew Jędrzejewski-Szmek [Wed, 24 Apr 2013 03:49:46 +0000 (23:49 -0400)]
systemctl: show reverse dependencies or before/after ordering

Also update completion scripts a bit.

8 years agoSmall cleanup
Zbigniew Jędrzejewski-Szmek [Tue, 23 Apr 2013 12:28:10 +0000 (08:28 -0400)]
Small cleanup

8 years agoreadahead: be more verbose about creation failures
Zbigniew Jędrzejewski-Szmek [Tue, 23 Apr 2013 23:05:43 +0000 (19:05 -0400)]
readahead: be more verbose about creation failures

systemd-readahead reports "Failed to create shared memory segment:
No such file or directory", but it's unclear how it can happen. Be
more verbose about failures.

8 years agoAdd set_consume which always takes ownership
Zbigniew Jędrzejewski-Szmek [Tue, 23 Apr 2013 03:12:15 +0000 (23:12 -0400)]
Add set_consume which always takes ownership

Freeing in error path is the common pattern with set_put().

8 years agoStandarize on one spelling of symlink error message
Zbigniew Jędrzejewski-Szmek [Tue, 23 Apr 2013 00:51:29 +0000 (20:51 -0400)]
Standarize on one spelling of symlink error message

It's polite to print the name of the link that wasn't created,
and it makes little sense to print the target.

8 years agotest: make it easier to override kernel version
Zbigniew Jędrzejewski-Szmek [Tue, 23 Apr 2013 00:39:40 +0000 (20:39 -0400)]
test: make it easier to override kernel version

8 years agosystemd: fall back to mounting /sys/fs/cgroup sans xattr
Zbigniew Jędrzejewski-Szmek [Tue, 23 Apr 2013 00:39:03 +0000 (20:39 -0400)]
systemd: fall back to mounting /sys/fs/cgroup sans xattr

xattrs on cgroup fs were added back in v3.6-rc3-3-g03b1cde. But we
support kernels >= 2.6.39, and we should also support kernels compiled
w/o xattr support, even if systemd is compiled with xattr support.
Fall back to mounting without xattr support.

Tested-by: Colin Walters <>
8 years agokdbus: update kdbus.h from upstream
Kay Sievers [Wed, 24 Apr 2013 03:19:50 +0000 (05:19 +0200)]
kdbus: update kdbus.h from upstream

8 years agotimer: make sure we restart timers even if units are still running or if one of their...
Lennart Poettering [Tue, 23 Apr 2013 20:42:31 +0000 (17:42 -0300)]
timer: make sure we restart timers even if units are still running or if one of their conditions fails

8 years agoupdate TODO
Lennart Poettering [Tue, 23 Apr 2013 18:55:41 +0000 (15:55 -0300)]
update TODO

8 years agounit: rework trigger dependency logic
Lennart Poettering [Tue, 23 Apr 2013 18:53:16 +0000 (15:53 -0300)]
unit: rework trigger dependency logic

Instead of having explicit type-specific callbacks that inform the
triggering unit when a triggered unit changes state, make this generic
so that state changes are forwarded betwee any triggered and triggering

Also, get rid of UnitRef references from automount, timer, path units,
to the units they trigger and rely exclsuively on UNIT_TRIGGER type

8 years agounits: update user@.service to reflect new user cgroup paths
Lennart Poettering [Tue, 23 Apr 2013 14:21:14 +0000 (11:21 -0300)]
units: update user@.service to reflect new user cgroup paths

8 years agobus: add cal to determine machine id of an owner of a service
Lennart Poettering [Tue, 23 Apr 2013 14:18:17 +0000 (11:18 -0300)]
bus: add cal to determine machine id of an owner of a service

8 years agoman: link systemd-tmpfiles-setup-dev.service
Umut Tezduyar [Tue, 23 Apr 2013 07:56:32 +0000 (09:56 +0200)]
man: link systemd-tmpfiles-setup-dev.service

8 years agobus: parse capability kdbus meta data of messages
Lennart Poettering [Tue, 23 Apr 2013 03:14:30 +0000 (00:14 -0300)]
bus: parse capability kdbus meta data of messages

8 years agobus: parse audit metadata from kdbus messages
Lennart Poettering [Tue, 23 Apr 2013 02:38:38 +0000 (23:38 -0300)]
bus: parse audit metadata from kdbus messages

8 years agobus: parse owner uid from cgroup path, too
Lennart Poettering [Tue, 23 Apr 2013 02:27:38 +0000 (23:27 -0300)]
bus: parse owner uid from cgroup path, too

8 years agocgroup: make sure all our cgroup objects have a suffix and are properly escaped
Lennart Poettering [Tue, 23 Apr 2013 02:10:13 +0000 (23:10 -0300)]
cgroup: make sure all our cgroup objects have a suffix and are properly escaped

Session objects will now get the .session suffix, user objects the .user
suffix, nspawn containers the .nspawn suffix.

This also changes the user cgroups to be named after the numeric UID
rather than the username, since this allows us the parse these paths
standalone without requiring access to the cgroup file system.

This also changes the mapping of instanced units to cgroups. Instead of
mapping foo@bar.service to the cgroup path /user/foo@.service/bar we
will now map it to /user/foo@.service/foo@bar.service, in order to
ensure that all our objects are properly suffixed in the tree.

8 years agocore: there's no point to complain so loudly about non-isolatable boot targets
Lennart Poettering [Tue, 23 Apr 2013 02:09:02 +0000 (23:09 -0300)]
core: there's no point to complain so loudly about non-isolatable boot targets

8 years agonspawn: suffix the nspawn cgroups with ".nspawn"
Lennart Poettering [Mon, 22 Apr 2013 20:26:06 +0000 (17:26 -0300)]
nspawn: suffix the nspawn cgroups with ".nspawn"

As discussed with Dan Berrange it's a good idea to suffix all objects in
the cgroup tree with ".something", so that when the system is
partitioned using a resource management tool we can drop objects of
different types into the same partition directory without generate
namespace conflicts.

We'l add this to the Pax Control Group document as soon as write access
to the fdo wiki is restored.

8 years agonspawn: always use cg_get_path() to determine fs path for a cgroup
Lennart Poettering [Mon, 22 Apr 2013 20:11:05 +0000 (17:11 -0300)]
nspawn: always use cg_get_path() to determine fs path for a cgroup

8 years agoupdate TODO
Lennart Poettering [Mon, 22 Apr 2013 20:03:59 +0000 (17:03 -0300)]
update TODO

8 years agounits: rename systemd-static-nodes -> systemd-tmpfiles-setup-dev
Tom Gundersen [Mon, 22 Apr 2013 19:57:39 +0000 (21:57 +0200)]
units: rename systemd-static-nodes -> systemd-tmpfiles-setup-dev

This is really just a special case of systemd-tmpfiles-setup, moreover it could easily create more than static nodes.

8 years agoshell-completion: add shell completion for "systemctl help"
Harald Hoyer [Mon, 22 Apr 2013 09:38:40 +0000 (11:38 +0200)]
shell-completion: add shell completion for "systemctl help"

8 years agosystemd,nspawn: use extended attributes to store metadata
Zbigniew Jędrzejewski-Szmek [Mon, 22 Apr 2013 00:25:01 +0000 (20:25 -0400)]
systemd,nspawn: use extended attributes to store metadata

All attributes are stored as text, since root_directory is already
text, and it seems easier to have all of them in text format.

Attributes are written in the trusted. namespace, because the kernel
currently does not allow user. attributes on cgroups. This is a PITA,
and CAP_SYS_ADMIN is required to *read* the attributes. Alas.

A second pipe is opened for the child to signal the parent that the
cgroup hierarchy has been set up.

8 years agobus: implement client logic for fd passing
Lennart Poettering [Mon, 22 Apr 2013 01:24:50 +0000 (22:24 -0300)]
bus: implement client logic for fd passing

8 years agoTODO: remove dbus items which we will not touch anymore
Kay Sievers [Sat, 20 Apr 2013 17:26:28 +0000 (19:26 +0200)]
TODO: remove dbus items which we will not touch anymore

8 years agoTODO: journal enhancements
Josh Triplett [Fri, 19 Apr 2013 21:13:42 +0000 (14:13 -0700)]
TODO: journal enhancements

8 years agohwdb: update
Kay Sievers [Sat, 20 Apr 2013 16:41:57 +0000 (18:41 +0200)]
hwdb: update

8 years agobuild-sys: prevent library underlinking
Evangelos Foutras [Fri, 19 Apr 2013 21:17:08 +0000 (00:17 +0300)]
build-sys: prevent library underlinking

Underlinking can cause subtle bugs like the recent issue with
libnss_myhostname (which was fixed in commit 1e335af7).

8 years agonss-myhostname: ensure that glibc's assert is used
Dave Reisner [Fri, 19 Apr 2013 20:31:25 +0000 (16:31 -0400)]
nss-myhostname: ensure that glibc's assert is used

8 years agologind-dbus: initialize result variable
Lukas Nykryn [Fri, 19 Apr 2013 11:58:58 +0000 (13:58 +0200)]
logind-dbus: initialize result variable

8 years agocrypt-setup-generator: correctly check return of strdup
Lukas Nykryn [Fri, 19 Apr 2013 11:58:57 +0000 (13:58 +0200)]
crypt-setup-generator: correctly check return of strdup

8 years agocore/killall: use procfs_file_alloca
Zbigniew Jędrzejewski-Szmek [Wed, 17 Apr 2013 21:19:38 +0000 (17:19 -0400)]
core/killall: use procfs_file_alloca

8 years agoReintroduce f_type comparison macro
Harald Hoyer [Fri, 19 Apr 2013 11:44:56 +0000 (13:44 +0200)]
Reintroduce f_type comparison macro

This reverts commit 4826f0b7b5c0aefa08b8cc7ef64d69027f84da2c.

Because statfs.t_type can be int on some architecures, we have to cast
the const magic to the type, otherwise the compiler warns about
signed/unsigned comparison, because the magic can be 32 bit unsigned.

statfs(2) man page is also wrong on some systems, because
f_type is not __SWORD_TYPE on some architecures.

The following program:

int main(int argc, char**argv)
        struct statfs s;
        statfs(argv[1], &s);

printf("sizeof(f_type) = %d\n", sizeof(s.f_type));
printf("sizeof(__SWORD_TYPE) = %d\n", sizeof(__SWORD_TYPE));
printf("sizeof(long) = %d\n", sizeof(long));
printf("sizeof(int) = %d\n", sizeof(int));
if (sizeof(s.f_type) == sizeof(int)) {
printf("f_type = 0x%x\n", s.f_type);
} else {
                printf("f_type = 0x%lx\n", s.f_type);
        return 0;

executed on s390x gives for a btrfs:

sizeof(f_type) = 4
sizeof(__SWORD_TYPE) = 8
sizeof(long) = 8
sizeof(int) = 4
f_type = 0x9123683e

8 years agoUpdate NEWS
Zbigniew Jędrzejewski-Szmek [Thu, 18 Apr 2013 23:59:12 +0000 (19:59 -0400)]
Update NEWS

8 years agosystemd-python: wrap sd_journal_add_conjunction
Zbigniew Jędrzejewski-Szmek [Thu, 18 Apr 2013 23:37:26 +0000 (19:37 -0400)]
systemd-python: wrap sd_journal_add_conjunction

8 years agonspawn: create empty /etc/resolv.conf if necessary
Zbigniew Jędrzejewski-Szmek [Wed, 17 Apr 2013 18:13:09 +0000 (14:13 -0400)]
nspawn: create empty /etc/resolv.conf if necessary

nspawn will overmount resolv.conf if it exists. Since e.g.
default install with yum doesn't create /etc/resolv.conf,
a container created with yum will not have network. This
seems undesirable, and since we overmount the file anyway,
let's create it too.

Also, mounting a read-write /etc/resolv.conf in the container
is treated as a failure, since it makes it possible to
modify hosts /etc/resolv.conf from inside the container.

8 years agobuild-sys: run 'make update-man-list' v202
Lennart Poettering [Thu, 18 Apr 2013 23:11:38 +0000 (01:11 +0200)]
build-sys: run 'make update-man-list'

8 years agobuild-sys: prepare release 202
Lennart Poettering [Thu, 18 Apr 2013 22:41:24 +0000 (00:41 +0200)]
build-sys: prepare release 202