Lennart Poettering [Fri, 1 Mar 2019 16:48:31 +0000 (17:48 +0100)]
systemctl: let's FORK_WAIT where we can
Lennart Poettering [Fri, 1 Mar 2019 16:47:50 +0000 (17:47 +0100)]
systemctl: when something is not supported use EOPNOTSUPP
Lennart Poettering [Fri, 1 Mar 2019 16:46:58 +0000 (17:46 +0100)]
systemctl: be careful with boot loader entries lacking a 'linux' line
A boot loader entry might not have a 'linux' line, but an 'efi' line or
something else. Let's handle that case nicely.
Lennart Poettering [Fri, 1 Mar 2019 15:53:11 +0000 (16:53 +0100)]
bootspec: move log msg from systemctl.c to bootspec.c
find_default_boot_entry() is only used by systemctl.c, and currently
handles one log message in the caller instead of the callee. Let's
simplify that and move it over, too
Lennart Poettering [Fri, 1 Mar 2019 15:05:14 +0000 (16:05 +0100)]
bootctl: tweak 'list' output a bit
Let's suppress the final newline in the list if it's the last entry we
are outputting.
Lennart Poettering [Mon, 22 Oct 2018 18:02:25 +0000 (20:02 +0200)]
logind: optionally support non-EFI reboot-to-firmware
This extends the reboot-to-firmware logic in logind, so that other than
EFI firmwares could be theoretically support. The scheme is like this:
if you want to support this, set the $SYSTEMD_REBOOT_TO_FIRMWARE=1 env
var for logind. If so, this will override the EFI logic, and cause a
file /run/systemd/reboot-to-firmware file to be created when
reboot-to-firmware is requested. This file has no contents, it's mere
existance indicates a reboot with reboot-to-firmware set.
The idea is that for alternative firmwares a drop-in for logind is added
that sets the env var, in combination with some code run during shutdown
that checks for the file and does the right thing.
Lennart Poettering [Fri, 16 Nov 2018 17:55:51 +0000 (18:55 +0100)]
efivars: extend character set that may be used in boot loader entry ids a bit
See https://github.com/systemd/systemd/pull/10495#discussion_r233992570
Zbigniew Jędrzejewski-Szmek [Tue, 5 Mar 2019 14:36:03 +0000 (15:36 +0100)]
Merge pull request #11896 from poettering/shutdown-fixes
move src/core/shutdown.c and helpers to src/shutdown/
Zbigniew Jędrzejewski-Szmek [Tue, 5 Mar 2019 10:03:59 +0000 (11:03 +0100)]
docs: add a note about compilation options
Closes #6371.
Lennart Poettering [Mon, 4 Mar 2019 16:51:54 +0000 (17:51 +0100)]
core: warn if people use the undocumented/depreacted ConditionNull=
Triggered by:
https://github.com/systemd/systemd/issues/11812
Franck Bui [Tue, 5 Mar 2019 10:03:07 +0000 (11:03 +0100)]
udev: restore debug level when logging a failure in the external prog called by IMPORT{program}
It was already the case before commit
a75211421fc9366068e6d9446e8e567246c72feb,
which upgraded the log to warning.
This seems an unintended side effect as the commit message doesn't mention it
and the old behavior looks more appropriate.
Lennart Poettering [Tue, 5 Mar 2019 11:12:33 +0000 (12:12 +0100)]
shutdown: rearrange shutdown sources in source tree
Let's move the shutdown binary into its own subdirectory in
src/shutdown, after all it is relatively isolated from the normal PID 1
sources, being a different binary and all.
Unfortunately it's not possible to move some of the code, since it is
shared with PID 1, that I wished we could move, but I still think it's
worth it.
Lennart Poettering [Tue, 5 Mar 2019 10:53:39 +0000 (11:53 +0100)]
shutdown: (void)ify more stuff
Lennart Poettering [Tue, 5 Mar 2019 10:52:54 +0000 (11:52 +0100)]
shutdown: fix up return type of sync_making_progress()
We shouldn't return negative errnos as "bool", hence fix the type of the
function to "int".
Lennart Poettering [Tue, 5 Mar 2019 10:52:32 +0000 (11:52 +0100)]
update TODO
Lennart Poettering [Tue, 5 Mar 2019 09:05:57 +0000 (10:05 +0100)]
Merge pull request #11881 from yuwata/networkd-vs-interface-renaming
Networkd vs interface renaming
Yu Watanabe [Mon, 4 Mar 2019 19:01:34 +0000 (04:01 +0900)]
udev: run programs in the specified order
This fixes bugs introduced by
29448498c724da7ade1b5efb20d7472c1b128d2c
and
d838e14515c82b05a07f2bf393cce057b45b2b53.
Previously, RUN and SECLABEL keys are stored in udev_list with its unique
flag is false. If the flag is false, then udev_list is just a linked
list and new entries are always added in the last.
So, we should use OrderedHashmap instead of Hashmap.
Fixes #11368.
roadrunner2 [Tue, 5 Mar 2019 07:52:22 +0000 (23:52 -0800)]
hwdb: add touchpad resolutions for 2015-2017 MacBook(Pro)'s. (#11874)
These are all models using an SPI keyboard and touchpad and using the
same applespi kernel driver.
Evgeny Vereshchagin [Tue, 5 Mar 2019 04:44:11 +0000 (05:44 +0100)]
travis: use /bin/systemd instead of /usr/bin/systemd
Apparently systemd is in /bin now.
Yu Watanabe [Mon, 4 Mar 2019 03:20:51 +0000 (12:20 +0900)]
dhcp: refuse to configure DHCP IAID if the interface is under renaming
systemd-networkd itself does not start dhcp client, but the code
may be used in other projects. So, check that the interface is under
renaming or not.
Yu Watanabe [Mon, 4 Mar 2019 03:19:05 +0000 (12:19 +0900)]
network: do not configure interfaces under renaming
Yu Watanabe [Mon, 4 Mar 2019 03:16:46 +0000 (12:16 +0900)]
util: introduce device_is_renaming()
It will be used in the later commit.
Yu Watanabe [Mon, 4 Mar 2019 03:01:26 +0000 (12:01 +0900)]
network: always drop configs when interface is renamed
Before the renaming, wrong .network file may be assigned to the link.
So, let's always drop link configuration.
Yu Watanabe [Mon, 4 Mar 2019 02:45:58 +0000 (11:45 +0900)]
udev: set ID_RENAMING property when interface renaming is requested
And drop the property on the corresponding 'move' uevent.
Yu Watanabe [Tue, 5 Mar 2019 01:31:20 +0000 (10:31 +0900)]
udev: do not read UdevEvent object before checking it is non-NULL
Yu Watanabe [Mon, 4 Mar 2019 02:26:23 +0000 (11:26 +0900)]
udev: drop unnecessary copy of new interface name
Yu Watanabe [Mon, 4 Mar 2019 02:24:33 +0000 (11:24 +0900)]
netlink: check new interface name is valid or not before sending request
Lennart Poettering [Mon, 4 Mar 2019 18:30:23 +0000 (19:30 +0100)]
Merge pull request #11841 from keszybz/dns-packet-speedup
DNS packet speedup
Lennart Poettering [Mon, 4 Mar 2019 18:04:27 +0000 (19:04 +0100)]
Merge pull request #11871 from yuwata/systemctl-show-format-unprintable
systemctl: format many entries in 'show' command
Lennart Poettering [Mon, 4 Mar 2019 18:03:46 +0000 (19:03 +0100)]
Merge pull request #11888 from keszybz/non-atomic
Drop unused atomic operations
Zbigniew Jędrzejewski-Szmek [Wed, 27 Feb 2019 12:09:37 +0000 (13:09 +0100)]
fuzz-dns-packet: add test case with lots of labels
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13422
Zbigniew Jędrzejewski-Szmek [Wed, 27 Feb 2019 09:37:40 +0000 (10:37 +0100)]
resolved: when adding RR to an answer, avoid comparing keys twice
We'd call dns_resource_record_equal(), which calls dns_resource_key_equal()
internally, and then dns_resource_key_equal() a second time. Let's be
a bit smarter, and call dns_resource_key_equal() only once.
(before)
dns_resource_key_hash_func_count=514
dns_resource_key_compare_func_count=275
dns_resource_key_equal_count=62371
4.13s user 0.01s system 99% cpu 4.153 total
(after)
dns_resource_key_hash_func_count=514
dns_resource_key_compare_func_count=276
dns_resource_key_equal_count=31337
2.13s user 0.01s system 99% cpu 2.139 total
Zbigniew Jędrzejewski-Szmek [Wed, 27 Feb 2019 09:27:35 +0000 (10:27 +0100)]
resolve: split the RR comparison function in two
No functional change.
Zbigniew Jędrzejewski-Szmek [Wed, 27 Feb 2019 06:01:50 +0000 (07:01 +0100)]
resolved: use a temporary Set to speed up dns question parsing
This doesn't necessarily make things faster, because we still spend more time
in dns_answer_add(), but it improves the compuational complexity of this part.
If we even make dns_resource_key_equal_faster, this will become worthwhile.
Yu Watanabe [Sat, 2 Mar 2019 17:48:43 +0000 (02:48 +0900)]
systemctl: format LogExtraFields= in 'show' command
Yu Watanabe [Sat, 2 Mar 2019 17:27:04 +0000 (02:27 +0900)]
systemctl: format BindPaths= or TemporaryFileSystems= in 'show' command
Yu Watanabe [Sat, 2 Mar 2019 17:06:18 +0000 (02:06 +0900)]
systemctl: print RestrictAddressFamilies= in 'show' command
Yu Watanabe [Sat, 2 Mar 2019 16:59:58 +0000 (01:59 +0900)]
systemctl: show nothing if no LoadError=
Yu Watanabe [Sat, 2 Mar 2019 16:35:18 +0000 (01:35 +0900)]
systemctl: format IPIngressBytes= or friends nicely
Yu Watanabe [Sat, 2 Mar 2019 16:27:10 +0000 (01:27 +0900)]
systemctl: show IPAddressAllow= and IPAddressDeny= in 'show' command
Yu Watanabe [Mon, 4 Mar 2019 14:07:35 +0000 (23:07 +0900)]
test: add tests for test_in_addr_prefix_to_string()
Yu Watanabe [Mon, 4 Mar 2019 13:47:10 +0000 (22:47 +0900)]
test: move tests for in_addr_prefix_from_string()
Yu Watanabe [Sat, 2 Mar 2019 16:17:32 +0000 (01:17 +0900)]
util: introduce in_addr_prefix_to_string()
Yu Watanabe [Sat, 2 Mar 2019 16:16:50 +0000 (01:16 +0900)]
util: use _cleanup_ attributes
Yu Watanabe [Sat, 2 Mar 2019 15:35:58 +0000 (00:35 +0900)]
core: fix received size of signal or status size
sd_bus_message_read_array() returns size of array in bytes, not number
of elements.
This also convert int to int32_t, as the dbus type 'i' is int32_t.
Zbigniew Jędrzejewski-Szmek [Mon, 4 Mar 2019 14:42:58 +0000 (15:42 +0100)]
sd-hwdb: fix off_t vs. size_t confusion in cast
> on 32bit, size_t is 32bit, but .st_size is off_t hence 64bit
Yu Watanabe [Sat, 2 Mar 2019 15:33:28 +0000 (00:33 +0900)]
systemctl: show SuccessExitStatus= and friends
Yu Watanabe [Sat, 2 Mar 2019 14:50:59 +0000 (23:50 +0900)]
systemctl: use streq() if arguments must be non-NULL
Yu Watanabe [Sat, 2 Mar 2019 14:36:51 +0000 (23:36 +0900)]
systemctl: do not show negative values in {Success,Failure}ActionExitStatus=
Yu Watanabe [Sat, 2 Mar 2019 14:35:26 +0000 (23:35 +0900)]
bus-util: drop unnecessary re-formatting
INSUN PYO [Thu, 17 Jan 2019 06:53:13 +0000 (15:53 +0900)]
systemctl: show SELinuxContext=, AppArmorProfile= and SmackProcessLabel=
Run: systemctl show -a dbus.service | grep -E "SELinuxContext|AppArmorProfile|SmackProcessLabel"
Before patch:
SELinuxContext=[unprintable]
AppArmorProfile=[unprintable]
SmackProcessLabel=[unprintable]
After patch:
SELinuxContext=[""|"value of context"]
AppArmorProfile=[""|"value of context"]
SmackProcessLabel=[""|"value of context"]
Martin Pitt [Sun, 3 Mar 2019 21:19:16 +0000 (22:19 +0100)]
semaphoreci: caching and more robust creation of container image
lxc-create in semaphore sometimes fails with
ERROR: Unable to fetch GPG key from keyserver
Which often happens behind proxies. As the default key server is a load
balancer, retry a few times.
Also, cache the container image between runs, and only recreate it when
it is older than a week.
Davide Cavalca [Tue, 26 Feb 2019 23:11:02 +0000 (18:11 -0500)]
test: do not assume test-chown-rec is running as root
Zbigniew Jędrzejewski-Szmek [Fri, 1 Mar 2019 11:42:31 +0000 (12:42 +0100)]
Remove now-unused refcnt.h
Zbigniew Jędrzejewski-Szmek [Fri, 1 Mar 2019 17:31:45 +0000 (18:31 +0100)]
sd-netlink: do not use atomic reference counters
Same as with the other users, any non-trivial use of the objects requires
use from a single thread only or external locking. Using atomic operations
just for reference counts is not useful.
Zbigniew Jędrzejewski-Szmek [Fri, 1 Mar 2019 17:14:32 +0000 (18:14 +0100)]
sd-hwdb: some minor logging and style updates
Zbigniew Jędrzejewski-Szmek [Fri, 1 Mar 2019 17:04:58 +0000 (18:04 +0100)]
sd-hwdb: use non-atomic reference counters
The sd-hwdb objects cannot be used concurrently from two threads in any
meaningful way, because query and iteration operations modify the object.
Thus atomic reference counts are pointless.
Zbigniew Jędrzejewski-Szmek [Fri, 1 Mar 2019 11:43:12 +0000 (12:43 +0100)]
bus: make reference counting non-atomic
We had atomic counters, but all other operations were non-serialized. This
means that concurrent access to the bus object was only safe if _all_ threads
were doing read-only access. Even sending of messages from threads would not be
possible, because after sending of the message we usually want to remove it
from the send queue in the bus object, which would race. Let's just kill this.
Zbigniew Jędrzejewski-Szmek [Sun, 20 Jan 2019 17:21:09 +0000 (18:21 +0100)]
tests: use the test helpers in more places
This is mostly cosmetic. It makes those test binaries support SYSTEMD_LOG_*
environment variables.
Lennart Poettering [Mon, 4 Mar 2019 12:04:45 +0000 (13:04 +0100)]
Merge pull request #11820 from dm0-/chase
Allow tmpfiles to create files in a root under an unprivileged directory
Lennart Poettering [Mon, 4 Mar 2019 11:11:07 +0000 (12:11 +0100)]
Merge pull request #11770 from yuwata/fix-9955
network: rework address pool
Mike Lothian [Tue, 26 Feb 2019 21:24:43 +0000 (21:24 +0000)]
login: HyperV requires master-of-seat to be set
v2: Update comment provided by Lennart
Fixes: https://github.com/systemd/systemd/issues/11299
Yu Watanabe [Sat, 2 Mar 2019 11:29:07 +0000 (20:29 +0900)]
fuzz-dhcp6-client: avoid assertion failure on samples which dont fit in pipe
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11584.
Lennart Poettering [Mon, 4 Mar 2019 10:03:36 +0000 (11:03 +0100)]
Merge pull request #11882 from yuwata/fix-log-syntax
Fix log_syntax()
Yu Watanabe [Mon, 4 Mar 2019 06:28:32 +0000 (15:28 +0900)]
test: add tests for log_syntax()
Yu Watanabe [Mon, 4 Mar 2019 06:18:06 +0000 (15:18 +0900)]
log: make log_syntax() assign correct errno and show valid error cause
Ben Iofel [Sun, 3 Mar 2019 21:51:22 +0000 (16:51 -0500)]
xbootldr: multiple spaces between keys and values (#11872)
The example below the changed line has multiple spaces between e.g. `title` and `Fedora`
Yu, Li-Yu [Sun, 3 Mar 2019 21:50:22 +0000 (05:50 +0800)]
man: flush-caches and reset-server-features are commands for resolvectl (#11877)
Zbigniew Jędrzejewski-Szmek [Fri, 1 Mar 2019 16:52:57 +0000 (17:52 +0100)]
Merge pull request #11472 from poettering/sd-bus-ref-tweak
try harder to detect when a bus and its queued messages are fully unreffed and free everything then
Zbigniew Jędrzejewski-Szmek [Fri, 1 Mar 2019 15:44:40 +0000 (16:44 +0100)]
Merge pull request #11863 from poettering/subvol-no-submount
nspawn: don't descend into subvols on --ephemeral
Lennart Poettering [Fri, 1 Mar 2019 14:14:36 +0000 (15:14 +0100)]
man: document that --ephemeral and --template= don't cover submounts
We never made this clear, let's fix that.
Lennart Poettering [Fri, 1 Mar 2019 14:13:12 +0000 (15:13 +0100)]
btrfs: when falling back to plain copy when snapshoting exclude submounts
The subvol snapshot logic doesn't cover sub-mounts either, and it really
shouldn't in the general case, hence let's simply stop at submounts in
all cases, both in the main and in the fall-back codepath.
As discussed here:
https://github.com/systemd/systemd/pull/11243#pullrequestreview-
209477230
Zbigniew Jędrzejewski-Szmek [Fri, 1 Mar 2019 15:08:55 +0000 (16:08 +0100)]
Merge pull request #11243 from poettering/nspawn-root-overlay
add systemd-nspawn --volatile=overlay support, as well as the same for host systems
Lennart Poettering [Thu, 17 Jan 2019 18:45:12 +0000 (19:45 +0100)]
test: add test for new sd-bus refcnt logic
Lennart Poettering [Thu, 17 Jan 2019 17:31:59 +0000 (18:31 +0100)]
sd-bus: use "queue" message references for managing r/w message queues in connection objects
Let's make use of the new concept the previous commit added.
See: #4846
Lennart Poettering [Thu, 17 Jan 2019 17:18:54 +0000 (18:18 +0100)]
bus-message: introduce two kinds of references to bus messages
Before this commit bus messages had a single reference count: when it
reached zero the message would be freed. This simple approach meant a
cyclic dependency was typically seen: a message that was enqueued in a
bus connection object would reference the bus connection object but also
itself be referenced by the bus connection object. So far out strategy
to avoid cases like this was: make sure to process the bus connection
regularly so that messages don#t stay queued, and at exit flush/close
the connection so that the message queued would be emptied, and thus the
cyclic dependencies resolved. Im many cases this isn't done properly
however.
With this change, let's address the issue more systematically: let's
break the reference cycle. Specifically, there are now two types of
references to a bus message:
1. A regular one, which keeps both the message and the bus object it is
associated with pinned.
2. A "queue" reference, which is weaker: it pins the message, but not
the bus object it is associated with.
The idea is then that regular user handling uses regular references, but
when a message is enqueued on its connection, then this takes a "queue"
reference instead. This then means that a queued message doesn't imply
the connection itself remains pinned, only regular references to the
connection or a message associated with it do. Thus, if we end up in the
situation where a user allocates a bus and a message and enqueues the
latter in the former and drops all refs to both, then this will detect
this case and free both.
Note that this scheme isn't perfect, it only covers references between
messages and the busses they are associated with. If OTOH a bus message
is enqueued on a different bus than it is associated with cyclic deps
cannot be recognized with this simple algorithm, and thus if you enqueue
a message associated with a bus A on a bus B, and another message
associated with bus B on a bus A, a cyclic ref will be in effect and not
be discovered. However, given that this is an exotic case (though one
that happens, consider systemd-bus-stdio-bridge), it should be OK not to
cover with this, and people have to explicit flush all queues on exit in
that case.
Note that this commit only establishes the separate reference counters
per message. A follow-up commit will start making use of this from the
bus connection object.
Lennart Poettering [Thu, 17 Jan 2019 20:07:42 +0000 (21:07 +0100)]
sd-bus: always go through sd_bus_unref() to free messages
Don't try to be smart, don't bypass the ref counting logic if there's no
real reason to.
This matters if we want to tweak the ref counting logic later.
Lennart Poettering [Thu, 17 Jan 2019 17:18:18 +0000 (18:18 +0100)]
sd-bus: drop two inappropriate empty lines
Lennart Poettering [Thu, 17 Jan 2019 17:15:37 +0000 (18:15 +0100)]
sd-bus: make sure dispatch_rqueue() initializes return parameter on all types of success
Let's make sure our own code follows coding style and initializes all
return values on all types of success (and leaves it uninitialized in
all types of failure).
Lennart Poettering [Thu, 17 Jan 2019 17:14:17 +0000 (18:14 +0100)]
sd-bus: reorder bus ref and bus message ref handling
Let's always place handling of these references together, so that all
reference counting during allocation is at a single place.
Lennart Poettering [Thu, 17 Jan 2019 17:13:03 +0000 (18:13 +0100)]
sd-bus: make rqueue/wqueue sizes of type size_t
Let's do this like we usually do and size arrays with size_t.
We already do this for the "allocated" counter correctly, and externally
we expose the queue sizes as uint64_t anyway, hence there's really no
point in usigned "unsigned" internally.
Lennart Poettering [Thu, 17 Jan 2019 20:06:30 +0000 (21:06 +0100)]
sd-bus: initialize mutex after we allocated the wqueue
That way the mutex doesn't have to be destroyed when we exit early due
to OOM.
Lennart Poettering [Thu, 17 Jan 2019 18:42:59 +0000 (19:42 +0100)]
test: fix indenting off by one
Lennart Poettering [Fri, 1 Mar 2019 14:02:09 +0000 (15:02 +0100)]
Merge pull request #11701 from poettering/discover-bls
sd-boot,bootctl,gpt-auto: support Extended Boot Loader Partition
Lennart Poettering [Fri, 21 Dec 2018 23:51:13 +0000 (00:51 +0100)]
man: document new systemd.volatile=overlay kernel command line option
Lennart Poettering [Fri, 21 Dec 2018 20:45:46 +0000 (21:45 +0100)]
man: document nspawn's new --volatile=overlay switch
Lennart Poettering [Thu, 20 Dec 2018 15:01:57 +0000 (16:01 +0100)]
copy: don't synthesize a 'user.crtime_usec' xattr on copy unless explicitly requested
Previously, when we'd copy an individual file we'd synthesize a
user.crtime_usec xattr with the source's creation time if we can
determine it. As the creation/birth time was until recently not
queriable form userspace this effectively just propagated the same xattr
on the source to the same xattr on the destination. However, current
kernels now allow to query the birthtime using statx() and we do make
use of that now. Which means that suddenly we started synthesizing these
xattrs much more regularly.
Doing this actually does make sense, but only in very few cases:
not for the typical regular files we copy, but certainly when dealing
with disk images. Hence, let's keep this kind of propagation, but let's
make it a flag and default to off. Then turn it on whenever we deal with
disk images, and leave it off otherwise.
This is particularly relevant as overlayfs combining a real fs, and a
tmpfs on top will result in EOPNOTSUPP when it is attempted to open a
file with xattrs for writing, as tmpfs does not support xattrs, and
hence the copy-up cannot work. Hence, let's avoid synthesizing this
needlessly, to increase compat with overlayfs.
Lennart Poettering [Thu, 20 Dec 2018 14:18:38 +0000 (15:18 +0100)]
gpt-auto-generator: use new /run/systemd/volatile-root symlink as fallback when we otherwise cannot determine root device node
Lennart Poettering [Thu, 20 Dec 2018 14:15:43 +0000 (15:15 +0100)]
gpt-auto-generator: rename open_parent() → open_parent_devno() so that we can include fs-util.h later
As that header also defines a function open_parent() which does
something different.
Lennart Poettering [Thu, 20 Dec 2018 09:13:35 +0000 (10:13 +0100)]
volatile-root: export original root
Lennart Poettering [Wed, 19 Dec 2018 16:30:13 +0000 (17:30 +0100)]
volatile-root: add overlay mode for host boots, too
Lennart Poettering [Wed, 19 Dec 2018 14:04:08 +0000 (15:04 +0100)]
volatile-root: fail if we can't parse specified parameter
Lennart Poettering [Wed, 19 Dec 2018 14:03:47 +0000 (15:03 +0100)]
volatile-root: add missing logging to volatile-root
Lennart Poettering [Wed, 19 Dec 2018 13:52:26 +0000 (14:52 +0100)]
volatile-util: tweak query_volatile_mode() a bit
Lennart Poettering [Fri, 21 Dec 2018 22:37:00 +0000 (23:37 +0100)]
nspawn: rework how arg_read_only is initialized in --volatile= mode
Previously, we'd refuse the combination, and claimed we'd imply it, but
actually didn't. Let's allow the combination and imply read-only from
--volatile=, because that's what's documented, what we claim we do, and
what makes sense.
Lennart Poettering [Fri, 21 Dec 2018 22:33:44 +0000 (23:33 +0100)]
nspawn: refactor how we determine whether it's OK to write to /etc
Lennart Poettering [Wed, 19 Dec 2018 00:03:52 +0000 (01:03 +0100)]
nspawn: no need to make top-level directory a bind mount if we just dissected an image
Lennart Poettering [Wed, 19 Dec 2018 00:02:47 +0000 (01:02 +0100)]
nspawn: slightly reorder mount logic
Let's first setup the volatile logic, and only then mount secondary
partitions of the image in.
Lennart Poettering [Wed, 19 Dec 2018 00:02:06 +0000 (01:02 +0100)]
nspawn: add --volatile=overlay support
Fixes: #11054 #3847
Lennart Poettering [Wed, 19 Dec 2018 00:01:46 +0000 (01:01 +0100)]
nspawn: fix an error path