Yu Watanabe [Fri, 5 Jul 2019 22:39:17 +0000 (07:39 +0900)]
test-network: add testcase for DHCP client with static address
Testcase for #12969.
Dan Streetman [Fri, 5 Jul 2019 20:42:38 +0000 (16:42 -0400)]
src/network/networkd-dhcp4.c: set prefsrc for classless or static routes
When a DHCP server provides only a gateway, the networkd-dhcp4 code adds a
default route using that gateway, and sets the just-provided address as
the route's prefsrc; this was added in commit
46b0c76e2c355c0d0cc4792abb98cde07b28bc53
However, if the DHCP server has also provided classless route(s), these
are used instead of a default route using the provided gateway; the
networkd-dhcp4 code sets up the classless routes, but does not use the
just-provided dhcp address as the prefsrc of the route(s). Note that
it also doesn't set the prefsrc for static routes, though it should.
If the interface has only the dhcp-provided address, this is not usually
a problem, but if it has another address (e.g. a static address), then
traffic sent through the dhcp-provided gateway might not use the
dhcp-provided source address. If the gateway router only will route
traffic from the dhcp-provided address, then the dhcp client system's
networking through the router will not work.
Fixes: #12969
Lennart Poettering [Wed, 29 May 2019 20:09:26 +0000 (22:09 +0200)]
login: move file definitions outside of the conditionalization
Zbigniew Jędrzejewski-Szmek [Fri, 5 Jul 2019 11:58:21 +0000 (13:58 +0200)]
Merge pull request #12964 from yuwata/network-bridge-vlan-issue-12958
network: fix BridgeVLAN issue
Yu Watanabe [Fri, 5 Jul 2019 08:15:00 +0000 (17:15 +0900)]
Merge pull request #12963 from keszybz/analyze-timestamp
systemd-analyze dump fixup
Yu Watanabe [Thu, 4 Jul 2019 19:43:27 +0000 (04:43 +0900)]
test-network: add tests for BridgeVLAN
Yu Watanabe [Fri, 5 Jul 2019 07:37:34 +0000 (16:37 +0900)]
network: fix issue found by UBSan
Yu Watanabe [Thu, 4 Jul 2019 20:48:21 +0000 (05:48 +0900)]
network: fix the initial value of the counter for brvlan
Fixes #12958.
Yu Watanabe [Thu, 4 Jul 2019 20:37:25 +0000 (05:37 +0900)]
network: re-implement parse_vid_range()
Yu Watanabe [Fri, 5 Jul 2019 07:34:01 +0000 (16:34 +0900)]
network: minor coding-style update
Lennart Poettering [Tue, 28 May 2019 12:19:18 +0000 (14:19 +0200)]
varlink: add varlink server to event loop only if there is one
Zbigniew Jędrzejewski-Szmek [Thu, 4 Jul 2019 17:12:03 +0000 (19:12 +0200)]
pid1: use monotonic timestamp in dump if realtime is not available
$ systemd-analyze dump | head -3
Timestamp firmware: (null)
Timestamp loader: (null)
Timestamp kernel: Mon 2019-07-01 17:21:02 CEST
Since this is a debugging interface, it is OK to change the output format.
The user can infer what "Timestamp firmware: 123.456ms" means.
Yu Watanabe [Wed, 3 Jul 2019 18:46:14 +0000 (03:46 +0900)]
test-network: show debug logs of networkd
Lennart Poettering [Thu, 4 Jul 2019 14:54:39 +0000 (16:54 +0200)]
portabled: Make use of SYNTHETIC_ERRNO()
Lennart Poettering [Sun, 23 Dec 2018 18:22:12 +0000 (19:22 +0100)]
fsck: split out fsck return code definitions into a header file of its own
This way we can make use of it from other components too, such as
systemd-homed.
Lennart Poettering [Sun, 23 Dec 2018 18:19:51 +0000 (19:19 +0100)]
dissect: split out DM deferred remove into src/shared/dm-util.c
The function is generally useful, let's split it out so that we can make
use of it later on in systemd-homed.
Zbigniew Jędrzejewski-Szmek [Thu, 4 Jul 2019 17:10:11 +0000 (19:10 +0200)]
basic/time-util: add helper function to check if timestamp is set
No functional change.
Philip Withnall [Wed, 3 Jul 2019 13:00:48 +0000 (14:00 +0100)]
man: Add some notes about variable $prefix for StateDirectory=
tl;dr: It isn’t supported.
Wording by Zbigniew Jędrzejewski-Szmek.
See https://twitter.com/pid_eins/status/
1102639279614906369 and
https://gitlab.freedesktop.org/libfprint/fprintd/merge_requests/5#note_125536
onwards.
Signed-off-by: Philip Withnall <withnall@endlessm.com>
Lennart Poettering [Thu, 4 Jul 2019 13:46:02 +0000 (15:46 +0200)]
Merge pull request #12949 from yuwata/sd-netlink-sd-netlink-message-enter-array
sd-netlink: introduce sd_netlink_message_enter_array()
Lennart Poettering [Thu, 4 Jul 2019 13:45:43 +0000 (15:45 +0200)]
Merge pull request #12954 from keszybz/var-log-dir
/var/log-related cleanups
Yu Watanabe [Thu, 4 Jul 2019 05:56:54 +0000 (14:56 +0900)]
test: add test for sd_netlink_message_enter_array()
Zbigniew Jędrzejewski-Szmek [Thu, 4 Jul 2019 08:10:24 +0000 (10:10 +0200)]
meson: drop varlogdir variable
It was only used for exactly one thing: to substitute in the text in
/var/log/README. But it's use there was completely wrong, because the text
talks about "missing" log files from syslog, so even if we configured systemd
to log to a different directory, the "missing" log files would still be
"missing" from the old location.
Zbigniew Jędrzejewski-Szmek [Thu, 4 Jul 2019 07:59:09 +0000 (09:59 +0200)]
meson: create /var/log/journal/{,remote/} conditionally
Not everybody has those dirs in the filesystem (and they don't need to).
When creating an installation package using $DESTDIR, it is easy enough to
remove or ignore those directories, but if installing into a real root, it
is ugly to create and remove them. Let's add an option so people can skip
it if they want.
Inspired by #12930.
Yu Watanabe [Thu, 4 Jul 2019 05:31:23 +0000 (14:31 +0900)]
sd-netlink: add CTRL_ATTR_MCAST_GROUPS
Yu Watanabe [Thu, 4 Jul 2019 08:11:05 +0000 (17:11 +0900)]
sd-netlink: drop unnecessary 'else'
Yu Watanabe [Fri, 28 Jun 2019 18:30:53 +0000 (03:30 +0900)]
sd-netlink: introduce sd_netlink_message_enter_array()
Yu Watanabe [Fri, 28 Jun 2019 18:27:24 +0000 (03:27 +0900)]
sd-netlink: fix inverted log message
Yu Watanabe [Thu, 4 Jul 2019 03:36:11 +0000 (12:36 +0900)]
Merge pull request #12946 from poettering/blockdev-tweaks
three small blockdev-util.[ch] tweaks
Lennart Poettering [Wed, 29 May 2019 11:56:27 +0000 (13:56 +0200)]
varlink: allow using varlink_wait() even with a server
This call can be useful even if a server object is declared.
(Originally this was not supported, because a server typically needs to
handle multiple connections, and thus a synchronous wait on one would
starve the others out. But in some cases it might make sense to have
varlink point-to-point connections — i.e. where the server only handles
a single connection ever — and there it makes sense to synchronously
wait on the one connection).
Lennart Poettering [Tue, 28 May 2019 12:19:51 +0000 (14:19 +0200)]
json: use JSON_VARIANT_ARRAY_FOREACH() where we can
Lennart Poettering [Wed, 29 May 2019 20:10:12 +0000 (22:10 +0200)]
logind: drop old-style header from .sym file in favour of SPDX
Connor Reeder [Wed, 3 Jul 2019 18:42:45 +0000 (14:42 -0400)]
Added ACCEL_MOUNT_MATRIX for Asus Q551LN in hwdb/60-sensor.hwdb
Lennart Poettering [Tue, 21 May 2019 16:00:54 +0000 (18:00 +0200)]
blockdev-util: let us know if block_get_whole_disk() did anything
Lennart Poettering [Tue, 21 May 2019 16:00:09 +0000 (18:00 +0200)]
blockdev: filter out invalid block devices early
Lennart Poettering [Tue, 21 May 2019 16:00:32 +0000 (18:00 +0200)]
blockdev-util: propagate actual error
Lennart Poettering [Wed, 3 Jul 2019 11:04:11 +0000 (13:04 +0200)]
man: document tmpfiles.d/ user/group resolvability needs
Jan Synacek [Thu, 25 Apr 2019 10:19:16 +0000 (12:19 +0200)]
debug-generator: enable custom systemd.debug_shell tty
Zbigniew Jędrzejewski-Szmek [Tue, 2 Jul 2019 07:46:38 +0000 (09:46 +0200)]
Merge pull request #12912 from yuwata/network-move-functions
network: move functions
Yu Watanabe [Sat, 1 Jun 2019 01:31:09 +0000 (10:31 +0900)]
test-network: add udev related tests for networkctl
Zbigniew Jędrzejewski-Szmek [Mon, 1 Jul 2019 18:33:24 +0000 (20:33 +0200)]
Merge pull request #12888 from yuwata/network-udev-property-support
network,udev: add Property= setting in [Match] section
Yu Watanabe [Sat, 29 Jun 2019 20:33:53 +0000 (05:33 +0900)]
udev: accept lines which have only PROGRAM=
As PROGRAM= may cause side effect, and users may expect that.
Michael Biebl [Sun, 30 Jun 2019 23:39:35 +0000 (01:39 +0200)]
Merge pull request #12916 from yuwata/meson-drop-duplicated-line
meson: drop duplicated source
Yu Watanabe [Sat, 29 Jun 2019 17:28:42 +0000 (02:28 +0900)]
test-network: add test for Property= in [Match] section
Yu Watanabe [Sun, 30 Jun 2019 21:44:40 +0000 (06:44 +0900)]
meson: drop duplicated source
Yu Watanabe [Thu, 27 Jun 2019 13:03:02 +0000 (22:03 +0900)]
test: add tests for config_parse_match_{strv,ifnames}()
Yu Watanabe [Sat, 22 Jun 2019 19:05:51 +0000 (04:05 +0900)]
man: fix wrong udev property name
Yu Watanabe [Sat, 22 Jun 2019 16:44:13 +0000 (01:44 +0900)]
network,udev: add Property= setting in [Match] section
Closes #5665.
Yu Watanabe [Sat, 22 Jun 2019 16:08:51 +0000 (01:08 +0900)]
network,udev: make net_match_config() take sd_device
Yu Watanabe [Sat, 22 Jun 2019 18:18:52 +0000 (03:18 +0900)]
network,udev: fix multiple invert matching lines
Previously,
```
[Match]
Name=!aaa
Name=!bbb
```
does not work. This fixes the issue.
Yu Watanabe [Sat, 29 Jun 2019 17:54:35 +0000 (02:54 +0900)]
networkctl: do not show '(null)' in HW Address entry
This also fixes indentation.
Yu Watanabe [Sat, 29 Jun 2019 20:10:35 +0000 (05:10 +0900)]
network: move prototypes related to network Network bus objects to networkd-network-bus.h
Yu Watanabe [Sat, 29 Jun 2019 19:51:05 +0000 (04:51 +0900)]
Merge pull request #12910 from keszybz/udev-kvm
Fix permissions on /dev/kvm
Yu Watanabe [Sat, 29 Jun 2019 19:33:34 +0000 (04:33 +0900)]
network: move DHCP server related functions to networkd-dhcp-server.c
Yu Watanabe [Sat, 29 Jun 2019 19:09:51 +0000 (04:09 +0900)]
network: move DHCP6 related code from networkd-manager.c to networkd-dhcp6.c
Yu Watanabe [Sat, 29 Jun 2019 18:57:47 +0000 (03:57 +0900)]
network: move conf parsers and function prototypes
Yu Watanabe [Sat, 29 Jun 2019 19:10:40 +0000 (04:10 +0900)]
Merge pull request #12903 from keszybz/condition-quoting
Condition quoting
Zbigniew Jędrzejewski-Szmek [Sat, 29 Jun 2019 15:06:30 +0000 (17:06 +0200)]
test-condition: do not accidentally treat error as passing condition
condition_test returns 0, 1, or error.
Zbigniew Jędrzejewski-Szmek [Fri, 28 Jun 2019 08:58:06 +0000 (10:58 +0200)]
Treat kernel version condition as a list of quoted checks
Before only one comparison was allowed. Let's make this more flexible:
ConditionKernelVersion = ">=4.0" "<=4.5"
Fixes #12881.
This also fixes expressions like "ConditionKernelVersion=>" which would
evaluate as true.
Yu Watanabe [Thu, 27 Jun 2019 14:11:34 +0000 (23:11 +0900)]
test-execute: add test for ConditionKernelVersion= with quotation
Zbigniew Jędrzejewski-Szmek [Sat, 29 Jun 2019 14:25:52 +0000 (16:25 +0200)]
Merge pull request #12907 from yuwata/meson-default-libidn2
meson: use libidn2 and drop udev debug option
Yu Watanabe [Fri, 28 Jun 2019 22:26:02 +0000 (07:26 +0900)]
udev: fix wrong event source to set description
Zbigniew Jędrzejewski-Szmek [Sat, 29 Jun 2019 14:22:22 +0000 (16:22 +0200)]
Merge pull request #12908 from yuwata/udevadm-completion-action
udevadm: support special value 'help' for --action option
Zbigniew Jędrzejewski-Szmek [Sat, 29 Jun 2019 13:08:11 +0000 (15:08 +0200)]
udev: don't force device ownership and mode on every event
This partially reverts
25de7aa7b90c23d33ea50ada1e50c5834a414237. I don't think the
change was intended there.
The problem I'm trying to solve: for /dev/kvm we get first an ADD uevent, and
then CHANGE whenever something connects or disconnects to the character device.
The rules in 50-default-udev.rules set UID, GID, and MODE on ADD, but not on
CHANGE. When the change event happens, we would reset the ownership and
permissions.
This happens because node_permissions_apply() would (after
25de7aa7b90c23d33)
set uid=gid=0 if they weren't set by the rules.
So let's only pass uid/gid/mode to node_permissions_apply() if appropriately
configured. Also let node_permissions_apply() do the skip of uid/gid/mode if
not set, and rename "always_apply" to more closely reflect its meaning.
Zbigniew Jędrzejewski-Szmek [Sat, 29 Jun 2019 12:56:45 +0000 (14:56 +0200)]
udev: tiny fix to debug message
Yu Watanabe [Fri, 28 Jun 2019 19:08:18 +0000 (04:08 +0900)]
bash-completion: udevadm: list all possible values for --action option
Yu Watanabe [Fri, 28 Jun 2019 19:03:06 +0000 (04:03 +0900)]
udevadm: support special value 'help' for --action option
Yu Watanabe [Fri, 28 Jun 2019 18:49:20 +0000 (03:49 +0900)]
sd-device: introduce dump_device_action_table()
Will be used in later commits.
Yu Watanabe [Fri, 28 Jun 2019 18:35:12 +0000 (03:35 +0900)]
Merge pull request #12905 from keszybz/udev-warnings
Udev warnings
Yu Watanabe [Fri, 28 Jun 2019 18:18:43 +0000 (03:18 +0900)]
NEWS: mention that the libidn2 is used by default
Yu Watanabe [Fri, 28 Jun 2019 18:13:30 +0000 (03:13 +0900)]
meson: default to use libidn2 if both libidn2 and libidn are installed
Yu Watanabe [Fri, 28 Jun 2019 18:06:11 +0000 (03:06 +0900)]
meson: drop unused debug option
Zbigniew Jędrzejewski-Szmek [Fri, 28 Jun 2019 14:25:46 +0000 (16:25 +0200)]
Merge pull request #12887 from fbuihuu/coredump-cleanup-part-1
Coredump cleanup part 1
Zbigniew Jędrzejewski-Szmek [Fri, 28 Jun 2019 14:17:30 +0000 (16:17 +0200)]
udev-rules: add more info to errors about attr formats
Zbigniew Jędrzejewski-Szmek [Thu, 27 Jun 2019 08:47:56 +0000 (10:47 +0200)]
udev-rules: add precise information to rule failure logs
It is pretty hard to figure out what the problem actually is, esp. when the rule
is long.
On my machine:
systemd[1]: Starting udev Kernel Device Manager...
systemd-udevd[217399]: /usr/lib/udev/rules.d/11-dm-lvm.rules:40 Invalid value for OPTIONS key, ignoring: 'event_timeout=180'
systemd-udevd[217399]: /usr/lib/udev/rules.d/11-dm-lvm.rules:40 The line takes no effect, ignoring.
systemd-udevd[217399]: /etc/udev/rules.d/60-ipath.rules:4 Invalid value "kcopy/%02n" for NAME (char 7: invalid substitution type), ignoring, but please fix it.
systemd-udevd[217399]: /usr/lib/udev/rules.d/65-md-incremental.rules:28 Invalid value "/sbin/mdadm -I $env{DEVNAME} --export $devnode --offroot ${DEVLINKS}" for IMPORT (char 58: invalid substitution type), ignoring, but please fix it.
systemd-udevd[217399]: /etc/udev/rules.d/73-special-net-names.rules:14 Invalid value "/bin/sh -ec 'D=${DEVPATH#*/vio/}; D=${D%%%%/*}; D=${D#????}; D=${D#0}; D=${D#0}; D=${D#0}; D=${D#0}; echo ${D:-0}'" for PROGRAM (char 16: invalid substitution type), ignoring, but please fix it.
systemd-udevd[217399]: /usr/lib/udev/rules.d/84-nm-drivers.rules:10 Invalid value "/bin/sh -c 'ethtool -i $1 | sed -n s/^driver:\ //p' -- $env{INTERFACE}" for PROGRAM (char 24: invalid substitution type), ignoring, but please fix it.
systemd-udevd[217399]: /usr/lib/udev/rules.d/90-libgpod.rules:19 IMPORT key takes '==' or '!=' operator, assuming '==', but please fix it.
systemd-udevd[217399]: /usr/lib/udev/rules.d/90-libgpod.rules:23 IMPORT key takes '==' or '!=' operator, assuming '==', but please fix it.
systemd-udevd[217399]: /usr/lib/udev/rules.d/99-vmware-scsi-udev.rules:5 Invalid value "/bin/sh -c 'echo 180 >/sys$DEVPATH/device/timeout'" for RUN (char 27: invalid substitution type), ignoring, but please fix it.
systemd-udevd[217399]: /usr/lib/udev/rules.d/99-vmware-scsi-udev.rules:6 Invalid value "/bin/sh -c 'echo 180 >/sys$DEVPATH/device/timeout'" for RUN (char 27: invalid substitution type), ignoring, but please fix it.
systemd[1]: Started udev Kernel Device Manager.
Zbigniew Jędrzejewski-Szmek [Thu, 27 Jun 2019 06:58:00 +0000 (08:58 +0200)]
udev-event: use normal pointer ops where appropriate
Zbigniew Jędrzejewski-Szmek [Thu, 27 Jun 2019 06:51:53 +0000 (08:51 +0200)]
udev: move rule structure definitions into the .c file
They are (and should) only be used there, no need to expose them.
Zbigniew Jędrzejewski-Szmek [Thu, 27 Jun 2019 06:36:20 +0000 (08:36 +0200)]
udev: move rules logging functions into the .c file
They are (and can) only be used there, no need to expose them.
Zbigniew Jędrzejewski-Szmek [Fri, 28 Jun 2019 09:15:05 +0000 (11:15 +0200)]
Rename EXTRACT_QUOTES to EXTRACT_UNQUOTE
Whenever I see EXTRACT_QUOTES, I'm always confused whether it means to
leave the quotes in or to take them out. Let's say "unquote", like we
say "cunescape".
Zbigniew Jędrzejewski-Szmek [Fri, 28 Jun 2019 08:56:28 +0000 (10:56 +0200)]
Reindent some things for readability
Lubomir Rintel [Thu, 27 Jun 2019 11:02:28 +0000 (13:02 +0200)]
cryptsetup-generator: fix luks-* entry parsing from crypttab
This reverts a part of commit
49fe5c099639 ('tree-wide: port various places
over to STARTSWITH_SET()') that replaced a pair of startswith() calls
with STARTSWITH_SET().
They were in fact for a different strings (device vs. name), botching
the crypttap parsing.
Yu Watanabe [Thu, 27 Jun 2019 17:48:53 +0000 (02:48 +0900)]
bash-completion: support systemd-analyze condition
Franck Bui [Wed, 26 Jun 2019 09:38:44 +0000 (11:38 +0200)]
coredump: make use of the iovec-array helpers
Previous code was allocating an array of iovecs big enough to store all the
fields added later by various functions.
This forced us to calculate the size of the array in advance which is too error
prone if for example one wants to add new fields or simply rework the
code. Various assertions were added to make sure there's no overflow but it's
still more code for no good reasons.
Instead, this patch switches to the new iovec array handling interface so the
array is grown dynamically when needed.
The other contraint was that some iovecs were supposed to be freed whereas some
others were not. This makes the code hard to (re)organize. The new code always
allocates fields so it becomes easier to rework the code.
Yu Watanabe [Thu, 27 Jun 2019 17:37:20 +0000 (02:37 +0900)]
Merge pull request #12889 from keszybz/analyze-condition
Add systemd-analyze condition
Franck Bui [Tue, 25 Jun 2019 14:57:06 +0000 (16:57 +0200)]
io-util: introduce iovw_put_string_field() helper
Franck Bui [Tue, 25 Jun 2019 13:54:44 +0000 (15:54 +0200)]
journal-import: extract helpers for handling arrays of iovec and make them available for others
Franck Bui [Tue, 25 Jun 2019 12:08:16 +0000 (14:08 +0200)]
coredump: drop 2 useless assertions
Franck Bui [Tue, 25 Jun 2019 12:04:46 +0000 (14:04 +0200)]
coredump: slighlty simplify stack trace generation logic
The main advantage is to avoid the code duplication used to build MESSAGE=
field.
No functional changes.
Franck Bui [Fri, 21 Jun 2019 14:18:39 +0000 (16:18 +0200)]
coredump: fix the check on the number of passed args in backtrace mode
In backtrace mode, '--backtrace' option should also be counted.
Franck Bui [Fri, 21 Jun 2019 13:34:01 +0000 (15:34 +0200)]
coredump: gather_pid_metadata() doesn't return 1 anymore
Since commit
92e92d71faea0f107312f296b7756cc04281ba99, gather_pid_metadata()
returns only 0 or a negative value.
Franck Bui [Fri, 21 Jun 2019 12:48:02 +0000 (14:48 +0200)]
coredump: rename set_iovec_field_free() into set_iovec_string_field_free()
It's more in line with its counterpart set_iovec_string_field().
Also move the definition to io-util next to set_iovec_string_field().
Zbigniew Jędrzejewski-Szmek [Thu, 27 Jun 2019 11:37:27 +0000 (13:37 +0200)]
Merge pull request #12760 from zachsmith/systemd-sleep_resume_offset
systemd-sleep: use resume_offset value if set
Zbigniew Jędrzejewski-Szmek [Wed, 26 Jun 2019 14:23:18 +0000 (16:23 +0200)]
core: skip whitespace after "|" and "!" in the condition parser
We'd skip any whitespace immediately after "=", but then we'd treat whitespace
that is between "|" or "!" and the value as significant. This is rather
confusing, let's ignore it too.
Zbigniew Jędrzejewski-Szmek [Wed, 26 Jun 2019 14:21:34 +0000 (16:21 +0200)]
shared/condition: fix printing of ConditionNull=
ConditionNull= is the only condition where parameter==NULL is allowed,
and we'd print ConditionNull=(null) or ConditionNull=!(null).
Zbigniew Jędrzejewski-Szmek [Wed, 26 Jun 2019 12:58:45 +0000 (14:58 +0200)]
analyze: add 'condition' verb
We didn't have a straightforward way to parse and evaluate those strings.
Prompted by #12881.
Zbigniew Jędrzejewski-Szmek [Thu, 27 Jun 2019 08:43:48 +0000 (10:43 +0200)]
Merge pull request #12894 from stapelberg/patch-1
cryptsetup: comment: crypt_setup → crypt_format
Michael Prokop [Thu, 27 Jun 2019 07:54:20 +0000 (09:54 +0200)]
docs: fix typos and duplicate words
s/and and/and/
s/explicity/explicitly/
s/that that/that/
s/the the/the/
s/is is/it is/
s/overriden/overridden/
Michael Stapelberg [Thu, 27 Jun 2019 07:38:30 +0000 (09:38 +0200)]
cryptsetup: comment: crypt_setup → crypt_format
Zbigniew Jędrzejewski-Szmek [Thu, 27 Jun 2019 06:13:14 +0000 (08:13 +0200)]
Merge pull request #12890 from yuwata/fix-conf-parser-12883
conf-parse: fix continuation handling
Zach Smith [Wed, 26 Jun 2019 13:55:37 +0000 (06:55 -0700)]
systemd-sleep: refuse to calculate swapfile offset on Btrfs
If hibernation is requested but /sys/power/resume and
/sys/power/resume_offset are not configured correctly, systemd-sleep
attempts to calculate swapfile offset using fstat and fiemap.
Btrfs returns virtual device number for stat and a virtual offset
for fiemap which results in incorrect offset calculations. In the
case where offset would be calculated and the user is using Btrfs,
log a debug message and fail to write device and offset values.
Zach Smith [Sun, 9 Jun 2019 03:44:34 +0000 (20:44 -0700)]
systemd-sleep: (bug) use resume_offset value if set
Use hibernation configuration as defined in
/sys/power/resume and /sys/power/resume_offset
if present before inspecting /proc/swaps and
attempting to calculate swapfile offset