platform/upstream/systemd.git
9 years agotest-compress-benchmark: properly initialize buffer
Zbigniew Jędrzejewski-Szmek [Sun, 18 Oct 2015 21:59:40 +0000 (17:59 -0400)]
test-compress-benchmark: properly initialize buffer

We were compressing unitialized memory, which should not result in
any problems, but is inelegant.

9 years agotest-compress-benchmark: limit default runtime to 2 seconds per subtest
Zbigniew Jędrzejewski-Szmek [Sun, 18 Oct 2015 21:10:51 +0000 (17:10 -0400)]
test-compress-benchmark: limit default runtime to 2 seconds per subtest

If both lz4 and xz are enabled, this results in a limit of
2×3×2 s ~= 12 s runtime.

Previous implementation started with really small buffer sizes. When
combined with a short time limit this resulteded in abysmal results for xz.
It seems that the initialization overead is really significant for small
buffers. Since xz will not be used by default anymore, this does not
seem worth fixing. Instead buffer sizes are changed to run a
pseudo-random non-repeating pattern. This should allow reasonable testing
for all buffer sizes. For testing, both runtime and the buffer size seed
can be specified on the command line. Sufficiently large runtime allows
all buffer sizes up to 1MB to be tested.

9 years agobuild-sys: enable lz4 by default if available
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2015 02:57:55 +0000 (22:57 -0400)]
build-sys: enable lz4 by default if available

--enable-lz4 can be used to force lz4 requirement,
--disable-lz4 can be used to skip lz4 support even if available.

Also, make surrounding checks for bzip2, xz, and zlib similar in structure.
This fixes the check for requested but missing bzip2.

9 years agocompress: return errors without logging, do not fake errno
Zbigniew Jędrzejewski-Szmek [Wed, 14 Oct 2015 14:42:18 +0000 (10:42 -0400)]
compress: return errors without logging, do not fake errno

Logging for compression and decompression is assymetrical on purpose:
if compiled without some type of compression, those compression code
paths should never be invoked. OTOH, it is possible to encounter
unsupported format on decompression, so leave those log_debug statements
in, to make it easier to diagnose stuff.

9 years agocompress: fix mmap error handling
Zbigniew Jędrzejewski-Szmek [Wed, 14 Oct 2015 14:15:27 +0000 (10:15 -0400)]
compress: fix mmap error handling

9 years agotest-compress-benchmark: test three cases (zeros, simple, semi-random)
Zbigniew Jędrzejewski-Szmek [Sun, 7 Dec 2014 02:53:39 +0000 (21:53 -0500)]
test-compress-benchmark: test three cases (zeros, simple, semi-random)

Existing test would use highly-compressible repeatable
input. Two types of input are added:
- zeros
- random blocks interspersed with zeros

The idea is to get more information about behaviour in various cases.

On Intel Xeon the results are:

% ./test-compress-benchmark
XZ/zeros: compressed & decompressed 2535301373 bytes in 32.56s (74.26MiB/s), mean compresion 99.96%, skipped 3160 bytes
LZ4/zeros: compressed & decompressed 2535304362 bytes in 1.16s (2088.69MiB/s), mean compresion 99.60%, skipped 171 bytes
XZ/simple: compressed & decompressed 2535300963 bytes in 30.42s (79.48MiB/s), mean compresion 99.95%, skipped 3570 bytes
LZ4/simple: compressed & decompressed 2535303543 bytes in 1.22s (1978.86MiB/s), mean compresion 99.60%, skipped 990 bytes
XZ/random: compressed & decompressed 381756649 bytes in 60.02s (6.07MiB/s), mean compresion 39.64%, skipped 27813723 bytes
LZ4/random: compressed & decompressed 2507385036 bytes in 0.97s (2477.52MiB/s), mean compresion 54.77%, skipped 27919497 bytes

If someone has ideas for more realistic test cases, they can be easily
added to this framework.

9 years agocoredump: use lz4frame api to compress coredumps
Zbigniew Jędrzejewski-Szmek [Sun, 7 Dec 2014 02:33:27 +0000 (21:33 -0500)]
coredump: use lz4frame api to compress coredumps

This converts the stream compression to use the new lz4frame api,
compatible with lz4cat. Previous code used custom headers, so the
compressed file was not compatible with lz4 command line tools.
I considered this the last blocker to using lz4 by default.

