Commit Graph
25744 Commits
Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek d43bbb52de Revert "Do not report masked units as changed (#2921)"
This reverts commit 6d10d308c6.

It got squashed by mistake.
2016-05-03 14:08:23 -04:00
Zbigniew Jędrzejewski-Szmek 6254be5def Revert "test-dnssec: drop unused variable"
This reverts commit 0bed31c103.
2016-05-03 14:08:16 -04:00
Zbigniew Jędrzejewski-Szmek 5ab1cef0db Merge pull request #3111 from poettering/nspawn-remove-veth 2016-05-03 13:53:00 -04:00
Zbigniew Jędrzejewski-Szmek c29f959b44 Revert "nspawn: explicitly remove veth links after use (#3111)"
This reverts commit d2773e59de.

Merge got squashed by mistake.
2016-05-03 13:53:00 -04:00
Evgeny Vereshchagin 0b2abe0f03 tests: add test for #3166 (#3180) 2016-05-03 11:43:22 +02:00
Evgeny Vereshchagin db985064b6 man: rename TriggerLimitIntervalBurst to TriggerLimitBurst (#3181)
[/etc/systemd/system/test.socket:2] Unknown lvalue 'TriggerLimitIntervalBurst' in section 'Socket'

Follow-up for 8b26cdbd2a
2016-05-03 11:33:38 +02:00
Sylvain Plantefève 7a40831a8a locale: Language fallbacks for fr_(BE|CA|CH|LU) to fr_FR (#3178) 2016-05-02 19:43:37 -04:00
Lennart Poettering 5c6c275e43 Merge pull request #3162 from keszybz/alias-refusal
Refuse Alias, DefaultInstance, templated units in install (as appropriate)
2016-05-02 20:40:54 +02:00
Zbigniew Jędrzejewski-Szmek 8ad54a0182 Merge pull request #3153 from poettering/async-clone
machined: make "clone" asynchronous, and support copy-based fall-back
2016-05-02 13:56:07 -04:00
Lennart Poettering d13febb1e0 man: slightly extend the machinectl clone documentation 2016-05-02 11:17:07 +02:00
Lennart Poettering 10c6258e32 minor CODING_STYLE clarification 2016-05-02 11:17:07 +02:00
Lennart Poettering 3e8a82dbd0 update TODO 2016-05-02 11:17:07 +02:00
Lennart Poettering 3d87174db4 machinectl: since clone/remove/copy verbs are possibly slow, turn off bus call timeout
By default we timeout all bus calls, but if we know that these bus calls might
be slow, let's explicitly turn the timeouts off.
2016-05-02 11:17:06 +02:00
Lennart Poettering 795c5d31af machined: rework copy-from/copy-to operation to use generic Operation object
With this all potentially slow operations are done out-of-process,
asynchronously, using the same "Operation" object.
2016-05-02 11:17:06 +02:00
Lennart Poettering 5d2036b5f3 machined: also make image removal operation asynchronous
If we remove a directory image (i.e. not a btrfs snapshot) then things might
get quite expensive, hence run this asynchronous in a forked off process, too.
2016-05-02 11:17:06 +02:00
Lennart Poettering 9a50e3caab machined: support non-btrfs file systems with "machinectl clone"
Fall back to a normal copy operation when the backing file system isn't btrfs,
and hence doesn't support cheap snapshotting. Of course, this will be slow, but
given that the execution is asynchronous now, this should be OK.

Fixes: #1308
2016-05-02 11:15:30 +02:00
Lennart Poettering a67d68b848 tree-wide: fix invocations of chattr_path()
chattr_path() takes two bitmasks, and no booleans. Fix the various invocations
to do this properly.
2016-05-02 11:15:30 +02:00
Lennart Poettering 3b8483c0a3 copy: adjust directory times after writing to the directory
When recursively copying a directory tree, fix up the file times after having
created all contents in it, so that our changes don't end up altering any of
the directory times.
2016-05-02 11:15:30 +02:00
Lennart Poettering b498c53d80 copy: return the right error when we can't open a file 2016-05-02 11:15:30 +02:00
Lennart Poettering 8120ee28b8 image: enable btrfs quotas on the clone destination, not the source 2016-05-02 11:15:30 +02:00
Lennart Poettering 89c9030d31 util: rework sigkill_wait() to not require pid_t pointer
Let's make sigkill_wait() take a normal pid_t, and add sigkill_waitp() that
takes a pointer (which is useful for usage in _cleanup_), following the usual
logic we have for this.
2016-05-02 11:15:30 +02:00
Lennart Poettering 5659958529 machined: run clone operation asynchronously in the background
Cloning an image can be slow, if the image is not on a btrfs subvolume, hence
let's make sure we do this asynchronously in a child process, so that machined
isn't blocked as long as we process the client request.

This adds a new, generic "Operation" object to machined, that is used to track
these kind of background processes.

This is inspired by the MachineOperation object that already exists to make
copy operations asynchronous. A later patch will rework the MachineOperation
logic to use the generic Operation instead.
2016-05-02 11:15:30 +02:00
Evgeny Vereshchagin 33e40442c6 tests: add test for https://github.com/systemd/systemd/issues/2467 (#3168) 2016-05-02 10:57:19 +02:00
Zbigniew Jędrzejewski-Szmek 133e5b362f shared/install: refuse template files for non-templateable units
$ systemctl --root=/ enable templated@bar.mount
Unit type mount cannot be templated.
Failed to enable: Invalid argument.
2016-05-01 19:58:59 -04:00
Zbigniew Jędrzejewski-Szmek 6597fa6117 shared/install: warn about DefaultInstance in non-template units
[/etc/systemd/system/mnt-test.mount:6] DefaultInstance only makes sense for template units, ignoring.
2016-05-01 19:58:59 -04:00
Zbigniew Jędrzejewski-Szmek ce99c68a33 Move no_instances information to shared/
This way it can be used in install.c in subsequent commit.
2016-05-01 19:58:59 -04:00
Zbigniew Jędrzejewski-Szmek a772458901 shared/install: ignore Alias in [Install] of units which don't allow aliases
A downside is that a warning about missing [Install] is printed:
$ systemctl --root=/ enable mnt-test.mount
[/etc/systemd/system/mnt-test.mount:5] Aliases are not allowed for mount units, ignoring.
The unit files have no installation config (WantedBy, RequiredBy, Also, Alias
settings in the [Install] section, and DefaultInstance for template units).
This means they are not meant to be enabled using systemctl.
Possible reasons for having this kind of units are:
1) A unit may be statically enabled by being symlinked from another unit's
   .wants/ or .requires/ directory.
2) A unit's purpose may be to act as a helper for some other unit which has
   a requirement dependency on it.
