Commit graph

22888 commits

Author SHA1 Message Date
Lennart Poettering 5fb13eb51b tmpfiles: introduce "q" and "Q" for creating quota-enabled btrfs subvolumes
This allows us to set up the quota group hierarchy in a reasonable way
on btrfs file systems.
2015-10-22 01:59:25 +02:00
Lennart Poettering 8c9cfc2844 import: when downloading images, create a subtree quota group for them 2015-10-22 01:59:25 +02:00
Lennart Poettering 5bcd08db28 btrfs: beef-up btrfs support with a limited understanding of quota
With this change we understand more than just leaf quota groups for
btrfs file systems. Specifically:

- When we create a subvolume we can now optionally add the new subvolume
  to all qgroups its parent subvolume was member of too. Alternatively
  it is also possible to insert an intermediary quota group between the
  parent's qgroups and the subvolume's leaf qgroup, which is useful for
  a concept of "subtree" qgroups, that contain a subvolume and all its
  children.

- The remove logic for subvolumes has been updated to optionally remove
  any leaf qgroups or "subtree" qgroups, following the logic above.

- The snapshot logic for subvolumes has been updated to replicate the
  original qgroup setup of the source, if it follows the "subtree"
  design described above. It will not cover qgroup setups that introduce
  arbitrary qgroups, especially those orthogonal to the subvolume
  hierarchy.

This also tries to be more graceful when setting up /var/lib/machines as
btrfs. For example, if mkfs.btrfs is missing we don't even try to set it
up as loopback device.

Fixes #1559
Fixes #1129
2015-10-22 01:59:25 +02:00
Lennart Poettering 16597ac390 logind: minor clean-ups 2015-10-22 01:59:24 +02:00
Lennart Poettering 5b7481633f systemctl: the various list commands actually can take any number of arguments
I accidentally broke this a while back when I ported systemctl to the
verbs logic.

Add support for this back.
2015-10-22 01:59:24 +02:00
Lennart Poettering ac7edd9167 util: improve dir_is_empty() call
Simplify the call, and add dir_is_populated() as inverse call, in order
to make some checks easier to read.
2015-10-22 01:59:24 +02:00
Lennart Poettering 2dcc3c69a1 Merge pull request #1639 from alkino/master
core dbus: Check that flush works with memstream
2015-10-21 21:01:21 +02:00
Nicolas Cornu 1f2f874c3c core dbus: Check that flush works with memstream 2015-10-21 18:17:12 +02:00
Lennart Poettering 91839b49dd Merge pull request #1637 from alkino/master
shell-completion: systemd-run: add new property EnvironmentFile
2015-10-21 16:38:35 +02:00
Nicolas Cornu 7e7cd2526d shell-completion: systemd-run: add new property EnvironmentFile 2015-10-21 16:18:59 +02:00
Lennart Poettering 8b5f5c27fe Merge pull request #1632 from evverx/fix-namespace-parsing
core: fix namespace parsing
2015-10-21 15:56:48 +02:00
Lennart Poettering 1930cadcd6 Merge pull request #1636 from alkino/master
Add zsh completion on systemd-run's properties
2015-10-21 15:55:31 +02:00
Nicolas Cornu 5ffd7671cc Add zsh completion on systemd-run's properties 2015-10-21 15:51:09 +02:00
Evgeny Vereshchagin 5268dcef5a core: fix namespace parsing
ReadOnlyDirectories=-/ works fine
2015-10-21 11:49:36 +00:00
Lennart Poettering 5e4cecfb67 Merge pull request #1623 from evverx/run-rw-ro-ia-dirs
systemd-run can launch units with ReadWriteDirectories, ReadOnlyDirectories, InaccessibleDirectories
2015-10-21 12:08:44 +02:00
Lennart Poettering 27f9eda40a Merge pull request #1626 from teg/networkd
networkd: assorted fixes
2015-10-21 12:07:08 +02:00
Tom Gundersen 84de38c569 networkd: manager/link - only serialize once per event-loop iteration
Every time the state is written out we may trigger third-party apps, so
let's be a bit more careful about writing this out unnecessarily.
2015-10-21 03:24:23 +02:00
Tom Gundersen e7780c8d44 networkd: link - serialize addresses 2015-10-21 03:24:23 +02:00
Tom Gundersen bb7ae737a3 networkd: route - add hash_ops 2015-10-21 03:24:23 +02:00
Tom Gundersen ed9e361a8a networkd: route - simplify route_new() 2015-10-21 03:24:23 +02:00
Tom Gundersen adda1ed94a networkd: address - distinguish between addresses added by us and by others
We only keep the addresses that we added ourselves in link->addresses, and
introduce a new set link->addresses_foreign to keep addresses of unknown
origin.

Only functional change is that "foreign" addresses no longer prevent a link
from entering "configured" state.
2015-10-21 02:35:31 +02:00
Tom Gundersen fcf50cff12 networkd: address - rework firewall rules lifetime
Establish the firewall rule before creating the address, and do not create the address
if the firewall rule could not be created. Also, only drop the firewall rule once
the address has been removed from the kernel.
2015-10-21 02:35:31 +02:00
Tom Gundersen 6666907869 networkd: address - merge _change() into _configure()
These functions are almost entirely the same, so avoid duplication.
2015-10-21 02:35:31 +02:00
Tom Gundersen 36c32f6120 networkd: address - factor out address_update()
Call back into link_check_ready() whenever an address state change may have
made a link ready.
2015-10-21 02:35:31 +02:00
Tom Gundersen 8012cd3919 networkd: link - only consider configured when all addresses are ready
We were considering a link configured whilst its IPv6 addresses were still
tentative.