Speed seems to be reasonable, although a bit (a few percent) slower
than the lz4 binary, even though compression is the same. I don't
consider this important. It could be caused by the overhead of library
calls, but is probably caused by slightly different buffer sizes or
such. The code in this patch uses mmap, since since this allows the
buffer to be reused while not making the code more complicated at all.
In my testing, this version is noticably faster (~20%) than a naive
single-buffered version. mmap can cause the program to be killed with
SIGBUS, if the underlying file is truncated or a disk error occurs. We
only use this from within coredump and coredumpctl, so I don't
consider this an issue.

Old decompression code is retained and is used if the new code fails
indicating a format error. There have been reports of various smaller
distributions using previous lz4 code, i.e. the old format, and it is
nice to provide backwards compatibility. We can remove the legacy code
in a few versions.

The way that blobs are compressed in the journal is not affected.

9 years agobuild-sys: use pkgconfig and lz4 and bump version
Zbigniew Jędrzejewski-Szmek [Wed, 3 Dec 2014 03:20:08 +0000 (22:20 -0500)]
build-sys: use pkgconfig and lz4 and bump version

The new frame api was released in v. 125.

9 years agotree-wide: never use the off_t unless glibc makes us use it
Lennart Poettering [Thu, 10 Sep 2015 16:16:18 +0000 (18:16 +0200)]
tree-wide: never use the off_t unless glibc makes us use it

off_t is a really weird type as it is usually 64bit these days (at least
in sane programs), but could theoretically be 32bit. We don't support
off_t as 32bit builds though, but still constantly deal with safely
converting from off_t to other types and back for no point.

Hence, never use the type anymore. Always use uint64_t instead. This has
various benefits, including that we can expose these values directly as
D-Bus properties, and also that the values parse the same in all cases.

9 years agoMerge pull request #1226 from poettering/coccinelle-fixes3
Daniel Mack [Thu, 10 Sep 2015 11:46:14 +0000 (13:46 +0200)]
Merge pull request #1226 from poettering/coccinelle-fixes3

Third round of Coccinelle fixes

9 years agoMerge pull request #1234 from medhefgo/master
Lennart Poettering [Thu, 10 Sep 2015 10:10:44 +0000 (12:10 +0200)]
Merge pull request #1234 from medhefgo/master

cryptsetup-generator: Properly check return code

9 years agocryptsetup-generator: Properly check return code
Jan Janssen [Thu, 10 Sep 2015 08:23:49 +0000 (10:23 +0200)]
cryptsetup-generator: Properly check return code

9 years agoMerge pull request #1230 from swem/master
Martin Pitt [Thu, 10 Sep 2015 04:56:44 +0000 (06:56 +0200)]
Merge pull request #1230 from swem/master

Add microphone mute keymap for Dell Precision

9 years agoAdd microphone mute keymap for Dell Precision
Chen-Han Hsiao (Stanley) [Thu, 10 Sep 2015 03:20:50 +0000 (11:20 +0800)]
Add microphone mute keymap for Dell Precision

9 years agoMerge pull request #1225 from mbiebl/remove-sphinx-leftover2
Lennart Poettering [Wed, 9 Sep 2015 21:13:58 +0000 (23:13 +0200)]
Merge pull request #1225 from mbiebl/remove-sphinx-leftover2

README: remove obsolete instructions regarding python-systemd/sphinx

9 years agotree-wide: take benefit of the fact that hashmap_free() returns NULL
Lennart Poettering [Wed, 9 Sep 2015 21:12:07 +0000 (23:12 +0200)]
tree-wide: take benefit of the fact that hashmap_free() returns NULL

And set_free() too.

Another Coccinelle patch.

9 years agoREADME: remove obsolete instructions regarding python-systemd/sphinx
Michael Biebl [Wed, 9 Sep 2015 21:10:34 +0000 (23:10 +0200)]
README: remove obsolete instructions regarding python-systemd/sphinx

9 years agotree-wide: make use of the fact that strv_free() returns NULL
Lennart Poettering [Wed, 9 Sep 2015 21:05:10 +0000 (23:05 +0200)]
tree-wide: make use of the fact that strv_free() returns NULL

Another Coccinelle patch.

9 years agoMakefile: fix gardel target
Lennart Poettering [Wed, 9 Sep 2015 21:04:40 +0000 (23:04 +0200)]
Makefile: fix gardel target

9 years agoMerge pull request #1220 from zonque/logind-dry-run
Lennart Poettering [Wed, 9 Sep 2015 16:39:01 +0000 (18:39 +0200)]
Merge pull request #1220 from zonque/logind-dry-run

