chiark / gitweb /
elogind.git
9 years agomachinectl: remove spurious newline
Lennart Poettering [Mon, 5 Jan 2015 12:46:36 +0000 (13:46 +0100)]
machinectl: remove spurious newline

9 years agopo: update Italian translation
Daniele Medri [Mon, 5 Jan 2015 12:46:18 +0000 (13:46 +0100)]
po: update Italian translation

9 years agosd-bus: sync kdbus.h
Daniel Mack [Mon, 5 Jan 2015 12:41:30 +0000 (13:41 +0100)]
sd-bus: sync kdbus.h

Catch up with latest changes in kdbus.ko:

 * Signals can be sent as unicast now, hence they need to be marked as
   such with the KDBUS_MSG_SIGNAL in the message flags.

 * Follow ioctl number change for KDBUS_CMD_FREE

9 years agoutil: Do not clear parent mount flags when setting up namespaces
Topi Miettinen [Sun, 4 Jan 2015 18:51:17 +0000 (20:51 +0200)]
util: Do not clear parent mount flags when setting up namespaces

When setting up a namespace, mount flags like noexec, nosuid and
nodev are cleared, so the mounts always have exec, suid and dev
flags enabled.

Copy source directory mount flags to target mount when remounting
the bind mounts.

9 years agoudevadm,..: make --help output of udev tools more like the output of the various...
Lennart Poettering [Mon, 5 Jan 2015 12:19:55 +0000 (13:19 +0100)]
udevadm,..: make --help output of udev tools more like the output of the various other tools

9 years agofstab-generator: use more appropriate checks for swap and device availability
Lennart Poettering [Mon, 5 Jan 2015 11:35:08 +0000 (12:35 +0100)]
fstab-generator: use more appropriate checks for swap and device availability

We always should use the same checks when deciding whether swap support
and mounting of devices is supported. Hence, let's make
fstab-generator's logic more similar to the usual logic we follow:

a) Look for /proc/swaps and no container support before activating
swaps.

b) Look for /sys being writable befire supporting device mounts.

9 years agolibsystemd-network: fix typo in lldp
Torstein Husebø [Mon, 5 Jan 2015 08:55:11 +0000 (09:55 +0100)]
libsystemd-network: fix typo in lldp

9 years agoutil: Fix signedness error in lines(), match implementations
Colin Walters [Thu, 1 Jan 2015 19:57:08 +0000 (14:57 -0500)]
util: Fix signedness error in lines(), match implementations

Regression introduced by ed757c0cb03eef50e8d9aeb4682401c3e9486f0b

Mirror the implementation of columns(), since the fd_columns()
functions returns a negative integer for errors.

