Lennart Poettering [Fri, 20 May 2016 16:53:11 +0000 (18:53 +0200)]
Merge pull request #3290 from htejun/cgroup2-io-compat
Implement compat translation between IO* and BlockIO* settings
Tom Gundersen [Fri, 20 May 2016 15:27:58 +0000 (17:27 +0200)]
Merge pull request #3235 from dkg/hwaddr-cleanup
minor improvements for dealing with MAC Addresses
Jonathan Boulle [Fri, 20 May 2016 14:20:00 +0000 (16:20 +0200)]
core/dbus: revert oversimplification (#3309)
free_and_strdup handles NULL but not empty strings.
See also:
https://github.com/systemd/systemd/pull/3283#issuecomment-
220603145
https://github.com/systemd/systemd/pull/3307
Zbigniew Jędrzejewski-Szmek [Fri, 20 May 2016 13:12:42 +0000 (09:12 -0400)]
Make the fix for net/if.h fuckup even worse (#3287)
The original conflict is fixed in the kernel in
v4.6-rc7-40-g4a91cb61bb,
but now our work-around causes a compilation failure.
Keep the workaround to support 4.5 kernels for now, and layer
more ugliness on top.
Tested with:
kernel-headers-4.6.0-1.fc25.x86_64
glibc-devel-2.23.90-18.fc25.x86_64
kernel-headers-4.5.4-300.fc24.x86_64
glibc-devel-2.23.1-7.fc24.x86_64
kernel-headers-4.4.9-300.fc23.x86_64
glibc-devel-2.22-16.fc23.x86_64
kernel-headers-4.1.13-100.fc21.x86_64
glibc-devel-2.20-8.fc21.x86_64
Zbigniew Jędrzejewski-Szmek [Fri, 20 May 2016 13:11:58 +0000 (09:11 -0400)]
resolved: fix accounting of dns serves on a link (#3291)
After a few link up/down events I got this warning:
May 17 22:05:10 laptop systemd-resolved[2983]: Failed to read DNS servers for interface wlp3s0, ignoring: Argument list too long
Jonathan Boulle [Fri, 20 May 2016 13:09:14 +0000 (15:09 +0200)]
core/dbus: expose SELinuxContext property (#3284)
Adds support to core for systemd D-Bus clients to send the
`SELinuxContext` property . This means `systemd-run -p
SELinuxContext=foo` should now work.
Evgeny Vereshchagin [Fri, 20 May 2016 13:08:24 +0000 (16:08 +0300)]
basic: remove rm_rf_and_free, add rm_rf_physical_and_free, use rm_rf_physical_and_freep in tests (#3292)
Some distros don't mount /tmp as tmpfs.
For example:
https://lists.ubuntu.com/archives/ubuntu-cloud/2016-January/001009.html
Some tests:
* print 'Attempted to remove disk file system, and we can't allow that.'
* don't really cleanup /tmp
Thomas H. P. Andersen [Fri, 20 May 2016 13:04:01 +0000 (15:04 +0200)]
NEWS: typo fix and american english (#3301)
sadag [Fri, 20 May 2016 11:26:27 +0000 (04:26 -0700)]
sd-dhcp-client: fix busy loop reading zero sized DHCP UDP packets. (#3299)
Zbigniew Jędrzejewski-Szmek [Thu, 19 May 2016 19:08:41 +0000 (15:08 -0400)]
systemctl: suppress no-[Install] hint when --quiet is used (#3295)
https://bugzilla.redhat.com/show_bug.cgi?id=
1336960
Franck Bui [Thu, 19 May 2016 14:37:04 +0000 (16:37 +0200)]
systemctl: reload configuration when enabling sysv units too (#3297)
After enabling/disabling a unit, the daemon configuration is expected
to be unless '--no-reload' option is passed.
However this is not done when enabling a sysv units. This can lead to
the following scenario:
$ cp /etc/init.d/named /etc/init.d/foo
$ systemctl enable foo
foo.service is not a native service, redirecting to systemd-sysv-install
Executing /usr/lib/systemd/systemd-sysv-install enable foo
$ systemctl start foo
Failed to start foo.service: Unit foo.service failed to load: No such file or directory.
This can also be seen after installing a package providing a sysv
service: the service can't be started unless 'daemon-reload' is called
manually. This shouldn't be needed and this patch will fix this case
too since during package installation, the service is expected to be
enabled/disabled.
tblume [Thu, 19 May 2016 14:35:27 +0000 (16:35 +0200)]
systemctl: restore the no-sync option for legacy halt (#3249)
The sync() call on shutdown had been removed with commit
57371e5829a61e5ee6c9f98404dfc729d6c62608
together with the no-sync option for the shutdown commands.
The sync call was restored in commit
4a3ad39957399c4a30fc472a804e72907ecaa4f9 but the no-sync option
wasn't re-added.
I think we should restore this option at least for the legacy halt command.
Zbigniew Jędrzejewski-Szmek [Thu, 19 May 2016 13:38:00 +0000 (09:38 -0400)]
Merge pull request #3293 from michaelolbrich/partuuid
rules: add /dev/disk/by-partuuid symlinks also for dos partition tables
Uwe Kleine-König [Mon, 9 May 2016 09:24:55 +0000 (11:24 +0200)]
rules: add /dev/disk/by-partuuid symlinks also for dos partition tables
blkid reports PARTUUID values also for partitions that are defined by a
dos partitioning scheme. Instead of limiting the partitioning scheme to
"gpt or dos" just drop the test for the partitioning scheme and trust
blkid to do the right thing.
Zbigniew Jędrzejewski-Szmek [Thu, 19 May 2016 04:11:20 +0000 (00:11 -0400)]
NEWS: mention SessionsMax, InhibitorsMax, MulticastSnooping...
... logind SIGHUP support, sd_journal_open_{directory,files}_fd,
specifiers in DeviceAllow, "generated" and "trasnient" unit types.
Move removed features to the end and cluster features by type.
Jonathan Boulle [Thu, 19 May 2016 00:54:22 +0000 (02:54 +0200)]
core/dbus: further simplify branch code (#3283)
free_and_strdup already handles the NULL case for us, so we can remove
an extraneous conditional check.
As noted in https://github.com/systemd/systemd/pull/3279/files#r63687717
Tejun Heo [Thu, 19 May 2016 00:35:12 +0000 (17:35 -0700)]
core: translate between IO and BlockIO settings to ease transition
Due to the substantial interface changes in cgroup unified hierarchy, new IO
settings are introduced. Currently, IO settings apply only to unified
hierarchy and BlockIO to legacy. While the transition is necessary, it's
painful for users to have to provide configs for both. This patch implements
translation from one config set to another for configs which make sense.
* The translation takes place during application of the configs. Users won't
see IO or BlockIO settings appearing without being explicitly created.
* The translation takes place only if there is no config for the matching
cgroup hierarchy type at all.
While this doesn't provide comprehensive compatibility, it should considerably
ease transition to the new IO settings which are a superset of BlockIO
settings.
v2:
- Update test-cgroup-mask.c so that it accounts for the fact that
CGROUP_MASK_IO and CGROUP_MASK_BLKIO move together. Also, test/parent.slice
now sets IOWeight instead of BlockIOWeight.
Tejun Heo [Wed, 18 May 2016 20:51:46 +0000 (13:51 -0700)]
core: factor out io and blkio helper functions from cgroup_context_apply()
Factor out the following functions out of cgroup_context_apply()
* cgroup_context_[blk]io_weight()
* cgroup_apply_[blk]io_device_weight()
* cgroup_apply_[blk]io_device_limit()
This is pure refactoring and shouldn't cause any functional differences.
Tejun Heo [Wed, 18 May 2016 20:51:46 +0000 (13:51 -0700)]
core: update CGroupBlockIODeviceBandwidth to record both rbps and wbps
CGroupBlockIODeviceBandwith is used to keep track of IO bandwidth limits for
legacy cgroup hierarchies. Unlike the unified hierarchy counterpart
CGroupIODeviceLimit, a CGroupBlockIODeviceBandwiddth records either a read or
write limit and has a couple issues.
* There's no way to clear specific config entry.
* When configs are cleared for an IO direction of a unit, the kernel settings
aren't cleared accordingly creating discrepancies.
This patch updates CGroupBlockIODeviceBandwidth so that it behaves similarly to
CGroupIODeviceLimit - each entry records both rbps and wbps limits and is
cleared if both are at default values after kernel settings are updated.
Tejun Heo [Wed, 18 May 2016 20:50:56 +0000 (13:50 -0700)]
core: add support for IOReadIOPSMax and IOWriteIOPSMax
cgroup IO controller supports maximum limits for both bandwidth and IOPS but
systemd resource control currently only supports bandwidth limits. This patch
adds support for IOReadIOPSMax and IOWriteIOPSMax when unified cgroup hierarchy
is in use.
It isn't difficult to also add BlockIOReadIOPS and BlockIOWriteIOPS for legacy
hierarchies but IO control on legacy hierarchies is half-broken anyway, so
let's leave it alone for now.
Tejun Heo [Wed, 18 May 2016 20:50:56 +0000 (13:50 -0700)]
core: introduce CGroupIOLimitType enums
Currently, there are two cgroup IO limits, bandwidth max for read and write,
and they are hard-coded in various places. This is fine for two limits but IO
is expected to grow more limits - low, high and max limits for bandwidth and
IOPS - and hard-coding each limit won't make sense.
This patch replaces hard-coded limits with an array indexed by
CGroupIOLimitType and accompanying string and default value tables so that new
limits can be added trivially.
Zbigniew Jędrzejewski-Szmek [Wed, 18 May 2016 03:26:15 +0000 (23:26 -0400)]
hwdb: run "make hwdb-udate" (#3280)
Susant Sahani [Wed, 18 May 2016 02:59:56 +0000 (08:29 +0530)]
networkd: do not update state or IPv6LL address if link is failed or lingering
This is partial fix for #2228 and #2977, #3204.
bridge-test: netdev ready
docker0: Gained IPv6LL
wlan0: Gained IPv6LL
eth0: Gained IPv6LL
Enumeration completed
bridge-test: netdev exists, using existing without changing its
parameters
vboxnet0: IPv6 enabled for interface: Success
lo: Configured
docker0: Could not drop address: No such process
vboxnet0: Gained carrier
wlan0: Could not drop address: No such process
eth0: Could not drop address: No such process
eth0: Could not drop address: No such process
eth0: Could not drop address: No such process
vboxnet0: Gained IPv6LL
vboxnet0: Could not set NDisc route or address: Invalid argument
vboxnet0: Failed
[New Thread 0x7ffff6505700 (LWP 1111)]
[Thread 0x7ffff6505700 (LWP 1111) exited]
Assertion 'link->state == LINK_STATE_SETTING_ROUTES' failed at
src/network/networkd-link.c:672, function link_enter_configured().
Aborting.
Program received signal SIGABRT, Aborted.
0x00007ffff6dc6a98 in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: dnf debuginfo-install
iptables-1.4.21-15.fc23.x86_64 libattr-2.4.47-14.fc23.x86_64
libidn-1.32-1.fc23.x86_64 pcre-8.38-7.fc23.x86_64
Debugging
(gdb) bt
"link->state == LINK_STATE_SETTING_ROUTES", file=0x5555556a34c8
"src/network/networkd-link.c", line=672,
func=0x5555556a56d0 <__PRETTY_FUNCTION__.14850>
"link_enter_configured") at src/basic/log.c:788
src/network/networkd-link.c:672
src/network/networkd-link.c:720
flags=0 '\000', scope=0 '\000', cinfo=0x7fffffffe020) at
src/network/networkd-address.c:344
(rtnl=0x5555556eded0, message=0x55555570ff20, userdata=0x5555556ec590)
at src/network/networkd-manager.c:604
m=0x55555570ff20) at src/libsystemd/sd-netlink/sd-netlink.c:365
at src/libsystemd/sd-netlink/sd-netlink.c:395
ret=0x0) at src/libsystemd/sd-netlink/sd-netlink.c:429
revents=1, userdata=0x5555556eded0) at
src/libsystemd/sd-netlink/sd-netlink.c:723
src/libsystemd/sd-event/sd-event.c:2268
src/libsystemd/sd-event/sd-event.c:2629
timeout=
18446744073709551615) at src/libsystemd/sd-event/sd-event.c:2688
bus=0x5555556eeba0, name=0x55555568a2f5 "org.freedesktop.network1",
timeout=
30000000,
check_idle=0x55555556adb6 <manager_check_idle>,
userdata=0x5555556ec590) at src/shared/bus-util.c:134
src/network/networkd-manager.c:1130
src/network/networkd.c:127
(gdb) f 3
src/network/networkd-link.c:672
672 assert(link->state == LINK_STATE_SETTING_ROUTES);
(gdb) p link->state
$1 = LINK_STATE_FAILED
We should not be in this state .
even if vboxnet0 failed we went into this state.
vboxnet0: Could not set NDisc route or address: Invalid argument
vboxnet0: Failed
Susant Sahani [Wed, 18 May 2016 01:36:43 +0000 (07:06 +0530)]
networkd: add route expiration handler (#3242)
Fix for #3232.
Peter Mattern [Mon, 16 May 2016 09:56:04 +0000 (11:56 +0200)]
coredump: Improve man pages
Clemens Gruber [Tue, 17 May 2016 23:34:25 +0000 (01:34 +0200)]
networkd: Add EmitRouter= option for DHCP Server (#3251)
Add an option to disable appending DHCP option 3 (Router) to the DHCP
OFFER and ACK packets.
This commit adds the boolean option EmitRouter= for the [DHCPServer]
section in .network files.
Rationale: On embedded devices, it is very useful to have a DHCP server
running on an USB OTG ethernet gadget interface to avoid manual setup on
the client PCs, but it should only serve IP addresses, no route(r)s.
Otherwise, Windows clients experience network connectivity issues, due
to them using the address set in DHCP option 3 as default gateway.
Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
Jonathan Boulle [Tue, 17 May 2016 23:30:37 +0000 (01:30 +0200)]
core/dbus: use free_and_strdup to simplify code (#3279)
Makes it consistent with the other branches here.
Daniel Kahn Gillmor [Tue, 17 May 2016 20:43:36 +0000 (16:43 -0400)]
network: rely on ether_addr_from_string instead of sscanf
Daniel Kahn Gillmor [Tue, 17 May 2016 15:00:29 +0000 (11:00 -0400)]
util-lib: add ether_addr_from_string()
This isn't quite symmetrical to in_addr_from_string() because it also returns
an offset indicating how much of the string was consumed by the matched
pattern. This offset reporting is needed for either of the following use
cases:
* verifying the lack of trailing garbage after such an address
* parsing subsequent data from the same string
Daniel Kahn Gillmor [Tue, 17 May 2016 13:44:32 +0000 (09:44 -0400)]
basic: define HEXDIGITS
define HEXDIGITS alongside DIGITS, and use it where it's already useful. We'll
use it again shortly when parsing MAC addresses.
Daniel Kahn Gillmor [Tue, 17 May 2016 12:01:01 +0000 (08:01 -0400)]
network: test MAC address parsing
networkd currently silently accepts some strings as MAC addresses that it
probably shouldn't (like "ab:cd:ef:12:34:56:78" and "ab:cd:ef:12:3 4:56").
Add tests to MAC address parsing to ensure that we only accept valid MAC
addresses, and that we accept the three most common forms of MAC address
(colon-delimited hex, IEEE, and Cisco)
Several of these tests currently fail, but another commit in this series will
resolve them.
Daniel Kahn Gillmor [Sun, 8 May 2016 19:58:34 +0000 (15:58 -0400)]
man: clarify different uses of MACAddress
Improve the networkd documentation to clarify that Match.MACAddress is for
selection, but Link.MACAddress describes an action to be taken.
Marcel Holtmann [Tue, 17 May 2016 16:52:37 +0000 (18:52 +0200)]
hwdb: Update database of Bluetooth company identifiers
Lennart Poettering [Tue, 17 May 2016 08:27:26 +0000 (10:27 +0200)]
vconsole: add log_oom() where appropriate
Lennart Poettering [Tue, 17 May 2016 08:12:30 +0000 (10:12 +0200)]
Merge pull request #3258 from keszybz/small-networkd-cleanup
Small networkd cleanup
Lennart Poettering [Mon, 16 May 2016 21:07:08 +0000 (23:07 +0200)]
update NEWS
Lennart Poettering [Mon, 16 May 2016 20:48:45 +0000 (22:48 +0200)]
man: clarify that IOXyz= only applies to the unified hierarchy, and BlockIOXyz= to the legacy hierarchy
With this change for each setting we say which hierarachy it applies to briefly
in the first sentence of the description, plus in longer form in an extra
pargraph at the end, with a recommendation for the counterpart of the option in
the other hierarchy.
Also adds markup and the "=" suffix to all mentioned settings.
Lennart Poettering [Mon, 16 May 2016 20:18:39 +0000 (22:18 +0200)]
update TODO
Lennart Poettering [Mon, 16 May 2016 20:05:27 +0000 (22:05 +0200)]
Merge pull request #3193 from htejun/cgroup-io-controller
core: add io controller support on the unified hierarchy
Zbigniew Jędrzejewski-Szmek [Mon, 16 May 2016 19:44:35 +0000 (15:44 -0400)]
CONTRIBUTING: recommend force-push (#3273)
John Paul Adrian Glaubitz [Mon, 16 May 2016 19:25:36 +0000 (21:25 +0200)]
basic: Fix incorrect architecture mapping on sparc64. (#3274)
Michal Sekletar [Mon, 16 May 2016 15:24:51 +0000 (17:24 +0200)]
core: don't log job status message in case job was effectively NOP (#3199)
We currently generate log message about unit being started even when
unit was started already and job didn't do anything. This is because job
was requested explicitly and hence became anchor job of the transaction
thus we could not eliminate it. That is fine but, let's not pollute
journal with useless log messages.
$ systemctl start systemd-resolved
$ systemctl start systemd-resolved
$ systemctl start systemd-resolved
Current state:
$ journalctl -u systemd-resolved | grep Started
May 05 15:31:42 rawhide systemd[1]: Started Network Name Resolution.
May 05 15:31:59 rawhide systemd[1]: Started Network Name Resolution.
May 05 15:32:01 rawhide systemd[1]: Started Network Name Resolution.
After patch applied:
$ journalctl -u systemd-resolved | grep Started
May 05 16:42:12 rawhide systemd[1]: Started Network Name Resolution.
Fixes #1723
Stefan Saraev [Mon, 16 May 2016 14:58:46 +0000 (17:58 +0300)]
missing.h: add BTRFS_IOC_QUOTA_RESCAN_WAIT (#3266)
Kyle Russell [Mon, 16 May 2016 14:41:30 +0000 (09:41 -0500)]
vconsole-setup: Store fonts on heap (#3268)
More friendly to the stack.
Peter Hutterer [Mon, 16 May 2016 02:35:47 +0000 (12:35 +1000)]
hwdb: add touchpad resolution for Lenovo E530 (#3265)
https://bugs.freedesktop.org/show_bug.cgi?id=95231
topimiettinen [Mon, 16 May 2016 02:34:05 +0000 (02:34 +0000)]
namespace: Make private /dev noexec and readonly (#3263)
Private /dev will not be managed by udev or others, so we can make it
noexec and readonly after we have made all device nodes. As /dev/shm
needs to be writable, we can't use bind_remount_recursive().
gdamjan [Mon, 16 May 2016 01:43:00 +0000 (03:43 +0200)]
/var/tmp instead of /tmp/var in systemd.unit man page (#3262)
Andre Klärner [Mon, 16 May 2016 01:40:52 +0000 (03:40 +0200)]
man: fix typo (#3261)
Zbigniew Jędrzejewski-Szmek [Sun, 15 May 2016 14:46:17 +0000 (10:46 -0400)]
sd-dhcp6-client: add log_errno macro and improve debug messages a bit
Zbigniew Jędrzejewski-Szmek [Sun, 15 May 2016 14:22:40 +0000 (10:22 -0400)]
tree-wide: drop spurious "&"s when passing functions around
Also adjust indentation in various places.
Susant Sahani [Sun, 15 May 2016 13:45:30 +0000 (19:15 +0530)]
networkd: do not generate a mac address for vlan interfaces (#3221)
While creating a VLAN the mac address should be copied from the parent interface, so that
the VLANs inherit the MAC address of the physical interface.
Before:
```
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:26:c6:85:a3:c2 brd ff:ff:ff:ff:ff:ff
...
6: vlan1@wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 22:07:73:9d:43:59 brd ff:ff:ff:ff:ff:ff
7: vlan2@wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 46:30:76:33:35:d4 brd ff:ff:ff:ff:ff:ff
```
After:
```
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:26:c6:85:a3:c2 brd ff:ff:ff:ff:ff:ff
...
11: vlan1@wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:26:c6:85:a3:c2 brd ff:ff:ff:ff:ff:ff
12: vlan2@wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:26:c6:85:a3:c2 brd ff:ff:ff:ff:ff:ff
```
v2 of #1573, with fixed commit message.
Susant Sahani [Sun, 15 May 2016 13:15:20 +0000 (18:45 +0530)]
networkd: bridge add support to configure multicast snooping (#3223)
This patch implements support for the IFLA_BR_MCAST_SNOOPING attribute
it can change the multicast snooping value.
IGMP snooping monitors the Internet Group Management Protocol (IGMP)
traffic between hosts and multicast routers.
Zbigniew Jędrzejewski-Szmek [Sat, 14 May 2016 20:47:59 +0000 (16:47 -0400)]
networkd: fix copy-pasto in error message
Zbigniew Jędrzejewski-Szmek [Sat, 14 May 2016 20:46:01 +0000 (16:46 -0400)]
networkd: drop route_drop
It is just an alias for route_free which requires that route is not null,
but it was only used in one place where it was checked that route is not
null anyway. Let's just call route_free instead.
Lars Uebernickel [Sat, 14 May 2016 20:10:22 +0000 (22:10 +0200)]
busctl: use Monitoring interface (#3245)
This is now the recommended way to do monitoring by upstream D-Bus.
It's also allowed in the default policy, whereas eavesdrop is not
anymore, which effectively broke busctl on many systems.
Tejun Heo [Sat, 14 May 2016 19:56:53 +0000 (15:56 -0400)]
core: allow slice to be overriden if cgroups aren't realized (#3246)
unit_set_slice() fails with -EBUSY if the unit already has a slice associated
with it. This makes it impossible to override slice through dropin config or
over dbus. There's no reason to disallow slice changes as long as cgroups
aren't realized. Fix it.
Fixes #3240.
Signed-off-by: Tejun Heo <htejun@fb.com>
Reported-by: Davide Cavalca <dcavalca@fb.com>
Zbigniew Jędrzejewski-Szmek [Sat, 14 May 2016 16:52:59 +0000 (12:52 -0400)]
Merge pull request #3253 from alshopov/master
Bulgarian translation of systemd
topimiettinen [Sat, 14 May 2016 16:46:23 +0000 (16:46 +0000)]
namespace: unmount old /dev under our new private /dev (#3254)
Drop all dangling old /dev mounts before mounting a new private /dev tree.
Alexander Shopov [Sat, 14 May 2016 11:00:02 +0000 (14:00 +0300)]
Sort LINGUAS similar to Makefile.am:dist_catalog_DATA
Alexander Shopov [Wed, 11 May 2016 07:02:04 +0000 (10:02 +0300)]
po, catalog - add Bulgarian translation
Lennart Poettering [Thu, 12 May 2016 18:14:58 +0000 (20:14 +0200)]
nspawn: drop spurious newline
Lennart Poettering [Thu, 12 May 2016 18:14:46 +0000 (20:14 +0200)]
update TODO
kayrus [Thu, 12 May 2016 16:58:59 +0000 (18:58 +0200)]
core: added ListUnitsByNames dbus method (#3182)
This new method returns information by unit names. Instead of ListUnitsByPatterns
this method returns information of inactive and even unexisting units.
Moved dbus unit reply logic into a separate shared function.
Resolves https://github.com/coreos/fleet/pull/1418
Daniel Drake [Thu, 12 May 2016 16:42:39 +0000 (10:42 -0600)]
Create initrd-root-device.target synchronization point (#3239)
Add a synchronization point so that custom initramfs units can run
after the root device becomes available, before it is fsck'd and
mounted.
This is useful for custom initramfs units that may modify the
root disk partition table, where the root device is not known in
advance (it's dynamically selected by the generators).
Victor Toso [Wed, 11 May 2016 17:34:13 +0000 (19:34 +0200)]
logind: introduce LockedHint and SetLockedHint (#3238)
Desktop environments can keep this property up to date to allow
applications to easily track session's Lock status.
Evgeny Vereshchagin [Wed, 11 May 2016 12:29:24 +0000 (15:29 +0300)]
coredump: use next_datagram_size_fd instead of ioctl(FIONREAD) (#3237)
We need to be sure that the size returned here actually matches what we will read with recvmsg() next
Fixes #2984
Lennart Poettering [Tue, 10 May 2016 14:44:29 +0000 (16:44 +0200)]
Merge pull request #3220 from keszybz/install-fixes
Fix "preset-all" with dangling symlinks and install-section hint emitted too eagerly
tblume [Tue, 10 May 2016 14:20:03 +0000 (16:20 +0200)]
man: document the nfs mount option bg as unsupported (#3231)
The nfs mount option bg will not be supported with systemd.
Reasons are discussed here:
https://github.com/systemd/systemd/pull/3169
tblume [Tue, 10 May 2016 12:10:17 +0000 (14:10 +0200)]
units: make sure that fsck is executed before quotacheck
fsck determines wheter an automatic quotacheck should be executed.
Hence fsck service needs to run before quotacheck service.
Sylvain Plantefève [Tue, 10 May 2016 01:34:16 +0000 (03:34 +0200)]
catalog: update French translation (#3228)
Zbigniew Jędrzejewski-Szmek [Mon, 9 May 2016 15:24:08 +0000 (11:24 -0400)]
locale-util: mark special_glyph() as _const_
_const_ means that the caller can assume that the function will return the same
result every time (and will not modify global memory). special_glyph() meets
this: even though it depends on global memory, that part of global memory is
not expected to change. This allows the calls to special_glyph() to be
optimized, even if -flto is not used.
Zbigniew Jędrzejewski-Szmek [Sat, 7 May 2016 21:30:18 +0000 (17:30 -0400)]
tree-wide: rename draw_special_char to special_glyph
That function doesn't draw anything on it's own, just returns a string, which
sometimes is more than one character. Also remove "DRAW_" prefix from character
names, TREE_* and ARROW and BLACK_CIRCLE are unambigous on their own, don't
draw anything, and are always used as an argument to special_glyph().
Rename "DASH" to "MDASH", as there's more than one type of dash.
Zbigniew Jędrzejewski-Szmek [Sat, 7 May 2016 21:15:34 +0000 (17:15 -0400)]
shared/install: use "→" instead of "pointing to" for a symlink
It's quite a bit shorter and just as readable.
(The full sentence with "pointing to" was added to replace a text that used
"ln -s %s %s". Using the "ln" syntax is indeed unclear, because it's not
obvious which is the source and which is the target, and because symlink(2)
uses the opposite order to ln(1). But with the unicode arrow there should
be no ambiguity.)
Zbigniew Jędrzejewski-Szmek [Sat, 7 May 2016 21:02:55 +0000 (17:02 -0400)]
shared/install: do not print warning when a unit is already enabled
Executing 'systemctl enable' on the same unit twice would cause
a warning about a missing [Install] section to be printed. To avoid
this, count all symlinks that "would" be created, and return 1
no matter if we actually created a symlink or skipped creation because
it already exists.
Zbigniew Jędrzejewski-Szmek [Wed, 4 May 2016 14:10:57 +0000 (10:10 -0400)]
shared/install: handle dangling aliases as an explicit case, report nicely
This fixes 'preset-all' with a unit that is a dangling symlink.
$ systemctl --root=/ preset-all
Unit syslog.service is an alias to a unit that is not present, ignoring.
Unit auditd.service is masked, ignoring.
Unit NetworkManager.service is masked, ignoring.
Zbigniew Jędrzejewski-Szmek [Wed, 4 May 2016 14:09:52 +0000 (10:09 -0400)]
shared/install: add some more debug messages and comments
$ systemctl --root=/ preset foobar.service
Cannot find unit foobar.service.
Failed to preset: No such file or directory.
$ systemctl --root=/ preset foobar@.service
Cannot find unit foobar@.service.
Failed to preset: No such file or directory.
$ systemctl --root=/ preset foobar@blah.service
Cannot find unit foobar@blah.service or foobar@.service.
Failed to preset: No such file or directory.
Zbigniew Jędrzejewski-Szmek [Mon, 9 May 2016 18:34:05 +0000 (14:34 -0400)]
Merge pull request #3209 from poettering/nspawn-network-zones
introduce simple "network zones" concept to nspawn
Lennart Poettering [Mon, 9 May 2016 13:41:46 +0000 (15:41 +0200)]
update TODO
Lennart Poettering [Mon, 9 May 2016 13:43:51 +0000 (15:43 +0200)]
nspawn: only remove veth links we created ourselves
Let's make sure we don't remove veth links that existed before nspawn was
invoked.
https://github.com/systemd/systemd/pull/3209#discussion_r62439999
Lennart Poettering [Mon, 9 May 2016 13:42:23 +0000 (15:42 +0200)]
network: Make sure we log about parse errors for ifname lists
Fix-up for
93e2822684b37a4eeef03775a7a1f44a3055d7b2
Lennart Poettering [Fri, 6 May 2016 20:44:13 +0000 (22:44 +0200)]
network: allow LLDP packets to cross non-customer bridges for container network interfaces
This changes the default .network files we ship for nspawn containers to set
EmitLLDP=customer-bridge in order to allow propagation of the LLDP packets
across bridges. This is useful so that "networkctl status" shows all peers
connected to a virtual container network, collecting this data via LLDP. This
is safe since the default configuration for these interfaces does not bridge
these links to external interfaces, but relies on IP routing for this.
Lennart Poettering [Fri, 6 May 2016 19:27:36 +0000 (21:27 +0200)]
networkd: reworkd LLDP emission to allow control of propagation level
This allows selecting the propagation level of emitted LLDP packets
(specifically: the destination MAC address of the packets). This is useful
because it allows generating LLDP packets that optionally cross certain types
of bridges.
See 802.11ab-2009, Table 7-1 for details.
Lennart Poettering [Fri, 6 May 2016 19:20:59 +0000 (21:20 +0200)]
tree-wide: port more code to use ifname_valid()
Lennart Poettering [Fri, 6 May 2016 19:04:52 +0000 (21:04 +0200)]
man: add documentation for the new --network-zone= concept of nspawn
Lennart Poettering [Fri, 6 May 2016 19:03:40 +0000 (21:03 +0200)]
network: add automatic configuration for the networks created by nspawn --network-zone=
This way, they "just work", similar to --network-veth behaves, as long as
networkd is enabled and running on all involved nodes.
Lennart Poettering [Fri, 6 May 2016 19:00:27 +0000 (21:00 +0200)]
nspawn: add new --network-zone= switch for automatically managed bridge devices
This adds a new concept of network "zones", which are little more than bridge
devices that are automatically managed by nspawn: when the first container
referencing a bridge is started, the bridge device is created, when the last
container referencing it is removed the bridge device is removed again. Besides
this logic --network-zone= is pretty much identical to --network-bridge=.
The usecase for this is to make it easy to run multiple related containers
(think MySQL in one and Apache in another) in a common, named virtual Ethernet
broadcast zone, that only exists as long as one of them is running, and fully
automatically managed otherwise.
Lennart Poettering [Fri, 6 May 2016 18:58:32 +0000 (20:58 +0200)]
util-lib: add new ifname_valid() call that validates interface names
Make use of this in nspawn at a couple of places. A later commit should port
more code over to this, including networkd.
Lennart Poettering [Fri, 6 May 2016 18:50:16 +0000 (20:50 +0200)]
man: document that nspawn's host0 and ve-* interfaces have default config in networkd
Lennart Poettering [Mon, 9 May 2016 10:39:56 +0000 (12:39 +0200)]
Merge pull request #3222 from keszybz/tests-work
Some small fixes to make it easier to run tests and fix failure in TEST-{02,08}
Zbigniew Jędrzejewski-Szmek [Sun, 8 May 2016 15:08:42 +0000 (11:08 -0400)]
TEST-08: make sure / is remounted rw
In this test /etc/fstab is replaced by -.mount unit. This causes
systemd-remount-fs.service to not remount / rw, which in turn causes various
failures becuase /var is not writable. In particular
systemd-tmpfiles-setup.service reports many failures. This is something
to possibly fix on its own (see https://github.com/systemd/systemd/issues/791);
in the meanwhile let's fix this test so that it doesn't fail, since the
point of the test is to check aliases on mount units, and not a ro root.
Zbigniew Jędrzejewski-Szmek [Mon, 25 Apr 2016 18:20:57 +0000 (14:20 -0400)]
tests: enable logging for pid1, disable for other systemd services
systemd-udev generated an insane amount of log output at debug level.
It would break TEST-02-CRYPTSETUP by filling the overflowing the disk
(which seems to be a bug in itself!).
Zbigniew Jędrzejewski-Szmek [Mon, 25 Apr 2016 18:03:27 +0000 (14:03 -0400)]
tests: allow root to login with empty password to test images
Zbigniew Jędrzejewski-Szmek [Mon, 25 Apr 2016 17:01:25 +0000 (13:01 -0400)]
tree-wide: remove uses of --failed
It has been replaced by --state=failed.
Zbigniew Jędrzejewski-Szmek [Mon, 25 Apr 2016 16:00:11 +0000 (12:00 -0400)]
tests: specify format=raw for qemu to avoid warning
WARNING: Image format was not specified for
'/var/tmp/systemd-test.tGi3od/rootdisk.img' and probing guessed raw.
Automatically detecting the format is dangerous for raw images, write
operations on block 0 will be restricted. Specify the 'raw' format
explicitly to remove the restrictions.
Also use unsafe caching mode, we don't care about data integrity here.
Martin Pitt [Sun, 8 May 2016 19:09:35 +0000 (21:09 +0200)]
Merge pull request #3202 from poettering/socket-fixes
don't reopen socket fds when reloading the daemon
Thomas H. P. Andersen [Sat, 7 May 2016 21:52:31 +0000 (23:52 +0200)]
NEWS: typo fix and american english (#3219)
Zbigniew Jędrzejewski-Szmek [Wed, 4 May 2016 14:04:08 +0000 (10:04 -0400)]
shared/install: simplify error handling conditionals in a few places
Zbigniew Jędrzejewski-Szmek [Tue, 3 May 2016 19:57:36 +0000 (15:57 -0400)]
core/mount: add helper function for mount states
Zbigniew Jędrzejewski-Szmek [Sat, 7 May 2016 19:31:58 +0000 (15:31 -0400)]
Merge pull request #3205 from poettering/iaid
more dhcp fixes
Zbigniew Jędrzejewski-Szmek [Sat, 7 May 2016 19:08:57 +0000 (15:08 -0400)]
Merge pull request #3160 from htejun/cgroup-fixes-rev2
Cgroup fixes.