logind: make dry run command line arguments work again (v2)

9 years agosystemctl: add dry-run support for scheduled shutdowns
Daniel Mack [Wed, 9 Sep 2015 15:10:49 +0000 (17:10 +0200)]
systemctl: add dry-run support for scheduled shutdowns

Prefix the action parameter with "dry-" in case the --dry-run command
line switch was passed.

9 years agologind: allow dry run variants for scheduled shutdowns
Daniel Mack [Wed, 9 Sep 2015 15:05:03 +0000 (17:05 +0200)]
logind: allow dry run variants for scheduled shutdowns

Allow passing a "dry-" prefix to the action parameter passed to
.ScheduleShutdown(). When strings with this prefix are passed,
the scheduled action will not take place. Instead, an info message
is logged.

9 years agoMerge pull request #1213 from evverx/systemd-notify-log
Lennart Poettering [Wed, 9 Sep 2015 13:54:41 +0000 (15:54 +0200)]
Merge pull request #1213 from evverx/systemd-notify-log

notify: log error when sd_pid_notify() == 0

9 years agoMerge pull request #1218 from poettering/safe-fclose
Daniel Mack [Wed, 9 Sep 2015 13:45:03 +0000 (15:45 +0200)]
Merge pull request #1218 from poettering/safe-fclose

util: introduce safe_fclose() and port everything over to it

9 years agoREADME: document new /etc/mtab requirement
Daniel Mack [Wed, 9 Sep 2015 13:27:19 +0000 (15:27 +0200)]
README: document new /etc/mtab requirement

9 years agoutil: introduce safe_fclose() and port everything over to it
Lennart Poettering [Wed, 9 Sep 2015 13:20:10 +0000 (15:20 +0200)]
util: introduce safe_fclose() and port everything over to it

Adds a coccinelle script to port things over automatically.

9 years agoMerge pull request #1217 from zonque/free-and-replace
Lennart Poettering [Wed, 9 Sep 2015 13:25:15 +0000 (15:25 +0200)]
Merge pull request #1217 from zonque/free-and-replace

locale: kill free_and_replace()

9 years agolocale: kill free_and_replace()
Daniel Mack [Wed, 9 Sep 2015 13:15:14 +0000 (15:15 +0200)]
locale: kill free_and_replace()

That function really makes little sense, as the open-coded variant
is much more readable. Also, if the 2nd argument is NULL, mfree()
is a much better candidate.

Convert the only users of this function in localed, and then remove it
entirely.

9 years agoMerge pull request #1216 from poettering/coccinelle-fixes-2
Daniel Mack [Wed, 9 Sep 2015 13:12:28 +0000 (15:12 +0200)]
Merge pull request #1216 from poettering/coccinelle-fixes-2

Coccinelle fixes 2

9 years agotree-wide: replace while(1) by for(;;) everywhere
Lennart Poettering [Wed, 9 Sep 2015 12:33:32 +0000 (14:33 +0200)]
tree-wide: replace while(1) by for(;;) everywhere

Another Coccinelle script.

9 years agotree-wide: update empty-if coccinelle script to cover empty-while and more
Lennart Poettering [Wed, 9 Sep 2015 12:23:02 +0000 (14:23 +0200)]
tree-wide: update empty-if coccinelle script to cover empty-while and more

Let's also clean up single-line while and for blocks.

9 years agotree-wide: make use of log_error_errno() return value in more cases
Lennart Poettering [Wed, 9 Sep 2015 09:08:23 +0000 (11:08 +0200)]
tree-wide: make use of log_error_errno() return value in more cases

The previous coccinelle semantic patch that improved usage of
log_error_errno()'s return value, only looked for log_error_errno()
invocations with a single parameter after the error parameter. Update
the patch to handle arbitrary numbers of additional arguments.

9 years agosd-bus: drop weird empty lines
David Herrmann [Wed, 9 Sep 2015 12:57:04 +0000 (14:57 +0200)]
sd-bus: drop weird empty lines

We should never put empty lines between `if` and `else if`, unless we use
braces.

9 years agoMerge pull request #1215 from maciejaszek/fds_pass_fixes
Lennart Poettering [Wed, 9 Sep 2015 12:44:52 +0000 (14:44 +0200)]
Merge pull request #1215 from maciejaszek/fds_pass_fixes

sd_pid_notify_with_fds: fix computing msg_controllen