Fixes issue #650.
2015-10-21 02:35:31 +02:00
Evgeny Vereshchagin 64a713d94d shell-completion: systemd-run: add new properties
"ReadWriteDirectories", "ReadOnlyDirectories", "InaccessibleDirectories"
2015-10-20 22:03:49 +00:00
Evgeny Vereshchagin 08596068d7 run: can launch units with ReadWriteDirectories, ReadOnlyDirectories, InaccessibleDirectories 2015-10-20 22:03:43 +00:00
Ronny Chevalier bf3ee9cdc9 Merge pull request #1622 from phomes/unused-variable
dbus-execute: remove unused variable
2015-10-20 19:48:27 +02:00
Thomas Hindoe Paaboel Andersen 9ecc70db1e dbus-execute: remove unused variable
from ceb728cf
2015-10-20 19:39:31 +02:00
Lennart Poettering f73e8b9caf Merge pull request #1616 from evverx/run-fix-environment-parsing
run: fix Environment parsing
2015-10-20 15:26:19 +02:00
Tom Gundersen 14a081a0ff Merge pull request #1538 from ssahani/ipv62
networkd: add support to configure IPv6 DAD
2015-10-20 14:59:27 +02:00
Evgeny Vereshchagin e9876fc9c5 run: fix Environment parsing
* `Environment=` resets previous assignments
* `Environment='a=1 b=2'` sets `a` to `1` and `b` to `2`
* `Environment='"a=1 2" b=2"'` sets `a` to `1 2` and `b` to `2`
2015-10-20 12:55:07 +00:00
Lennart Poettering c91960c5a0 Merge pull request #1619 from iaguis/nspawn-sysfs-netns-3
nspawn: skip /sys-as-tmpfs if we don't use private-network
2015-10-20 12:22:32 +02:00
Daniel Mack 824b35c385 Merge pull request #1568 from poettering/netclass
various fixes, for various things
2015-10-20 10:31:38 +02:00
Iago López Galeiras d167824896 nspawn: skip /sys-as-tmpfs if we don't use private-network
Since v3.11/7dc5dbc ("sysfs: Restrict mounting sysfs"), the kernel
doesn't allow mounting sysfs if you don't have CAP_SYS_ADMIN rights over
the network namespace.

So the mounting /sys as a tmpfs code introduced in
d8fc6a000f doesn't work with user
namespaces if we don't use private-net. The reason is that we mount
sysfs inside the container and we're in the network namespace of the host
but we don't have CAP_SYS_ADMIN over that namespace.

To fix that, we mount /sys as a sysfs (instead of tmpfs) if we don't use
private network and ignore the /sys-as-a-tmpfs code if we find that /sys
is already mounted as sysfs.

Fixes #1555
2015-10-20 10:19:23 +02:00
Lennart Poettering 2229f65667 dbus-execute: some cleanups when parsing EnvironmentFiles= for transient units 2015-10-19 23:43:19 +02:00
Zbigniew Jędrzejewski-Szmek ab84f5b95e strv: Add _cleanup_strv_free_erase_ and _cleanup_string_free_erase_ 2015-10-19 23:13:07 +02:00
Lennart Poettering 1602b00853 tree-wide: whenever we deal with passwords, erase them from memory after use
A bit snake-oilish, but can't hurt.
2015-10-19 23:13:07 +02:00
Lennart Poettering 0245cf8167 core: actually set pids_max field after parsing it
Fixes one of the issues pointed out in #1522.
2015-10-19 23:13:06 +02:00
Lennart Poettering 09eba4d46b journald: make sure r is always initialized 2015-10-19 23:07:18 +02:00
Lennart Poettering 3741b696f4 journal: fix bad memory freeing 2015-10-19 23:07:18 +02:00
Lennart Poettering ac5b0c13d8 tree-wide: add more void casts for various syscall invocations 2015-10-19 23:07:18 +02:00
Lennart Poettering 4b4cb0a1ff core: fix type of NetClass dbus property
it's exposed as uint32_t and it is internally an uint32_t, hence no need
to treat it as an unsigned.
2015-10-19 23:07:18 +02:00
Lennart Poettering d817000dea man: move documentation about NetClass from systemd.unit(5) to systemd.resource-control(5)
This is after all where we expose all the other cgroup props, especially
those that can be adjusted dynamically.
2015-10-19 23:07:18 +02:00
Lennart Poettering ec566e4c7c update CODING_STYLE 2015-10-19 22:31:58 +02:00
Lennart Poettering 3efc8c72f0 update TODO 2015-10-19 22:30:11 +02:00
Lennart Poettering d89093334b Merge pull request #1614 from alkino/master
Hook more properties for transient units
2015-10-19 22:09:10 +02:00
Lennart Poettering c6777a8f7f Merge pull request #1613 from phomes/unused-functions-2
tree-wide: remove unused functions
2015-10-19 22:06:06 +02:00
Nicolas Cornu ceb728cf0f Hook more properties for transient units
systemd-run can now launch units with EnvironmentFile set.
2015-10-19 21:58:01 +02:00
Thomas Hindoe Paaboel Andersen b250ea2fd6 tree-wide: remove unused functions 2015-10-19 21:46:01 +02:00