chiark / gitweb /
Lennart Poettering [Wed, 19 Nov 2014 15:42:21 +0000 (16:42 +0100)]
busctl: split out introspection parser from tree logic so that we can reuse it for a future "busctl introspect" command
Dave Reisner [Wed, 19 Nov 2014 13:13:34 +0000 (08:13 -0500)]
systemd-logind.service: set Type=notify
The code already calls sd_notify("READY=1"), so we may as well take
advantage of the startup behavior in the unit. The same was done for
the journal in
a87a38c20.
Dan Williams [Tue, 18 Nov 2014 23:13:12 +0000 (17:13 -0600)]
sd-dhcp-lease: load/save client ID
The lease is usually tied to the client ID, so users of the
lease may want to know what client ID it was acquired with.
Dan Williams [Tue, 18 Nov 2014 23:01:20 +0000 (17:01 -0600)]
sd-dhcp-client: allow getting/setting the client ID
The client identifier can be in many different formats, not just
the one that systemd creates from the Ethernet MAC address. Non-
ethernet interfaces may have different client IDs formats. Users
may also have custom client IDs that the wish to use to preserve
lease options delivered by servers configured with the existing
client ID.
Lennart Poettering [Tue, 18 Nov 2014 22:35:46 +0000 (23:35 +0100)]
update TODO
Tom Gundersen [Tue, 18 Nov 2014 18:10:37 +0000 (19:10 +0100)]
sd-dhcp-lease: expose load/save functions
Based on patch by Dan Williams.
Dan Williams [Tue, 4 Nov 2014 17:20:43 +0000 (11:20 -0600)]
sd-dhcp-client: fix REBOOT state handling
client->secs wasn't getting set in the REBOOT state, causing
an assertion. REBOOT should work the same way as INIT, per
RFC 2131:
secs 2 Filled in by client, seconds elapsed since client
began address acquisition or renewal process.
REBOOT is necessary because some DHCP servers (eg on
home routers) do not hand back the same IP address unless the
'ciaddr' field is filled with that address, which DISCOVER
cannot do per the RFCs. This leads to multiple leases
on machine reboot or DHCP client restart.
Susant Sahani [Mon, 17 Nov 2014 10:58:57 +0000 (16:28 +0530)]
namespace: unchecked return value from library
fix:
CID
1237553 (#1 of 6): Unchecked return value from library
(CHECKED_RETURN
CID
1237553 (#3 of 6): Unchecked return value from library
(CHECKED_RETURN)
CID
1237553 (#4 of 6): Unchecked return value from library
(CHECKED_RETURN)
CID
1237553 (#5 of 6): Unchecked return value from library
(CHECKED_RETURN
CID
1237553 (#6 of 6): Unchecked return value from library
(CHECKED_RETURN)
Susant Sahani [Tue, 11 Nov 2014 08:06:33 +0000 (13:36 +0530)]
bus-socket: fix CID#996290 Unchecked return value
Susant Sahani [Tue, 11 Nov 2014 08:06:32 +0000 (13:36 +0530)]
resolve: fix CID#
1237549 Unchecked return value
Susant Sahani [Tue, 11 Nov 2014 08:06:31 +0000 (13:36 +0530)]
log: unchecked return value from library
fix
1237557 Unchecked return value from library
Ronny Chevalier [Sun, 9 Nov 2014 14:42:23 +0000 (15:42 +0100)]
udev: silence TOCTOU warning when creating a directory
CID#979416. There is no real race here to fix, but lets make coverity
happy and rework the code.
Note that we still fail if the directory is removed _after_ we ran
mkdir(), so the same race is still there. Coverity is complaining, though.
Rewrite the code to make it happy.
(David: rewrote the commit-message to note that this is not a race. If I'm
wrong, blame me, not Ronny!)
Thomas Hindoe Paaboel Andersen [Sat, 15 Nov 2014 22:43:09 +0000 (23:43 +0100)]
pam_systemd: remove unused null check
username was already checked with isempty() and cannot be null at
this point.
CID#
1237766
Thomas Hindoe Paaboel Andersen [Sat, 15 Nov 2014 20:32:59 +0000 (21:32 +0100)]
autogen: drop unnecessary -Wno-gnu for the clang shortcut
It is no longer necessary after
65e3a2cf7c3b399853dd309f702ca5078b7d16ea
where -Wno-gnu-variable-sized-type-not-at-end is added if we detect
that the compiler is clang.
Lennart Poettering [Fri, 14 Nov 2014 19:06:20 +0000 (20:06 +0100)]
bus-proxy: avoid redundant name validity checks
Our API calls check the validity of bus names anyway, hence we don't
have to do this before calling them...
Lennart Poettering [Fri, 14 Nov 2014 19:06:01 +0000 (20:06 +0100)]
bus-proxy: properly check for bus name prefixes when enforcing policy
Lennart Poettering [Fri, 14 Nov 2014 17:47:54 +0000 (18:47 +0100)]
bus-proxy: drop broken access check in driver
The access check call was broken (as it tried to read a service name
from the UpdateActivationEnvironment() method call which doesn't carry
any). Also, it's unnecessary to make any access checks here, as we just
forward the call to PID 1 which should do the access checks necessary.
Lennart Poettering [Fri, 14 Nov 2014 17:02:30 +0000 (18:02 +0100)]
kmod-setup: improve for "kdbus" word on the kernel cmdline
We really shouldn't check for words with "strstr()"...
Lennart Poettering [Fri, 14 Nov 2014 16:58:32 +0000 (17:58 +0100)]
kmod: move #ifdef checks for kmod-setup out of main.c into kmod-setup.c
Lennart Poettering [Fri, 14 Nov 2014 16:55:19 +0000 (17:55 +0100)]
update TODO
Lennart Poettering [Fri, 14 Nov 2014 16:20:04 +0000 (17:20 +0100)]
busctl: introduce busctl "get-property" command for reading and dumping object properties
Daniel Mack [Fri, 14 Nov 2014 14:18:56 +0000 (15:18 +0100)]
mount-setup: remove mount_setup_late()
Turns out we can just do kmod_setup() earlier, before we do mount_setup(),
so there's no need for mount_setup_late() anymore. Instead, put kdbusfs in
mount_table[].
Lennart Poettering [Fri, 14 Nov 2014 12:18:33 +0000 (13:18 +0100)]
busctl: various tweaks to "busctl tree" output
Lennart Poettering [Fri, 14 Nov 2014 12:11:45 +0000 (13:11 +0100)]
man: various tweaks for busctl(1) man page
Lennart Poettering [Fri, 14 Nov 2014 12:11:10 +0000 (13:11 +0100)]
busctl: add new "call" command to invoke methods on a service
Lennart Poettering [Fri, 14 Nov 2014 12:05:01 +0000 (13:05 +0100)]
sd-bus: add sd_bus_message_is_empty() for checking whether a message carries any body
Lennart Poettering [Fri, 14 Nov 2014 11:55:18 +0000 (12:55 +0100)]
man: hostnamectl understands -M too
Daniel Mack [Thu, 13 Nov 2014 19:33:03 +0000 (20:33 +0100)]
sd-bus: sync with kdbus upstream (ABI break)
kdbus has seen a larger update than expected lately, most notably with
kdbusfs, a file system to expose the kdbus control files:
* Each time a file system of this type is mounted, a new kdbus
domain is created.
* The layout inside each mount point is the same as before, except
that domains are not hierarchically nested anymore.
* Domains are therefore also unnamed now.
* Unmounting a kdbusfs will automatically also detroy the
associated domain.
* Hence, the action of creating a kdbus domain is now as
privileged as mounting a filesystem.
* This way, we can get around creating dev nodes for everything,
which is last but not least something that is not limited by
20-bit minor numbers.
The kdbus specific bits in nspawn have all been dropped now, as nspawn
can rely on the container OS to set up its own kdbus domain, simply by
mounting a new instance.
A new set of mounts has been added to mount things *after* the kernel
modules have been loaded. For now, only kdbus is in this set, which is
invoked with mount_setup_late().
Daniel Mack [Thu, 13 Nov 2014 10:59:29 +0000 (11:59 +0100)]
bus-proxyd: temporarily disable policy checks again
There are issues to investigate on with policies shipped by some
packages, which we'll address later. Move that topic out of the
way for now to bring sd-bus in sync with upstream kdbus.
Kay Sievers [Thu, 13 Nov 2014 19:35:06 +0000 (20:35 +0100)]
udev: support ENV{}=="" global property matches
Kay Sievers [Thu, 13 Nov 2014 12:50:01 +0000 (13:50 +0100)]
udev: move global property handling from libudev to udevd
Kay Sievers [Thu, 13 Nov 2014 12:11:04 +0000 (13:11 +0100)]
udev: switch to systemd logging functions
Kay Sievers [Thu, 13 Nov 2014 10:42:24 +0000 (11:42 +0100)]
libudev: we do not log errors from libraries
Ronny Chevalier [Tue, 11 Nov 2014 19:05:40 +0000 (20:05 +0100)]
tests: add test-execute
add tests for the following directives:
- WorkingDirectory
- Personality
- IgnoreSIGPIPE
- PrivateTmp
- SystemCallFilter: It makes test/TEST-04-SECCOMP obsolete, so it has
been removed.
- SystemCallErrorNumber
- User
- Group
- Environment
Ronny Chevalier [Tue, 11 Nov 2014 18:48:27 +0000 (19:48 +0100)]
manager: allow test run to catch SIGCHLD events
Otherwise we cannot know when a service exited
Bastien Nocera [Wed, 12 Nov 2014 22:31:08 +0000 (23:31 +0100)]
keymap: Fix special keys on ThinkPad X60/X61 Tablet
KEY_DIRECTION is mapped to XF86RotateWindows, to rotate the display:
http://cgit.freedesktop.org/xkeyboard-config/commit/symbols/inet?id=
ec875f6f9b7c4028e11d32b071989c682e6502bd
And F13 is mapped to XF86Tools, which is closest to the original toolbox
usage:
http://cgit.freedesktop.org/xkeyboard-config/tree/symbols/inet?id=
7a2c4bed212ebbcc05f3c959aef659ce7dd31fd8#n221
Bastien Nocera [Wed, 12 Nov 2014 22:30:46 +0000 (23:30 +0100)]
keymap: Add support for IBM ThinkPad X41 Tablet
Scancode taken from:
http://www.thinkwiki.org/wiki/Tablet_Hardware_Buttons#Linux_Support
William Jon McCann provided the DMI match. IBM seems to have
swapped the version and model of the system:
Manufacturer: IBM
Product Name: 18666TU
Version: ThinkPad X41 Tablet
Lennart Poettering [Wed, 12 Nov 2014 22:44:21 +0000 (23:44 +0100)]
man: fix typo
Lennart Poettering [Wed, 12 Nov 2014 22:44:14 +0000 (23:44 +0100)]
Update TODO
Ronny Chevalier [Wed, 12 Nov 2014 20:42:38 +0000 (21:42 +0100)]
udev: use properly the systemd logging functions
Kay Sievers [Wed, 12 Nov 2014 17:35:18 +0000 (18:35 +0100)]
udev: use the systemd logging functions in udev tools
Daniel Mack [Tue, 11 Nov 2014 17:31:11 +0000 (18:31 +0100)]
sd-bus: pass attach flags to BUS_CREATOR_INFO
kdbus learned parsing the attach flags for the KDBUS_CMD_BUS_CREATOR_INFO
ioctl. Bits not set in this mask will not be exported. Set that field to
_KDBUS_ATTACH_ALL for now.
Signed-off-by: Daniel Mack <daniel@zonque.org>
Lennart Poettering [Tue, 11 Nov 2014 17:12:48 +0000 (18:12 +0100)]
update TODO
Lennart Poettering [Tue, 11 Nov 2014 17:12:40 +0000 (18:12 +0100)]
sysuser: simplify access mode syncing by introducing helper function for it
Daniel Mack [Thu, 23 Oct 2014 11:06:38 +0000 (13:06 +0200)]
bus-proxyd: explicitly address messages to unique and well-known name
In order to check for matching policy entries at message transfers, we
have to consider the following:
* check the currently owned names of both the sending and the receiving
peer. If the sending peer is connected via kdbus, the currently owned
names are already attached to the message. If it was originated by the
connection we're proxying for, we store the owned names in our own strv
so we can check against them.
* Walk the list of names to check which name would allow the message to
pass, and explicitly use that name as destination of the message. If the
destination is on kdbus, store both the connection's unique name and the
chosen well-known-name in the message. That way, the kernel will make sure
the supplied name is owned by the supplied unique name, at the time of
sending, and return -EREMCHG otherwise.
* Make the policy checks optional by retrieving the bus owner creds, and
when the uid matches the current user's uid and is non-null, don't check
the bus policy.
Kay Sievers [Tue, 11 Nov 2014 15:13:59 +0000 (16:13 +0100)]
build-sys: move libsystemd-capability into libsystemd-shared
Michal Schmidt [Tue, 11 Nov 2014 14:36:00 +0000 (15:36 +0100)]
Revert "bus-proxyd: make policy checks optional"
This reverts commit
5bb24cccbce846c0d77e71b70a3be7f4b2ba6c0e.
It does not even compile (unbalanced {)
Daniel Mack [Thu, 23 Oct 2014 11:06:38 +0000 (13:06 +0200)]
bus-proxyd: make policy checks optional
Retrieve the bus owner creds, and when the uid matches the current user's
uid and is non-null, don't check the bus policy.
Daniel Mack [Thu, 9 Oct 2014 11:26:53 +0000 (13:26 +0200)]
bus-proxyd: move name list iteration to policy users
We need to figure out which of the possible names satisfied the policy,
so we cannot do the iteration in check_policy_item() but have to leave it
to the users.
Test cases amended accordingly.
Daniel Mack [Wed, 24 Sep 2014 15:50:31 +0000 (17:50 +0200)]
bus-proxyd: enforce policy for method calls
Daniel Mack [Wed, 24 Sep 2014 15:24:20 +0000 (17:24 +0200)]
bus-proxyd: enforce policy for name ownership
Daniel Mack [Wed, 24 Sep 2014 15:18:35 +0000 (17:18 +0200)]
bus-proxyd: enforce policy for Hello messages
Daniel Mack [Wed, 24 Sep 2014 15:10:31 +0000 (17:10 +0200)]
bus-proxyd: keep track of names acquired by legacy client
Store names successfully acquired by the legacy client into a hashmap.
We need to take these names into account when checking for send policies.
Daniel Mack [Wed, 22 Oct 2014 12:41:53 +0000 (14:41 +0200)]
sd-bus: add sd_bus_message.verify_destination_id and .destination_ptr
kdbus learned to accept both a numerical destination ID as well as a
well-known-name. In that case, kdbus makes sure that the numerical ID is in
fact the owner of the provided name and fails otherwise.
This allows for race-free assertion of a bus name owner while sending a
message, which is a requirement for bus-proxyd.
Add two new fields to sd_bus_message, and set the numerical ID to
verify_destination_id if bus_message_setup_kmsg() is called for a
message with a well-known name.
Also, set the destination's name in the kdbus item to .destination_ptr
if it is non-NULL.
Normal users should not touch these fields, and they're not publicy
accessible.
Lennart Poettering [Mon, 10 Nov 2014 22:45:31 +0000 (23:45 +0100)]
update TODO
Lennart Poettering [Mon, 10 Nov 2014 22:44:34 +0000 (23:44 +0100)]
strv: rework strv_split_quoted() to use unquote_first_word()
This should make the unquoting scheme a bit less naive.
Lennart Poettering [Mon, 10 Nov 2014 19:54:45 +0000 (20:54 +0100)]
bus: when dumping string property values escape the chars we use as end-of-line and end-of-item marks
Ronny Chevalier [Sun, 9 Nov 2014 14:51:04 +0000 (15:51 +0100)]
shared: explicitly ignore the return value of wait_for_terminate
CID#
1237532
CID#
1237523
CID#
1237522
Lennart Poettering [Mon, 10 Nov 2014 19:16:16 +0000 (20:16 +0100)]
man: improve documentation for "indirect" unit file state a bit
Also, correct mentions of "units" instead of "unit files" in the table,
and terminate all sentences with a full stop.
Jan Synacek [Fri, 7 Nov 2014 20:21:05 +0000 (21:21 +0100)]
shared/install: when unit contains only Also=, report 'indirect'
If a unit contains only Also=, with no Alias= or WantedBy=, it shouldn't
be reported as static. New 'indirect' status shall be introduced.
https://bugzilla.redhat.com/show_bug.cgi?id=864298
Lennart Poettering [Mon, 10 Nov 2014 18:25:16 +0000 (19:25 +0100)]
update TODO
Lennart Poettering [Mon, 10 Nov 2014 18:24:48 +0000 (19:24 +0100)]
busctl: add "tree" command to explore object trees
Mantas Mikulėnas [Fri, 7 Nov 2014 14:45:53 +0000 (16:45 +0200)]
inhibit: allow filtering --list by mode
Usually there are a few delay inhibitors all the time (NetworkManager,
Telepathy, etc.), but I'm only interested in the block ones.
Kay Sievers [Mon, 10 Nov 2014 17:59:03 +0000 (18:59 +0100)]
build-sys: do not use "label" functions in libsystemd-shared
Kay Sievers [Mon, 10 Nov 2014 17:22:44 +0000 (18:22 +0100)]
build-sys: test-fdset - add libsystemd-internal
Kay Sievers [Mon, 10 Nov 2014 16:32:29 +0000 (17:32 +0100)]
build-sys: add libcap to libsystemd-shared
Michal Schmidt [Mon, 10 Nov 2014 13:54:57 +0000 (14:54 +0100)]
man: don't refer to undocumented option '--failed'
Lennart Poettering [Mon, 10 Nov 2014 13:44:35 +0000 (14:44 +0100)]
man: don't document systemctl --failed
This effectively reverts
599b6322f19ec619ddc294d0e7880b669040cf66, which
in turn partially reverted
4dc5b821ae737914499119e29811fc3346e3d97c.
The --failed switch is not documented on purpose, since it is redundant
due to --state=failed, which it predates. Due to that it's not
documented in --help either.
We generally try to avoid redundant interfaces, but if we need to keep
them for compatibility we do so, however remove them from documentation
to ensure they are not used in future.
The man page is now changed to include a comment about the fact that
--failed is not documented on purpose. Also, explicitly mention
--state=failed as example for --state.
Ronny Chevalier [Sat, 8 Nov 2014 21:33:02 +0000 (22:33 +0100)]
build-sys: do not include tests in code coverage
Ronny Chevalier [Sat, 8 Nov 2014 21:31:04 +0000 (22:31 +0100)]
update .gitignore
Ronny Chevalier [Sat, 8 Nov 2014 21:05:29 +0000 (22:05 +0100)]
build-sys: link to libsystemd-core only when needed
Multiple executables do not need libsystemd-core
Ronny Chevalier [Sat, 8 Nov 2014 20:55:07 +0000 (21:55 +0100)]
core: remove unused macro GC_QUEUE_USEC_MAX
It is unused since
cf1265e188e876dda906dca0029248a06dc80c33
Ronny Chevalier [Sat, 8 Nov 2014 20:11:19 +0000 (21:11 +0100)]
build-sys: avoid duplication of macro definition
TEST_DIR is already defined in AM_CFLAGS
Ronny Chevalier [Wed, 5 Nov 2014 20:27:01 +0000 (21:27 +0100)]
tests: add test-path
It tests all available directives of Path units:
- PathChanged
- PathModified
- PathExists
- PathExisysGlob
- DirectoryNotEmpty
- MakeDirectory
- DirectoryMode
- Unit
Rami Rosen [Sat, 8 Nov 2014 10:59:01 +0000 (12:59 +0200)]
network: fix typo
IFLA_IPTUN_LINK -> VETH_INFO_PEER
Zbigniew Jędrzejewski-Szmek [Fri, 7 Nov 2014 23:11:53 +0000 (18:11 -0500)]
man: document --failed
https://bugs.debian.org/767267
Tom Gundersen [Fri, 7 Nov 2014 18:19:02 +0000 (19:19 +0100)]
shared: add readlink_value
Reads the basename of the target of a symlink.
Lennart Poettering [Fri, 7 Nov 2014 15:34:37 +0000 (16:34 +0100)]
sysusers: be nice and print a warning if futimens() fails
CID#
1251163
Lennart Poettering [Fri, 7 Nov 2014 15:34:00 +0000 (16:34 +0100)]
utf8: when looking at the next unichar, honour the size parameter, in utf8_is_printable_newline()
Lennart Poettering [Fri, 7 Nov 2014 15:33:03 +0000 (16:33 +0100)]
log: explicitly ignore return value of parse_proc_cmdline()
CID#
1251162
Lennart Poettering [Fri, 7 Nov 2014 15:32:06 +0000 (16:32 +0100)]
core: unify how we create the notify and private dbus socket
Use the same robust logic of mkdir + unlink of any existing AF_UNIX
socket, ignoring the return value, right before bind().
Lennart Poettering [Fri, 7 Nov 2014 15:31:42 +0000 (16:31 +0100)]
update TODO
Zbigniew Jędrzejewski-Szmek [Fri, 7 Nov 2014 02:37:44 +0000 (21:37 -0500)]
man: update bootup(7) for asynchronous timers.target
Lennart Poettering [Fri, 7 Nov 2014 01:05:50 +0000 (02:05 +0100)]
manager: cast mkdir() result to (void) to make sure coverity is quiet
Also simplify the code a bit by moving mkdir to the common path.
Lennart Poettering [Fri, 7 Nov 2014 01:01:47 +0000 (02:01 +0100)]
update TODO
Lennart Poettering [Fri, 7 Nov 2014 00:19:48 +0000 (01:19 +0100)]
util: simplify normalize_env_assignment() a bit
Lennart Poettering [Fri, 7 Nov 2014 00:19:14 +0000 (01:19 +0100)]
util: file_is_priv_sticky() is used internally in util.c only nowadays, make it static
Lennart Poettering [Fri, 7 Nov 2014 00:10:57 +0000 (01:10 +0100)]
update TODO
Michael Chapman [Thu, 6 Nov 2014 08:47:02 +0000 (19:47 +1100)]
timer: reenable TIMER_ACTIVE timers when restarted
A timer configured with OnActiveSec will start its associated unit again
if the timer is stopped, then started. However, if the timer unit is
restarted -- with "systemctl restart", say -- this does not occur.
This commit ensures that TIMER_ACTIVE timers are re-enabled whenever the
timer is started, even if that's within a restart job.
Lennart Poettering [Thu, 6 Nov 2014 23:10:24 +0000 (00:10 +0100)]
util: rework /proc/cmdline parser to use unquote_first_word()
Lennart Poettering [Thu, 6 Nov 2014 20:53:34 +0000 (21:53 +0100)]
util: simplify proc_cmdline() to reuse get_process_cmdline()
Also, make all parsing of the kernel cmdline non-fatal.
Lennart Poettering [Thu, 6 Nov 2014 20:21:39 +0000 (21:21 +0100)]
fileio: simplify write_string_file_atomic() by reusing write_string_stream()
Lennart Poettering [Thu, 6 Nov 2014 20:20:32 +0000 (21:20 +0100)]
copy: change error code when hitting copy limit to EFBIG
After all, this is about files, not arguments, hence EFBIG is more
appropriate than E2BIG
Lennart Poettering [Thu, 6 Nov 2014 20:19:20 +0000 (21:19 +0100)]
copy: teach copy_bytes() sendfile() support, and then replace sendfile_full() by it
Lennart Poettering [Thu, 6 Nov 2014 20:11:10 +0000 (21:11 +0100)]
util: make use of isempty() where appropriate
Michal Schmidt [Thu, 6 Nov 2014 21:24:13 +0000 (22:24 +0100)]
shutdown: fix arguments to /run/initramfs/shutdown
Our initrd interface specifies that the verb is in argv[1].
This is where systemd passes it to systemd-shutdown, but getopt
permutes argv[]. This confuses dracut's shutdown script:
Shutdown called with argument '--log-level'. Rebooting!
getopt can be convinced to not permute argv[] by having '-' as the first
character of optstring. Let's use it. This requires changing the way
non-option arguments (in our case, the verb) are processed.
This fixes a bug where the system would reboot instead of powering off.
Lennart Poettering [Thu, 6 Nov 2014 19:09:27 +0000 (20:09 +0100)]
update TODO
Lennart Poettering [Thu, 6 Nov 2014 19:06:30 +0000 (20:06 +0100)]
s/command-line/command line/g
A follow-up to:
commit
3f85ef0f05ffc51e19f86fb83a1c51e8e3cd6817
Author: Harald Hoyer <harald@redhat.com>
Date: Thu Nov 6 15:33:48 2014 +0100
s/commandline/command line/g
Lennart Poettering [Thu, 6 Nov 2014 19:00:14 +0000 (20:00 +0100)]
machined: reorder method calls in vtable
Lennart Poettering [Thu, 6 Nov 2014 19:00:01 +0000 (20:00 +0100)]
switch-root: explain why we don't care about base_filesystem_create() failing