9 years agoMerge pull request #1214 from zonque/mtab
Lennart Poettering [Wed, 9 Sep 2015 12:43:42 +0000 (14:43 +0200)]
Merge pull request #1214 from zonque/mtab

core: freeze execution if /etc/mtab exists

9 years agosd_pid_notify_with_fds: fix computing msg_controllen
Maciej Wereski [Tue, 8 Sep 2015 13:36:30 +0000 (15:36 +0200)]
sd_pid_notify_with_fds: fix computing msg_controllen

CMSG_SPACE(0) may return value other than 0. This caused sendmsg to fail
with EINVAL, when have_pid or n_fds was 0.

9 years agoMerge pull request #1212 from again4you/devel/fix_smack_label_#3
Lennart Poettering [Wed, 9 Sep 2015 12:01:26 +0000 (14:01 +0200)]
Merge pull request #1212 from again4you/devel/fix_smack_label_#3

Wrong smack label of the symlink in CGROUP root directory when enabling '--with-smack-run-label' (v3)

9 years agocore: freeze execution if /etc/mtab exists
Daniel Mack [Wed, 9 Sep 2015 12:00:23 +0000 (14:00 +0200)]
core: freeze execution if /etc/mtab exists

The mount monitor that was added to libmount v2.27 requires /etc/mtab to be
non-existant. As systemd now uses that functionality, we cannot monitor any
mounts anymore, and hence not support .mount units.

Systems that have /etc/mtab around as regular file are unsupported by
systemd since a long time.

This patch makes that condition fatal, so we do not boot up with
non-working mount monitor support.

9 years agonotify: log error when sd_pid_notify() == 0
Evgeny Vereshchagin [Wed, 9 Sep 2015 11:51:58 +0000 (14:51 +0300)]
notify: log error when sd_pid_notify() == 0

9 years agosmack: bugfix the smack label of symlink when '--with-smack-run-label' is set
Sangjung Woo [Tue, 8 Sep 2015 06:09:40 +0000 (15:09 +0900)]
smack: bugfix the smack label of symlink when '--with-smack-run-label' is set

Even though systemd has its own smack label since
'--with-smack-run-label' configuration is set, the smack label of each
CGROUP root directory should have the star (i.e. *) label. This is
mainly because current Linux Kernel set the label in this way.
(Refer to smack_d_instantiate() in security/smack/smack_lsm.c)

However, if systemd has its own smack label and arg_join_controllers is
explicitly set or initialized by initialize_join_controllers() function,
current systemd creates the symlink in CGROUP root directory with its
own smack label as below.

lrwxrwxrwx. 1 root root System  11 Dec 31 16:00 cpu -> cpu,cpuacct
dr-xr-xr-x. 4 root root *        0 Dec 31 16:01 cpu,cpuacct
lrwxrwxrwx. 1 root root System  11 Dec 31 16:00 cpuacct -> cpu,cpuacct

This patch fixes that bug by copying the smack label from the origin.

9 years agosmack: introduce new mac_smack_copy() function
Sangjung Woo [Tue, 8 Sep 2015 05:58:22 +0000 (14:58 +0900)]
smack: introduce new mac_smack_copy() function

This adds a new mac_smack_copy() function in order to read the smack
label from the source and apply it to the destination.

9 years agoimportd: fix typos
Daniel Mack [Wed, 9 Sep 2015 08:10:23 +0000 (10:10 +0200)]
importd: fix typos

9 years agoMerge pull request #1210 from poettering/import-fixes
Daniel Mack [Wed, 9 Sep 2015 08:08:44 +0000 (10:08 +0200)]
Merge pull request #1210 from poettering/import-fixes

cgroup fix, nspawn fix, plus change to download .nspawn files in importd

9 years agoMerge pull request #1207 from poettering/coccinelle-fixes
Daniel Mack [Wed, 9 Sep 2015 07:57:29 +0000 (09:57 +0200)]
Merge pull request #1207 from poettering/coccinelle-fixes

Coccinelle fixes

9 years agonspawn: add missing comma to gperf file
Lennart Poettering [Wed, 9 Sep 2015 06:36:20 +0000 (08:36 +0200)]
nspawn: add missing comma to gperf file

9 years agoMerge pull request #1180 from evverx/dot-from-to-alias-handling
Lennart Poettering [Wed, 9 Sep 2015 06:31:11 +0000 (08:31 +0200)]
Merge pull request #1180 from evverx/dot-from-to-alias-handling

analyze: add alias handling for --{from,to}-pattern options of the dot command