3) A unit may be started when needed via activation (socket, path, timer,
   D-Bus, udev, scripted systemctl call, ...).
4) In case of template units, the unit is meant to be enabled with some
   instance name specified.

That's a bit misleading, but I don't see an easy way to fix this. But
the situation is similar for many other parsing errors, so maybe that's
OK.
2016-05-01 19:58:51 -04:00
Zbigniew Jędrzejewski-Szmek 8a993b61d1 Move no_alias information to shared/
This way it can be used in install.c in subsequent commit.
2016-05-01 19:40:51 -04:00
Lennart Poettering 6738873efc Merge pull request #3165 from evverx/tests-cleanups
tests,build-sys: some cleanups
2016-05-01 21:06:41 +02:00
Evgeny Vereshchagin a9c76ada08 catalog: rename RateLimitInterval= to RateLimitIntervalSec=
Follow-up for f0367da7d1

Closes #3158
2016-05-01 17:30:06 +00:00
Evgeny Vereshchagin cd4c260323 tests: use symlink to Makefile 2016-05-01 16:40:21 +00:00
Evgeny Vereshchagin 52c0bed3fb build-sys: add TEST-0[89]-* to dist
Follow-up for 91f9f8f1ba and 4f4d6ee4be
2016-05-01 16:30:53 +00:00
Franck Bui 7178cd76f2 build-sys: allow references to adm group to be omitted (#3150) 2016-05-01 00:02:17 -04:00
Zbigniew Jędrzejewski-Szmek bc1d8669b8 Merge pull request #3152 from poettering/aliasfix
Refuse aliases to non-aliasable units in more places

Fixes #2730.
2016-04-30 18:00:46 -04:00
Zbigniew Jędrzejewski-Szmek b79660e6ac architecture: Add nios2 (#3159)
Add nios2 architecture support. The nios2 is a softcore by Altera.
2016-04-30 17:07:34 -04:00
Zbigniew Jędrzejewski-Szmek 26ccc1d087 Merge pull request #3151 from keszybz/pr3149-2
Assorted fixes #3149 + one commit tacked on top
2016-04-29 14:27:23 -04:00
Zbigniew Jędrzejewski-Szmek 1c5ed0e2b4 Merge pull request #3148 from poettering/trigger
core: introduce activation rate limit and parse nice levels and close sockets properly
2016-04-29 14:27:04 -04:00
Lennart Poettering f4bf8d2f45 man: document that some unit types do not support unit aliases via symlinks 2016-04-29 18:06:12 +02:00
Lennart Poettering a837f08803 core: when encountering a symlink alias for non-aliasable units warn nicely
If the user defines a symlink alias for a unit whose type does not support
aliasing, detect this early and print a nice warning.

Fixe: #2730
2016-04-29 18:06:12 +02:00
Lennart Poettering 454f0f8680 hashmap: optimize set_put_strdup() a bit
Hashing should be quicker than allocating, hence let's first check if the
string already exists and only then allocate a new copy for it.
2016-04-29 17:35:32 +02:00
Lennart Poettering 934e749e18 core: refuse merging on units when the unit type does not support alias
The concept of merging units exists so that we can create Unit objects for a
number of names early, and then load them only later, possibly merging units
which then turn out to be symlinked to other names. This of course only makes
sense for unit types where multiple names per unit are supported. For all
others, let's refuse the merge operation early.
2016-04-29 17:31:02 +02:00
Lennart Poettering f9bf1b8fee update TODO 2016-04-29 16:27:49 +02:00
Lennart Poettering 5cc3985ed1 core: merge service_connection_unref() into service_close_socket_fd()
We always call one after the other anyway, and this way service_set_socket_fd()
and service_close_socket_fd() nicely match each other as one undoes the effect
of the other.
2016-04-29 16:27:49 +02:00
Lennart Poettering b75102e5bf core: rerun GC logic for a unit that loses a reference
Let's make sure when we drop a reference to a unit, that we run the GC queue on
it again.

This (together with the previous commit) should deal with the GC issues pointed
out in:

https://github.com/systemd/systemd/pull/2993#issuecomment-215331189
2016-04-29 16:27:49 +02:00
Lennart Poettering e4f673174e core: rework socket/service GC logic
There's no need to set the no_gc bit for service units that socket units
prepare, as we always keep a proper reference (as maintained by unit_ref_set())
on them, and such references are honoured by the GC logic anyway. Moreover,
explicitly setting the no_gc bit is problematic if the socket gets GC'ed for a
reason, as the service might then leak with the bit set.
2016-04-29 16:27:49 +02:00
Lennart Poettering bb5049ae24 hwdb: add missing newline so the hwdb buils correctly again 2016-04-29 16:27:49 +02:00
Lennart Poettering 18e854f8e5 socket: really always close auxiliary fds when closing socket fds 2016-04-29 16:27:49 +02:00
Lennart Poettering 2985700185 core: make parsing of RLIMIT_NICE aware of actual nice levels 2016-04-29 16:27:49 +02:00
Lennart Poettering 3e7a1f50e4 core: make sure to close connection fd when we fail to activate a per-connection service
Fixes: #2993 #2691
2016-04-29 16:27:48 +02:00
Lennart Poettering 7f2fbbff06 core: minor error path fix
In service_set_socket_fd(), let's make sure that if we can't add the requested
dependencies we take no possession of the passed connection fd.

This way, we follow the strict rule: we take possession of the passed fd on
success, but on failure we don't, and the fd remains in possession of the
caller.
2016-04-29 16:27:48 +02:00