Also fix columns() to return the unsigned variable instead of the
signed intermediary (they're the same, but better to be explicit).

9 years agoupdate TODO
Lennart Poettering [Mon, 5 Jan 2015 01:58:04 +0000 (02:58 +0100)]
update TODO

9 years agojournald: reuse IOVEC_TOTAL_SIZE() macros where possible
Lennart Poettering [Mon, 5 Jan 2015 01:48:50 +0000 (02:48 +0100)]
journald: reuse IOVEC_TOTAL_SIZE() macros where possible

9 years agojournald: when we detect the journal file we are about to write to has been deleted...
Lennart Poettering [Mon, 5 Jan 2015 01:09:01 +0000 (02:09 +0100)]
journald: when we detect the journal file we are about to write to has been deleted, rotate

https://bugzilla.redhat.com/show_bug.cgi?id=1171719

9 years agosystemctl: properly iterate through service array when dispatching to sysv
Lennart Poettering [Mon, 5 Jan 2015 00:56:47 +0000 (01:56 +0100)]
systemctl: properly iterate through service array when dispatching to sysv

https://bugzilla.redhat.com/show_bug.cgi?id=1175734

9 years agojournald: add some additional checks before we divide by values read from journal...
Lennart Poettering [Mon, 5 Jan 2015 00:20:44 +0000 (01:20 +0100)]
journald: add some additional checks before we divide by values read from journal file headers

Since the file headers might be replaced by zeroed pages now due to
sigbus we should make sure we don't end up dividing by zero because we
don't check values read from journal file headers for changes.

9 years agojournalctl: static variables immediately configured via command line arguments should...
Lennart Poettering [Mon, 5 Jan 2015 00:08:51 +0000 (01:08 +0100)]
journalctl: static variables immediately configured via command line arguments should be prefixed with "arg_"

9 years agojournal: install sigbus handler for journal tools too
Lennart Poettering [Sun, 4 Jan 2015 23:52:47 +0000 (00:52 +0100)]
journal: install sigbus handler for journal tools too

This makes them robust regarding truncation. Ideally, we'd export this
as an API, but given how messy SIGBUS handling is, and the uncertain
ownership logic of signal handlers we should not do this (unless libc
one day invents a scheme how to sanely install SIGBUS handlers for
specific memory areas only). However, for now we can still make all our
own tools robust.

Note that external tools will only have read-access to the journal
anyway, where SIGBUS is much more unlikely, given that only writes are
subject to disk full problems.

9 years agosystemctl: fix waiting for jobs when using direct connections to PID 1 for dbus
Lennart Poettering [Sun, 4 Jan 2015 23:38:31 +0000 (00:38 +0100)]
systemctl: fix waiting for jobs when using direct connections to PID 1 for dbus

9 years agojournald: constify all things
Lennart Poettering [Sun, 4 Jan 2015 23:13:26 +0000 (00:13 +0100)]
journald: constify all things

9 years agomachined,bus-proxy: fix connecting to containers
Lennart Poettering [Sun, 4 Jan 2015 21:20:22 +0000 (22:20 +0100)]
machined,bus-proxy: fix connecting to containers

9 years agojournald: prefix exported calls with "server_", unexport unnecessary calls
Lennart Poettering [Sun, 4 Jan 2015 21:09:07 +0000 (22:09 +0100)]
journald: prefix exported calls with "server_", unexport unnecessary calls

9 years agojournald: process SIGBUS for the memory maps we set up
Lennart Poettering [Tue, 30 Dec 2014 19:57:53 +0000 (20:57 +0100)]
journald: process SIGBUS for the memory maps we set up

Even though we use fallocate() it appears that file systems like btrfs
will trigger SIGBUS on certain low-disk-space situation. We should
handle that, hence catch the signal, add it to a list of invalidated
pages, and replace the page with an empty memory area. After each write
check if SIGBUS was triggered, and consider the write invalid if it was.

This should make journald a lot more robust with file systems where
fallocate() is not reliable, for example all CoW file systems
(btrfs...), where changing written data can fail with disk full errors.

https://bugzilla.redhat.com/show_bug.cgi?id=1045810

9 years agoupdate TODO
Lennart Poettering [Tue, 30 Dec 2014 01:19:04 +0000 (02:19 +0100)]
update TODO

9 years agonspawn: mount most of the cgroup tree read-only in nspawn containers except for the...
Lennart Poettering [Tue, 30 Dec 2014 00:57:23 +0000 (01:57 +0100)]
nspawn: mount most of the cgroup tree read-only in nspawn containers except for the container's own subtree in the name=systemd hierarchy

More specifically mount all other hierarchies in their entirety and the
name=systemd above the container's subtree read-only.

9 years agocgroup: downgrade log messages when we cannot write to cgroup trees that are mounted...
Lennart Poettering [Tue, 30 Dec 2014 00:56:42 +0000 (01:56 +0100)]
cgroup: downgrade log messages when we cannot write to cgroup trees that are mounted read-only

9 years agohwdb: fix a typo
Peter Hutterer [Sun, 4 Jan 2015 21:41:03 +0000 (07:41 +1000)]
hwdb: fix a typo

9 years agohwdb: revert Logitech Optical USB Mouse
Peter Hutterer [Sun, 4 Jan 2015 21:26:18 +0000 (07:26 +1000)]
hwdb: revert Logitech Optical USB Mouse

Reporter says he incorrectly measured the data but the device is not available
anymore to correct it. We'll have to wait for someone else to submit the data.

https://bugs.freedesktop.org/show_bug.cgi?id=87343

9 years agomachinectl: Check type instead of path before printing the type
Thomas Hindoe Paaboel Andersen [Fri, 2 Jan 2015 19:29:04 +0000 (20:29 +0100)]
machinectl: Check type instead of path before printing the type

Looks like a typo when introduced in fefdc04b38725457a91651218feb7000f6ccc1f4

9 years agopo: update Russian translation
Sergey Ptashnick [Thu, 1 Jan 2015 18:42:47 +0000 (21:42 +0300)]
po: update Russian translation

By analogy with commit 4038d7502f.

9 years agopo: update French translation
Sylvain Plantefève [Thu, 1 Jan 2015 17:02:54 +0000 (18:02 +0100)]
po: update French translation

9 years agomount: do not use -n when running in --user mode
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jan 2015 19:25:18 +0000 (14:25 -0500)]
mount: do not use -n when running in --user mode