9 years agotree-wide: drop {} from one-line if blocks
Lennart Poettering [Tue, 8 Sep 2015 21:03:38 +0000 (23:03 +0200)]
tree-wide: drop {} from one-line if blocks

Patch via coccinelle.

9 years agotree-wide: make use of log_error_errno() return value
Lennart Poettering [Tue, 8 Sep 2015 17:30:45 +0000 (19:30 +0200)]
tree-wide: make use of log_error_errno() return value

Turns this:

        r = -errno;
        log_error_errno(errno, "foo");

into this:

        r = log_error_errno(errno, "foo");

and this:

        r = log_error_errno(errno, "foo");
        return r;

into this:

        return log_error_errno(errno, "foo");

9 years agotree-wide: don't do assignments within if checks
Lennart Poettering [Tue, 8 Sep 2015 17:14:10 +0000 (19:14 +0200)]
tree-wide: don't do assignments within if checks

Turn this:

       if ((r = foo()) < 0) { ...

into this:

       r = foo();
       if (r < 0) { ...

9 years agotree-wide: drop redundant if checks before safe_close()
Lennart Poettering [Tue, 8 Sep 2015 16:58:28 +0000 (18:58 +0200)]
tree-wide: drop redundant if checks before safe_close()

Replace this:

        if (fd >= 0)
                safe_close(fd);

by this:

        safe_close(fd);

9 years agotree-wide: make more code use safe_close()
Lennart Poettering [Tue, 8 Sep 2015 16:53:19 +0000 (18:53 +0200)]
tree-wide: make more code use safe_close()

Replace this:

        close(fd);
        fd = -1;

write this:

        fd = safe_close(fd);

9 years agotree-wide: use coccinelle to patch a lot of code to use mfree()
Lennart Poettering [Tue, 8 Sep 2015 16:43:11 +0000 (18:43 +0200)]
tree-wide: use coccinelle to patch a lot of code to use mfree()

This replaces this:

        free(p);
        p = NULL;

by this:

        p = mfree(p);

Change generated using coccinelle. Semantic patch is added to the
sources.

9 years agoMerge pull request #1206 from davidmilburn/ata-by-path
Lennart Poettering [Wed, 9 Sep 2015 06:05:53 +0000 (08:05 +0200)]
Merge pull request #1206 from davidmilburn/ata-by-path

udev: build by-path identifiers for ATA devices.

9 years agoudev: build by-path identifiers for ATA devices.
David Milburn [Tue, 8 Sep 2015 20:27:51 +0000 (15:27 -0500)]
udev: build by-path identifiers for ATA devices.

/dev/disk/by-path

total 0
lrwxrwxrwx. 1 root root  9 Sep  4 10:02 pci-0000:00:1f.2-ata-2 -> ../../sr0
lrwxrwxrwx. 1 root root  9 Sep  4 10:02 pci-0000:00:1f.2-ata-3 -> ../../sdd
lrwxrwxrwx. 1 root root 10 Sep  4 10:02 pci-0000:00:1f.2-ata-3-part1 -> ../../sdd1
lrwxrwxrwx. 1 root root 10 Sep  4 10:02 pci-0000:00:1f.2-ata-3-part2 -> ../../sdd2
lrwxrwxrwx. 1 root root 10 Sep  4 10:02 pci-0000:00:1f.2-ata-3-part3 -> ../../sdd3
lrwxrwxrwx. 1 root root  9 Sep  4 10:02 pci-0000:03:00.0-ata-4 -> ../../sda
lrwxrwxrwx. 1 root root 10 Sep  4 10:02 pci-0000:03:00.0-ata-4-part1 -> ../../sda1
lrwxrwxrwx. 1 root root 10 Sep  4 10:02 pci-0000:03:00.0-ata-4-part2 -> ../../sda2
lrwxrwxrwx. 1 root root  9 Sep  4 10:02 pci-0000:08:00.0-ata-1 -> ../../sdc
lrwxrwxrwx. 1 root root 10 Sep  4 10:02 pci-0000:08:00.0-ata-1-part1 -> ../../sdc1
lrwxrwxrwx. 1 root root 10 Sep  4 10:02 pci-0000:08:00.0-ata-1-part2 -> ../../sdc2

9 years agoMerge pull request #1203 from mus65/fix-esp-options
Lennart Poettering [Tue, 8 Sep 2015 21:20:22 +0000 (23:20 +0200)]
Merge pull request #1203 from mus65/fix-esp-options

gpt-auto: fix ESP options and description

9 years agogpt-auto: fix ESP options and description
Marius Thesing [Tue, 8 Sep 2015 19:25:05 +0000 (21:25 +0200)]
gpt-auto: fix ESP options and description

Since 59512f21 the parameters were passed in the wrong order, causing the
options to be interpreted as the description.

Also, while "false" was supposed to be passed for "rw", the ESP should actually
be mounted read-write. It just happened to be "true" since the description char*
was passed for "rw".

9 years agoimportd: for .raw and .tar images, try to download .nspawn settings file too
Lennart Poettering [Tue, 8 Sep 2015 16:25:56 +0000 (18:25 +0200)]
importd: for .raw and .tar images, try to download .nspawn settings file too

9 years agocgroups: make sure the "devices" controller's enum is named the same way as the contr...
Lennart Poettering [Tue, 8 Sep 2015 16:15:50 +0000 (18:15 +0200)]
cgroups: make sure the "devices" controller's enum is named the same way as the controller in the kernel

Follow-up to 5bf8002a3a6723ce50331c024122078552fb600a.

9 years agoMerge pull request #1190 from poettering/rework-virt
Daniel Mack [Tue, 8 Sep 2015 13:53:56 +0000 (15:53 +0200)]
Merge pull request #1190 from poettering/rework-virt

basic: rework virtualization detection API

9 years agosd-login: fix sd_seat_get_active() to return ENODATA v226
David Herrmann [Tue, 8 Sep 2015 12:03:22 +0000 (14:03 +0200)]
sd-login: fix sd_seat_get_active() to return ENODATA

This seems to be an oversight from:
    707b66c66381c899d7ef640e158ffdd5bcff4deb

We have to return ENODATA instead of ENOENT if a requested entry is
non-present. Also fix the call-site in udev to check for these errors.

9 years agobuild: prepare for v226
David Herrmann [Tue, 8 Sep 2015 11:31:57 +0000 (13:31 +0200)]
build: prepare for v226

Bump version info and update NEWS for the upcoming release.

9 years agoMerge pull request #1201 from torstehu/fix-typo
David Herrmann [Tue, 8 Sep 2015 11:23:24 +0000 (13:23 +0200)]
Merge pull request #1201 from torstehu/fix-typo

treewide: fix typos

9 years agoMerge pull request #1192 from poettering/sd-bus-container
Daniel Mack [Tue, 8 Sep 2015 10:59:03 +0000 (12:59 +0200)]
Merge pull request #1192 from poettering/sd-bus-container

sd-bus: pass container bus errors up to calling process

9 years agotreewide: fix typos
Torstein Husebø [Tue, 8 Sep 2015 10:23:18 +0000 (12:23 +0200)]
treewide: fix typos

9 years agoMerge pull request #1196 from evverx/systemctl-add-consists-of
Lennart Poettering [Tue, 8 Sep 2015 09:16:53 +0000 (11:16 +0200)]
Merge pull request #1196 from evverx/systemctl-add-consists-of

systemctl: add ConsistsOf as the inverse of PartOf

9 years agoMerge pull request #1198 from martinpitt/master
Lennart Poettering [Tue, 8 Sep 2015 09:09:37 +0000 (11:09 +0200)]
Merge pull request #1198 from martinpitt/master

cgroup-util: fix devices controller

9 years agocgroup-util: fix devices controller
Martin Pitt [Tue, 8 Sep 2015 08:42:22 +0000 (10:42 +0200)]
cgroup-util: fix devices controller

Commit efdb0237 accidentally changed the name of the "devices" cgroup
controller to "device".

9 years agoMerge pull request #1195 from poettering/nspawn-fixes
Daniel Mack [Tue, 8 Sep 2015 08:40:39 +0000 (10:40 +0200)]
Merge pull request #1195 from poettering/nspawn-fixes

Various nspawn fixes

9 years agosystemctl: add ConsistsOf as the inverse of PartOf
Evgeny Vereshchagin [Mon, 7 Sep 2015 23:35:58 +0000 (02:35 +0300)]
systemctl: add ConsistsOf as the inverse of PartOf

9 years agoupdate TODO
Lennart Poettering [Mon, 7 Sep 2015 23:37:04 +0000 (01:37 +0200)]
update TODO

9 years agoNEWS: update contributors list
Lennart Poettering [Mon, 7 Sep 2015 23:36:59 +0000 (01:36 +0200)]
NEWS: update contributors list

9 years agonspawn: also close uid shift socket in the parent
Lennart Poettering [Mon, 7 Sep 2015 23:22:46 +0000 (01:22 +0200)]
nspawn: also close uid shift socket in the parent

We should really close all parent sides of our child/parent socket
pairs.

9 years agonspawn: short reads do not set errno, hence don't try to print it
Lennart Poettering [Mon, 7 Sep 2015 23:22:26 +0000 (01:22 +0200)]
nspawn: short reads do not set errno, hence don't try to print it

9 years agoinspawn: switch from SOCK_DGRAM to SOCK_SEQPACKET for internal socketpairs
Lennart Poettering [Mon, 7 Sep 2015 23:17:47 +0000 (01:17 +0200)]
inspawn: switch from SOCK_DGRAM to SOCK_SEQPACKET for internal socketpairs

SOCK_DGRAM and SOCK_SEQPACKET have very similar semantics when used with
socketpair(). However, SOCK_SEQPACKET has the advantage of knowing a
hangup concept, since it is inherently connection-oriented.

Since we use socket pairs to communicate between the nspawn main process
and the nspawn child process, where the child might die abnormally it's
interesting to us to learn about this via hangups if the child side of
the pair is closed. Hence, let's switch to SOCK_SEQPACKET for these
internal communication sockets.

Fixes #956.

9 years agonspawn: properly propagate errors when we fail to set soemthing up
Lennart Poettering [Mon, 7 Sep 2015 23:17:15 +0000 (01:17 +0200)]
nspawn: properly propagate errors when we fail to set soemthing up

9 years agoMerge pull request #1193 from phomes/typos
Daniel Mack [Mon, 7 Sep 2015 21:16:14 +0000 (23:16 +0200)]
Merge pull request #1193 from phomes/typos

man: typo fixes

9 years agoman: typo fixes
Thomas Hindoe Paaboel Andersen [Mon, 7 Sep 2015 18:06:58 +0000 (20:06 +0200)]
man: typo fixes

9 years agomachined: improve error message when trying to get a bus in bus-less containers
Lennart Poettering [Mon, 7 Sep 2015 17:53:34 +0000 (19:53 +0200)]
machined: improve error message when trying to get a bus in bus-less containers

Now that we get useful error messages from sd-bus for container
connections, let's make use of this and report better errors back to
machined clients.

Fixes #685.

9 years agosd-bus: when connecting to a container AF_UNIX bus, return error
Lennart Poettering [Mon, 7 Sep 2015 17:52:11 +0000 (19:52 +0200)]
sd-bus: when connecting to a container AF_UNIX bus, return error

When forking of a child process for connecting to a container, pass
the preicse connection error to the calling process.

We already did this correctly for kdbus busses, let's do so for dbus1
busses, too.

9 years agoMerge pull request #1191 from poettering/nspawn-split
Daniel Mack [Mon, 7 Sep 2015 17:08:39 +0000 (19:08 +0200)]
Merge pull request #1191 from poettering/nspawn-split

nspawn: split up nspawn.c into multiple smaller .c files

9 years agonspawn: sort and clean up included header list
Lennart Poettering [Mon, 7 Sep 2015 16:56:54 +0000 (18:56 +0200)]
nspawn: sort and clean up included header list

Let's remove unnecessary inclusions, and order the list alphabetically
as suggested in CODING_STYLE now.

9 years agonspawn: remove nspawn.h, it's empty now
Lennart Poettering [Mon, 7 Sep 2015 16:47:34 +0000 (18:47 +0200)]
nspawn: remove nspawn.h, it's empty now

9 years agonspawn: split out --uid= logic into nspawn-setuid.[ch]
Lennart Poettering [Mon, 7 Sep 2015 16:42:14 +0000 (18:42 +0200)]
nspawn: split out --uid= logic into nspawn-setuid.[ch]

9 years agonspawn: split out machined registration code to nspawn-register.[ch]
Lennart Poettering [Mon, 7 Sep 2015 16:36:05 +0000 (18:36 +0200)]
nspawn: split out machined registration code to nspawn-register.[ch]

9 years agonspawn: split out cgroup related calls into nspawn-cgroup.[ch]
Lennart Poettering [Mon, 7 Sep 2015 16:25:04 +0000 (18:25 +0200)]
nspawn: split out cgroup related calls into nspawn-cgroup.[ch]

9 years agonspawn: split out network related code to nspawn-network.[ch]
Lennart Poettering [Mon, 7 Sep 2015 15:43:45 +0000 (17:43 +0200)]
nspawn: split out network related code to nspawn-network.[ch]

9 years agonspawn: split all port exposure code into nspawn-expose-port.[ch]
Lennart Poettering [Mon, 7 Sep 2015 14:52:24 +0000 (16:52 +0200)]
nspawn: split all port exposure code into nspawn-expose-port.[ch]

9 years agonspawn: split out mount related functions into a new nspawn-mount.c file
Lennart Poettering [Mon, 7 Sep 2015 13:59:52 +0000 (15:59 +0200)]
nspawn: split out mount related functions into a new nspawn-mount.c file

9 years agoMerge pull request #1189 from poettering/unit-start
Daniel Mack [Mon, 7 Sep 2015 12:27:13 +0000 (14:27 +0200)]
Merge pull request #1189 from poettering/unit-start

unit: move "not supported" check after condition check in unit_start()

9 years agounit: move "not supported" check after condition check in unit_start()
Lennart Poettering [Mon, 7 Sep 2015 12:08:24 +0000 (14:08 +0200)]
unit: move "not supported" check after condition check in unit_start()

Make sure we always check conditions before checking whether the unit
type is supported in unit_start(), since condition checks are "clean
errors", while "not supported" errors are fatal.

This cleans up the boot output of systemd in containers, where a lot of
NOTSUPP lines were shown befor this fix.

This partially reverts 8ff4d2ab0d4758e914aea6d86154d85f2b2c787f which
reorder the checks.

9 years agobasic: rework virtualization detection API
Lennart Poettering [Mon, 7 Sep 2015 11:42:47 +0000 (13:42 +0200)]
basic: rework virtualization detection API

Introduce a proper enum, and don't pass around string ids anymore. This
simplifies things quite a bit, and makes virtualization detection more
similar to architecture detection.

9 years agoNEWS: fix typos
Daniel Mack [Mon, 7 Sep 2015 11:06:53 +0000 (13:06 +0200)]
NEWS: fix typos

9 years agoupdate NEWS
Lennart Poettering [Mon, 7 Sep 2015 10:43:25 +0000 (12:43 +0200)]
update NEWS

9 years agoMerge pull request #1178 from poettering/gpt-auto-fixes
Daniel Mack [Mon, 7 Sep 2015 10:28:34 +0000 (12:28 +0200)]
Merge pull request #1178 from poettering/gpt-auto-fixes

handle LUKS root partitions better in gpt-auto, plus other fixes

9 years agoMerge pull request #1183 from dvdhrm/cpename
Lennart Poettering [Mon, 7 Sep 2015 09:12:27 +0000 (11:12 +0200)]
Merge pull request #1183 from dvdhrm/cpename

man: clarify wording of os-release.CPE_NAME

9 years agoMerge pull request #1182 from martinpitt/master
David Herrmann [Mon, 7 Sep 2015 09:02:40 +0000 (11:02 +0200)]
Merge pull request #1182 from martinpitt/master

tests: Skip test-cgroup-util test_mask_supported() when not running under systemd

9 years agoman: clarify wording of os-release.CPE_NAME
David Herrmann [Mon, 7 Sep 2015 08:57:50 +0000 (10:57 +0200)]
man: clarify wording of os-release.CPE_NAME

We expect the CPE_NAME to be formatted in URI binding syntax. Make that
clear in the documentation. Furthermore, the CPE-spec has been taken over
by NIST, so adjust the links as well.

Reported by: Ben Harris <bjh21@cam.ac.uk>

9 years agotests: Skip test-cgroup-util test_mask_supported() when not running under systemd
Martin Pitt [Mon, 7 Sep 2015 06:09:13 +0000 (08:09 +0200)]
tests: Skip test-cgroup-util test_mask_supported() when not running under systemd

Commit 5f4c5fef6 introduced this new test case, but this does not work in
build chroots where cgroupfs is not mounted. So skip the test if systemd is not
running.

9 years agoMerge pull request #1181 from evverx/update-systemd-analyze-completion
Daniel Mack [Mon, 7 Sep 2015 03:53:19 +0000 (05:53 +0200)]
Merge pull request #1181 from evverx/update-systemd-analyze-completion

shell-completion: update systemd-analyze bash-completion

9 years agoshell-completion: update systemd-analyze bash-completion
Evgeny Vereshchagin [Mon, 7 Sep 2015 01:44:30 +0000 (04:44 +0300)]
shell-completion: update systemd-analyze bash-completion

* Change --no-man to --man (see dad29df)
* --{from,to}-pattern require arg