-n is only allowed for root. /etc/mtab is nowadays almost always a link to /proc/,
so in practice this does not really matter too much, but should allow .mount units
to work in --user mode.

https://bugs.freedesktop.org/show_bug.cgi?id=87602

9 years agoType of mount(2) flags is unsigned long
Topi Miettinen [Thu, 1 Jan 2015 17:40:07 +0000 (19:40 +0200)]
Type of mount(2) flags is unsigned long

9 years agoudev: improve help/usage for some more programs
Robert Milasan [Thu, 1 Jan 2015 17:11:22 +0000 (18:11 +0100)]
udev: improve help/usage for some more programs

9 years agonetworkctl: avoid potential use of unitialized variables
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jan 2015 17:00:59 +0000 (12:00 -0500)]
networkctl: avoid potential use of unitialized variables

Those values are based on a file we read from disk, so we should
verify everything we receive, and make sure everything we print
is sensible.

Also, print fractional seconds for TTL.

9 years agonetworkctl: remove unused variable
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jan 2015 16:53:25 +0000 (11:53 -0500)]
networkctl: remove unused variable

9 years agonetwork: fix scanf/printf format
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jan 2015 16:15:50 +0000 (11:15 -0500)]
network: fix scanf/printf format

usec_t is defined as 64 bit wide, but long is 32 bit on many archs.

9 years agomissing: add __NR_renameat2
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jan 2015 15:55:19 +0000 (10:55 -0500)]
missing: add __NR_renameat2

9 years agobuild-sys: Fix install location of systemd.pc
Martin Pitt [Sun, 28 Dec 2014 11:14:25 +0000 (12:14 +0100)]
build-sys: Fix install location of systemd.pc

systemd.pc contains "libdir" which can be architecture specific. Thus it needs
to be installed into libdir/pkgconfig/ instead of datadir/pkgconfig.

As nothing else is using pkgconfigdata any more, remove it entirely.

Note that udev.pc does not contain architecture specific values and thus can be
kept in /usr/share/pkgconfig/.

9 years agoRemove "to allow" from policy messages
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jan 2015 14:44:43 +0000 (09:44 -0500)]
Remove "to allow" from policy messages

It carries no additional information and forces a passive sentence
structure which is longer and harder to parse.

9 years agopo: update Polish translation
Piotr Drąg [Fri, 26 Dec 2014 00:05:29 +0000 (01:05 +0100)]
po: update Polish translation

https://bugs.freedesktop.org/show_bug.cgi?id=87724

9 years agomachined: fix grammar in org.freedesktop.machine1.policy.in
Piotr Drąg [Thu, 25 Dec 2014 23:55:26 +0000 (00:55 +0100)]
machined: fix grammar in org.freedesktop.machine1.policy.in

[zj: change "in into" to "into".]

https://bugs.freedesktop.org/show_bug.cgi?id=87722

9 years agobuild-sys: fix build issue with machines.target
Philippe De Swert [Wed, 31 Dec 2014 16:02:12 +0000 (18:02 +0200)]
build-sys: fix build issue with machines.target

When doing "make clean" the unit/machines.target file gets deleted.
This causes a build error later on when trying to rebuild systemd.

V2: The file probably belongs to dist_systemunit_DATA

9 years agoman: Clarify effect when both calendar day and date are listed in timer
Chris Atkinson [Thu, 1 Jan 2015 02:59:16 +0000 (21:59 -0500)]
man: Clarify effect when both calendar day and date are listed in timer

See bug 87859 (https://bugs.freedesktop.org/show_bug.cgi?id=87859). Bug
reporter found the language describing the effect of specifying both a
day and date unclear; hopefully the attached patch will clarify and
allow the bug to be closed.

9 years agolldp: fix sd_lldp_save()
David Herrmann [Wed, 31 Dec 2014 15:28:48 +0000 (16:28 +0100)]
lldp: fix sd_lldp_save()

Fix a bunch of needless memzero() calls, a bunch of use-after-free
regarding _cleanup_free_ and drop unused variables.

Hint: Do NOT use _cleanup_free_ for temporary strappend() helpers that are
freed multiple times. All you safe is the last free() call, which is
really not worth the trouble resetting it to NULL all the time.

9 years agolldp: fix uninitialized cleanup var #2
David Herrmann [Wed, 31 Dec 2014 15:07:17 +0000 (16:07 +0100)]
lldp: fix uninitialized cleanup var #2

Another uninitialized variable marked as _cleanup_. Set it to NULL to
avoid accessing uninitialized memory.

9 years agolldp: fix uninitialized cleanup var
David Herrmann [Wed, 31 Dec 2014 15:04:55 +0000 (16:04 +0100)]
lldp: fix uninitialized cleanup var

Make sure to set _cleanup_ variables to NULL. Otherwise, we free
uninitialized objects.

9 years agoimport: fix mem-leak in CurlGlue
David Herrmann [Wed, 31 Dec 2014 15:01:37 +0000 (16:01 +0100)]
import: fix mem-leak in CurlGlue

Make sure to actually free the underlying object in CurlGlue unref.

9 years agolldp: fix double free
David Herrmann [Wed, 31 Dec 2014 14:58:27 +0000 (15:58 +0100)]
lldp: fix double free

'k' is marked as _cleanup_free_ so reset it to NULL if we free it
explicitly.

9 years agonetworkctl: fix strappend() error checking
David Herrmann [Wed, 31 Dec 2014 14:56:11 +0000 (15:56 +0100)]
networkctl: fix strappend() error checking

Make sure to test the right variable for NULL.

9 years agonetwork: add malloc-assertion in test
David Herrmann [Wed, 31 Dec 2014 14:54:20 +0000 (15:54 +0100)]
network: add malloc-assertion in test

Make sure malloc() really returns non-NULL in lldp test.

9 years agomachinectl: remove dead code
David Herrmann [Wed, 31 Dec 2014 14:52:23 +0000 (15:52 +0100)]
machinectl: remove dead code

'r' is not touched after the previous error-checking 100 lines above. Drop
that code.

9 years agohwdb: mouse DPI data, Logitech USB Laser Mouse M-U0011-O
Christoph Brill [Wed, 31 Dec 2014 13:28:52 +0000 (08:28 -0500)]
hwdb: mouse DPI data, Logitech USB Laser Mouse M-U0011-O

https://bugs.freedesktop.org/show_bug.cgi?id=87880

9 years agoRevert commit f131770b "tree-wide: spelling fixes"
David Herrmann [Wed, 31 Dec 2014 12:34:21 +0000 (13:34 +0100)]
Revert commit f131770b "tree-wide: spelling fixes"

This partially reverts:

    commit f131770b1465fbf423881f16ba85523a05f846fe
    Author: Veres Lajos <vlajos@gmail.com>
    Date:   Mon Dec 29 09:45:58 2014 +0000

        tree-wide: spelling fixes

The commit in question changed a binary file. I didn't look at the diff in
particular, so I have no idea what exactly was changed. However, the file
is generated and it looked highly suspiciuous. Therefore, I reverted that
part.

Note that this is generated by "make update-unifont" so really no reason
to touch at all.

9 years agotree-wide: spelling fixes
Veres Lajos [Mon, 29 Dec 2014 09:45:58 +0000 (09:45 +0000)]
tree-wide: spelling fixes

https://github.com/vlajos/misspell_fixer

https://github.com/torstehu/systemd/commit/b6fdeb618cf2f3ce1645b3315f15f482710c7ffa
Thanks to Torstein Husebo <torstein@huseboe.net>.

9 years agoaccelerometer: display short options too
Robert Milasan [Tue, 30 Dec 2014 17:58:29 +0000 (18:58 +0100)]
accelerometer: display short options too

9 years agohwdb: mouse DPI data, Logitech M-UAS144
Christoph Brill [Wed, 31 Dec 2014 00:07:28 +0000 (19:07 -0500)]
hwdb: mouse DPI data, Logitech M-UAS144

https://bugs.freedesktop.org/show_bug.cgi?id=87881

9 years agohwdb: mouse DPI data, Fujitsu Siemens OEM
Christoph Brill [Wed, 31 Dec 2014 00:03:39 +0000 (19:03 -0500)]
hwdb: mouse DPI data, Fujitsu Siemens OEM

https://bugs.freedesktop.org/show_bug.cgi?id=87879

9 years agohwdb: mouse DPI data, Logitech MK260 aka M-R0011
Christoph Brill [Tue, 30 Dec 2014 23:56:16 +0000 (18:56 -0500)]
hwdb: mouse DPI data, Logitech MK260 aka M-R0011

https://bugs.freedesktop.org/show_bug.cgi?id=87882

9 years agohwdb: mouse DPI data, Chicony 2.4G Multimedia Wireless Kit
Christoph Brill [Tue, 30 Dec 2014 23:54:24 +0000 (18:54 -0500)]
hwdb: mouse DPI data, Chicony 2.4G Multimedia Wireless Kit

https://bugs.freedesktop.org/show_bug.cgi?id=87883

9 years agosystemctl: do not repeat hibernate/sleep attempts
Zbigniew Jędrzejewski-Szmek [Tue, 30 Dec 2014 23:38:21 +0000 (18:38 -0500)]
systemctl: do not repeat hibernate/sleep attempts

If some sleep operation was not possible (e.g. because swap is missing),
we would try twice: once through logind, which would result in a clean error:
  Failed to execute operation: Sleep verb not supported
and then second time by starting the appropriate unit directly, which is
more messy. If logind tells us that something is not possible (or already
in progress), report that to the user and quit. If logind is present and working
we should not try to work around it.

Loosely based on https://bugs.freedesktop.org/show_bug.cgi?id=87832.

9 years agobus: replace ENOSYS return codes with EBADR/ENOTSUP
Zbigniew Jędrzejewski-Szmek [Tue, 30 Dec 2014 23:22:53 +0000 (18:22 -0500)]
bus: replace ENOSYS return codes with EBADR/ENOTSUP

ENOSYS is used to signify compiled-out functionality. Using it for
different kinds of error is misleading.

For BUS_ERROR_SLEEP_VERB_NOT_SUPPORTED, logind-action.c uses ENOTSUP
already, so changing it to ENOTSUP makes the dbus and action paths
behave the same.

9 years agoREADME: CONFIG_DEVPTS_MULTIPLE_INSTANCES is necessary
Zbigniew Jędrzejewski-Szmek [Tue, 30 Dec 2014 14:57:01 +0000 (09:57 -0500)]
README: CONFIG_DEVPTS_MULTIPLE_INSTANCES is necessary

https://bugs.debian.org/773932

9 years agoaccelerometer: drop unused -x option
Robert Milasan [Tue, 30 Dec 2014 17:58:05 +0000 (18:58 +0100)]
accelerometer: drop unused -x option

9 years agoman: Fix spelling
Susant Sahani [Tue, 30 Dec 2014 16:41:38 +0000 (22:11 +0530)]
man: Fix spelling

9 years agobus: add sd_bus_emit_object_{added/removed}()
David Herrmann [Tue, 30 Dec 2014 10:37:35 +0000 (11:37 +0100)]
bus: add sd_bus_emit_object_{added/removed}()

This implements two new helpers, discussed on systemd-devel about 1 year
ago:
    sd_bus_emit_object_added()
    sd_bus_emit_object_removed()

Both calls are equivalent to their respective counterpart
sd_bus_emit_interfaces_{added/removed}(), but can figure out the list of
interfaces themselves, instead of requiring the caller to provide them.
Furthermore, both calls properly deal with builtin interfaces provided via
org.freedesktop.DBus.* and alike.

Both calls simply traverse a node and all its parent nodes to figure out a
list of all interfaces registered as vtable or fallback. It then appends
each of them, similar to the interfaces_{added/removed}() helpers.

Note that interfaces_{added/removed}() runs a parent traversal for *each*
passed interface. Therefore, it can simply bail out, once it found a
parent node that implements a given interface.
With object_{added/removed}() we cannot know the registered interfaces in
advance, thus, we cannot run one traversal per node. Instead, we run a
single traversal and remember all interfaces that we added. Therefore, a
child-interface overrides all conflicting parent-interfaces. We keep a
"Set *s" context to track those while climbing up the tree.

9 years agobus: fix capabilities on big-endian
David Herrmann [Tue, 30 Dec 2014 08:09:41 +0000 (09:09 +0100)]
bus: fix capabilities on big-endian

The kernel provides capabilities as a u32 array, sd-bus uses an u8 array.
This works fine on little-endian as both are encoded the same way.
However, this fails on big-endian if we do not perform sufficient
byte-swapping on each u32 entry.

This patch makes sd-bus use u32, too. We avoid changing any kernel
provided data so we can keep pointing into kdbus pool buffers which
contain u32 arrays.

9 years agobus: drop creds->capability_size
David Herrmann [Tue, 30 Dec 2014 07:42:53 +0000 (08:42 +0100)]
bus: drop creds->capability_size

The number of available caps can be read from
/proc/sys/kernel/cap_last_cap during runtime. Our helper cap_last_cap()
does that, so there's no reason to remember the size of any capability
cache. We can just pre-allocate arrays with a suitable size for all
available caps and reject any higher caps.

The kernel capability API uses u32 as base so make sure we do the same.
Note that this is specified by POSIX, so it's unlikely to change.

9 years agomacro: add DIV_ROUND_UP()
David Herrmann [Mon, 29 Dec 2014 16:51:36 +0000 (17:51 +0100)]
macro: add DIV_ROUND_UP()

This macro calculates A / B but rounds up instead of down. We explicitly
do *NOT* use:
        (A + B - 1) / A
as it suffers from an integer overflow, even though the passed values are
properly tested against overflow. Our test-cases show this behavior.

Instead, we use:
        A / B + !!(A % B)

Note that on "Real CPUs" this does *NOT* result in two divisions. Instead,
instructions like idivl@x86 provide both, the quotient and the remainder.
Therefore, both algorithms should perform equally well (I didn't verify
this, though).

9 years agohwdb: Update database of Bluetooth company identifiers
Marcel Holtmann [Mon, 29 Dec 2014 19:47:04 +0000 (20:47 +0100)]
hwdb: Update database of Bluetooth company identifiers

9 years agoupdate TODO
Lennart Poettering [Mon, 29 Dec 2014 19:18:04 +0000 (20:18 +0100)]
update TODO

9 years agoRevert "machined: don't force terminate registered machines"
Lennart Poettering [Mon, 29 Dec 2014 19:00:01 +0000 (20:00 +0100)]
Revert "machined: don't force terminate registered machines"

This reverts commit 206e7a5f7b55ac61188efd895e65ab26e478cbb2.

We actually want to allow shutting down containers that use
RegisterMachine() rather than CreateMachine() to register their own
unit. It should be safe to do so, since the primary usecase for
RegisterMachine() are container managers that run only a single
container within their own unit, such as systemd-nspawn.

9 years agomachined: ignore spurious error
Lennart Poettering [Mon, 29 Dec 2014 18:08:50 +0000 (19:08 +0100)]
machined: ignore spurious error

9 years agonspawn: report back to systemd only very late whether we are OK
Lennart Poettering [Mon, 29 Dec 2014 16:54:04 +0000 (17:54 +0100)]
nspawn: report back to systemd only very late whether we are OK

That way, systemd can actually figure out if everything is OK with
nspawn.

9 years agopreset: enable machines.target by default
Lennart Poettering [Mon, 29 Dec 2014 16:36:57 +0000 (17:36 +0100)]
preset: enable machines.target by default

9 years agoUpdate TODO
Lennart Poettering [Mon, 29 Dec 2014 13:06:25 +0000 (14:06 +0100)]
Update TODO

9 years agomachinectl: add "enable" and "disable" verbs for enabling/disabling systemd-nspawn...
Lennart Poettering [Mon, 29 Dec 2014 13:05:17 +0000 (14:05 +0100)]
machinectl: add "enable" and "disable" verbs for enabling/disabling systemd-nspawn for containers

This is basically just a shortcut for "systemctl enable
systemd-nspawn@<foobar>.service", but does escaping.

9 years agomachinectl: add new "start" verb to start a container as a service in nspawn
Lennart Poettering [Mon, 29 Dec 2014 11:41:26 +0000 (12:41 +0100)]
machinectl: add new "start" verb to start a container as a service in nspawn

9 years agounits: rework systemd-nspawn@.service unit
Lennart Poettering [Mon, 29 Dec 2014 11:38:26 +0000 (12:38 +0100)]
units: rework systemd-nspawn@.service unit

- Unescape instance name so that we can take almost anything as instance
  name.

- Introduce "machines.target" which consists of all enabled nspawns and
  can be used to start/stop them altogether

- Look for container directory using -M instead of harcoding the path in
  /var/lib/container

9 years agounits: make graphical.target dependencies more complete and similar to those of multi...
Lennart Poettering [Mon, 29 Dec 2014 11:34:50 +0000 (12:34 +0100)]
units: make graphical.target dependencies more complete and similar to those of multi-user.target

9 years agobus-proxy: fix sd_bus_reply_*() usage
David Herrmann [Mon, 29 Dec 2014 14:43:57 +0000 (15:43 +0100)]
bus-proxy: fix sd_bus_reply_*() usage

We *must* not use sd_bus_reply_*() as it does not set the sender field
correctly. Use the synthetic_reply_*() helpers instead!

9 years agocapability: use /proc/sys/kernel/cap_last_cap
David Herrmann [Mon, 29 Dec 2014 12:24:35 +0000 (13:24 +0100)]
capability: use /proc/sys/kernel/cap_last_cap

This file was introduced with linux-3.2, use it instead of probing for it
via prctl(PR_CAPBSET_READ).

For now, keep the old code for backwards compat. We can drop it once 3.2
is our lowest requirement.

The test-cap-list code is extended to verify cap_last_cap() is the same as
we'd get via prctl probing and /proc.

9 years agocore: loopback - correctly fail the loopback_check if somehow the rtnl calls fail
Tom Gundersen [Mon, 29 Dec 2014 12:05:45 +0000 (13:05 +0100)]
core: loopback - correctly fail the loopback_check if somehow the rtnl calls fail

9 years agobus: fix typo
David Herrmann [Tue, 23 Dec 2014 16:10:54 +0000 (17:10 +0100)]
bus: fix typo

Drop spurious 'we'.

9 years agortnl: recv_message - don't enforce sender uid
Tom Gundersen [Mon, 29 Dec 2014 01:18:21 +0000 (02:18 +0100)]
rtnl: recv_message - don't enforce sender uid

All we care about is that the kernel (pid==0) sent the message. Verifying the sender uid
seems to break when using userns.

Reported by Stéphane Graber.

9 years agotest: loopback - parse logging env var
Tom Gundersen [Mon, 29 Dec 2014 00:58:25 +0000 (01:58 +0100)]
test: loopback - parse logging env var

9 years agosd-rtnl: rtnl_call - don't dispatch wqueue after timeout has passed
Tom Gundersen [Mon, 29 Dec 2014 00:54:04 +0000 (01:54 +0100)]
sd-rtnl: rtnl_call - don't dispatch wqueue after timeout has passed

Only a minor change as the timeout would be hit soon thereafetr at the next loop.

9 years agosd-rtnl: rtnl_poll - fix typo
Tom Gundersen [Mon, 29 Dec 2014 00:50:07 +0000 (01:50 +0100)]
sd-rtnl: rtnl_poll - fix typo

This caused rtnl_poll to always return true immediately in sd_rtnl_call().

9 years agosd-rtnl: recv_message - drop message when peeking fails
Tom Gundersen [Sun, 28 Dec 2014 23:24:00 +0000 (00:24 +0100)]
sd-rtnl: recv_message - drop message when peeking fails

Read the message form the socket or we will loop trying to read the
same message repeatedly.

9 years agosd-rtnl: recv_message - don't fail on interrupt
Tom Gundersen [Mon, 29 Dec 2014 00:49:06 +0000 (01:49 +0100)]
sd-rtnl: recv_message - don't fail on interrupt

We should just try again instead.

9 years agosd-rtnl: recv_message - log when dropping message
Tom Gundersen [Sun, 28 Dec 2014 23:19:36 +0000 (00:19 +0100)]
sd-rtnl: recv_message - log when dropping message

We drop messages received from the wrong uid/pid, log this at debug level.

9 years agocore: loopback - simplify check_loopback()
Tom Gundersen [Sun, 28 Dec 2014 12:38:23 +0000 (13:38 +0100)]
core: loopback - simplify check_loopback()

We no longer configure the addresses on the loopback interface, but simply bring it up
and let the kernel do the rest. Also change the check to only check if the interface
is up, rather than checking for the IPv4 loopback address.

9 years agomachined: Fix MarkReadOnly method's name on bus
Sylvain Plantefève [Sun, 28 Dec 2014 11:52:15 +0000 (12:52 +0100)]
machined: Fix MarkReadOnly method's name on bus

9 years agolibsystemd: Fix minor typo in comment
Sylvain Plantefève [Sun, 28 Dec 2014 11:52:14 +0000 (12:52 +0100)]
libsystemd: Fix minor typo in comment

9 years agomachined: don't look for images on each property get, but cache the image object...
Lennart Poettering [Sun, 28 Dec 2014 01:44:37 +0000 (02:44 +0100)]
machined: don't look for images on each property get, but cache the image object inbetween

9 years agoupdate TODO
Lennart Poettering [Sat, 27 Dec 2014 16:45:30 +0000 (17:45 +0100)]
update TODO

9 years agoutil: treat -1 as special size in format_bytes()
Lennart Poettering [Sun, 28 Dec 2014 01:07:32 +0000 (02:07 +0100)]
util: treat -1 as special size in format_bytes()

9 years agomachined: add support for reporting image size via btrfs quota
Lennart Poettering [Sun, 28 Dec 2014 01:05:28 +0000 (02:05 +0100)]
machined: add support for reporting image size via btrfs quota

9 years agotmpfiles.d: upgrade a couple of directories we create at boot to subvolumes
Lennart Poettering [Sat, 27 Dec 2014 17:47:17 +0000 (18:47 +0100)]
tmpfiles.d: upgrade a couple of directories we create at boot to subvolumes

In particular we upgrade /var/lib/container, /var/tmp and /tmp to
subvolumes.

9 years agotmpfiles: add new line type 'v' for creating btrfs subvolumes
Lennart Poettering [Sat, 27 Dec 2014 17:46:36 +0000 (18:46 +0100)]
tmpfiles: add new line type 'v' for creating btrfs subvolumes

9 years agomachinectl/machined: implement "rename", "clone", "read-only" verbs for machine images
Lennart Poettering [Sat, 27 Dec 2014 16:44:04 +0000 (17:44 +0100)]
machinectl/machined: implement "rename", "clone", "read-only" verbs for machine images

9 years agomachined: add "machinectl remove" for removing images
Lennart Poettering [Sat, 27 Dec 2014 01:35:47 +0000 (02:35 +0100)]
machined: add "machinectl remove" for removing images

9 years agonspawn: use the same image discovery logic in nspawn as in machined
Lennart Poettering [Sat, 27 Dec 2014 01:07:29 +0000 (02:07 +0100)]
nspawn: use the same image discovery logic in nspawn as in machined