Yu Watanabe [Mon, 13 Nov 2023 17:38:09 +0000 (02:38 +0900)]
Merge pull request #30010 from poettering/mount-tool-tweakles
mount-tool: trivial tweaklets
Yu Watanabe [Mon, 13 Nov 2023 17:36:08 +0000 (02:36 +0900)]
Merge pull request #30003 from poettering/vendor-model-unify
udev-util: add generic device_get_{vendor,model}_string() helpers
Lennart Poettering [Mon, 13 Nov 2023 09:58:18 +0000 (10:58 +0100)]
id128: add id128_digest() helper
This helper hashes some arbitrary data and turns it into a v4 UUID.
Zbigniew Jędrzejewski-Szmek [Mon, 13 Nov 2023 14:13:30 +0000 (15:13 +0100)]
ukify: show .sbom sections as binary
Fixup for
e87dec82bec6eff015b368b3c746810d684fc6af:
I misunderstood the format. It's actually CBOR, i.e. some binary format.
When trying to show show text we would first check if it's valid UTF-8,
so we would handle this gracefully, i.e. emit a warning and not print
the contents.
Lennart Poettering [Fri, 10 Nov 2023 15:10:22 +0000 (16:10 +0100)]
udev-util: add generic device_get_{vendor,model}_string() helpers
We chck the same props in various places, add a single implementation of
a call to inquire this.
Lennart Poettering [Mon, 13 Nov 2023 15:23:51 +0000 (16:23 +0100)]
ci: work around mold/clang incompat
See discussion:
https://github.com/systemd/systemd/pull/30003#issuecomment-
1808349258
Lennart Poettering [Mon, 13 Nov 2023 15:12:03 +0000 (16:12 +0100)]
mount-tool: make internal and external column name match
Lennart Poettering [Mon, 13 Nov 2023 13:39:04 +0000 (14:39 +0100)]
mount-tool: rely on format-table.c's ersatz logic
Let the table logic handle the special casing ov unavailable data,
rather than doing that ourselves.
Lennart Poettering [Mon, 13 Nov 2023 13:38:40 +0000 (14:38 +0100)]
mount-tool: reduce scope of enum
Lennart Poettering [Fri, 10 Nov 2023 15:30:30 +0000 (16:30 +0100)]
util-lib: share plymouth client code
Let's add a new "plymouth-util.c" module with helpers for talking to
plymouth. We so far had three places for this, let's unify the code
doing this a bit.
Lennart Poettering [Mon, 13 Nov 2023 13:41:42 +0000 (14:41 +0100)]
Merge pull request #29995 from keszybz/voidify-timestamp-getters
Rename and voidify timestamp getters
Zbigniew Jędrzejewski-Szmek [Wed, 8 Nov 2023 07:31:13 +0000 (08:31 +0100)]
meson: fix printing of first-boot-full-preset
The meson summary logic checks for ENABLE_* and HAVE_*, but we used a define
with no prefix. Let's make it ENABLE_… for consistency with other config
options. Obviously this also fixes the summary output.
Luca Boccassi [Mon, 13 Nov 2023 13:26:38 +0000 (13:26 +0000)]
Merge pull request #29996 from keszybz/ukify-summary-and-sbom-sections
Ukify synopsis and SBOM sections
Yu Watanabe [Mon, 13 Nov 2023 11:28:22 +0000 (20:28 +0900)]
core: rename MemoryZswapCurrent -> MemoryZSwapCurrent
Follow-up for
26caa66867ec921621df023654fc6a2186a21589.
Zbigniew Jędrzejewski-Szmek [Wed, 8 Nov 2023 12:50:39 +0000 (13:50 +0100)]
tree-wide: use the usual spelling of "cannot"
(There's a bunch more in src/basic/linux/, but those files are copied from the
kernel and should not be modified.)
Zbigniew Jędrzejewski-Szmek [Wed, 8 Nov 2023 08:11:07 +0000 (09:11 +0100)]
core/unit: use assert for checking internal call sanity
The only way this could be called with an invalid value would be if
somebody forgot to initialize unit type. In such cases, it's better to
fail hard immediately.
Zbigniew Jędrzejewski-Szmek [Wed, 8 Nov 2023 07:41:16 +0000 (08:41 +0100)]
Rename {dual,triple}_timestamp_get to {dual,triple}_timestamp_now
Those functions take a pointer to a timestamp and return a timestamp pointer,
so the reader would be justified to think that those are just getters. Rename
them to avoid confusion.
Mike Yuan [Mon, 13 Nov 2023 09:08:24 +0000 (17:08 +0800)]
conf-parser: remove unused condition
Follow-up for
9ac2f3c4d2cc02eda32034980461c21232bb746c
config_parse() returns 0 only on ENOENT, which can
never happen since we pass the FILE stream.
Zbigniew Jędrzejewski-Szmek [Mon, 13 Nov 2023 09:41:52 +0000 (10:41 +0100)]
ukify: show .sbom sections as text
There are draft proposals to embed SBOM metadata in the .sbom section of PE
binaries [1], in the coSWID XML format. Some details of how this is actually
implemented might change, but it seems very likely that both section name and
it being text will stay. Let's show the section as text to make such binaries
easier to inspect. ([1] recommends using 'objcopy -j .sbom' which isn't
particularly readable.) Once there's more standarization of the actual
format, we can add pretty-printing and/or syntax highlighting.
[1] https://uefi.org/blog/firmware-sbom-proposal
[2] https://www.ietf.org/archive/id/draft-ietf-sacm-coswid-21.html
Zbigniew Jędrzejewski-Szmek [Mon, 13 Nov 2023 09:17:54 +0000 (10:17 +0100)]
ukify: print a more readable synopsis in --help
The details of formatting are copied from mkosi. This results in the following:
usage:
ukify build [--linux=LINUX] [--initrd=INITRD] [options…]
ukify genkey [options…]
ukify inspect FILE… [options…]
Build and sign Unified Kernel Images
options:
--version show program's version number and exit
...
I put "[options…]" at the end, because that's what one would generally do
with long options like "--cmdline" and others.
Mike Yuan [Mon, 13 Nov 2023 08:40:18 +0000 (16:40 +0800)]
Merge pull request #29990 from Flowdalic/memory-zswap-current
cgroup: add support for memory.zswap.current
Florian Schmaus [Sun, 12 Nov 2023 20:12:02 +0000 (21:12 +0100)]
systemctl-show: merge subsequent swap printf() blocks
Mike Yuan [Thu, 9 Nov 2023 18:54:21 +0000 (02:54 +0800)]
conf-parser: pin seen config files
Follow-up for
93f1da45566d064f4f053b37bbac2813631f58b1
Addresses https://github.com/systemd/systemd/commit/
93f1da45566d064f4f053b37bbac2813631f58b1#r132152321
Florian Schmaus [Sun, 12 Nov 2023 17:17:02 +0000 (18:17 +0100)]
cgroup: add support for memory.zswap.current
Yu Watanabe [Sun, 12 Nov 2023 20:09:47 +0000 (05:09 +0900)]
Merge pull request #29976 from YHNdnzj/session-by-leader-pidref
logind: switch sessions_by_leader to PidRef
Yu Watanabe [Sun, 12 Nov 2023 20:06:44 +0000 (05:06 +0900)]
Merge pull request #29968 from bluca/executor_selinux_lazy_load
executor: lazily load SELinux
Luca Boccassi [Sun, 12 Nov 2023 17:30:44 +0000 (17:30 +0000)]
Merge pull request #29989 from yuwata/conf-parser-arg-type
conf-parser: fix argument type
Yu Watanabe [Sun, 12 Nov 2023 15:37:18 +0000 (00:37 +0900)]
conf-parser: fix argument type of ConfigPerfItemLookup
Prompted by #29972.
Yu Watanabe [Sun, 12 Nov 2023 15:30:01 +0000 (00:30 +0900)]
conf-parser: inline variable declaration
Jeremy Fleischman [Sun, 12 Nov 2023 10:58:09 +0000 (02:58 -0800)]
Fix some typos in RESOLVED-VPNS.md
Mike Yuan [Sun, 12 Nov 2023 08:21:44 +0000 (16:21 +0800)]
Merge pull request #29941 from Flowdalic/cgroup-memory-swap-peak
cgroup: add support for memory.swap.peak and memory.swap.current
Luca Boccassi [Sat, 11 Nov 2023 20:29:03 +0000 (20:29 +0000)]
test: sort files in generate-sym-test.py
The test binaries are different depending on the filesystem, due to os.walk().
Sort the input before iterating on it to make it stable.
Mike Yuan [Thu, 9 Nov 2023 16:51:52 +0000 (00:51 +0800)]
logind: switch sessions_by_leader to PidRef
Luca Boccassi [Fri, 10 Nov 2023 13:10:13 +0000 (13:10 +0000)]
selinux: change fd check into assertion
Luca Boccassi [Fri, 10 Nov 2023 00:22:21 +0000 (00:22 +0000)]
executor: lazily load SELinux
Loading the SELinux DB on every invocation can be slow and
takes 2ms-10ms, so do not initialize it unconditionally, but
wait for the first use. On a mkosi Fedora rawhide image, this
cuts the number of loads in half.
Luca Boccassi [Fri, 10 Nov 2023 00:21:03 +0000 (00:21 +0000)]
selinux: support lazy initialization
Loading the SELinux DB is slow, so support lazy initialization so
that it is done when needed.
Luca Boccassi [Fri, 10 Nov 2023 11:53:11 +0000 (11:53 +0000)]
selinux: avoid probing memory status if debug logs are not enabled
Given we are optimizing the selinux paths, avoid doing these operations
unless the result is actually used
Florian Schmaus [Fri, 10 Nov 2023 10:44:09 +0000 (11:44 +0100)]
cgroup: add support for memory.swap.current
In systemctl-show we only show current swap if ever swapped or non-zero. This
reduces the noise on swapless systems, that would otherwise always show a swap
value that never has the chance to become non-zero. It further reduces the
noise for services that never swapped.
Florian Schmaus [Thu, 9 Nov 2023 08:49:29 +0000 (09:49 +0100)]
cgroup: de-duplicate uni_get_memory_* code
Florian Schmaus [Wed, 8 Nov 2023 18:22:06 +0000 (19:22 +0100)]
cgroup: add support for memory.swap.peak
Mike Yuan [Sat, 11 Nov 2023 07:53:38 +0000 (15:53 +0800)]
core/unit: remove unneeded comparison for hashmap_remove_value
hashmap_remove_value returns NULL if the value in the hashmap doesn't
match with the one provided by the caller.
Mike Yuan [Sat, 11 Nov 2023 07:48:24 +0000 (15:48 +0800)]
pidref: introduce hash ops that doesn't come with destructor
Mike Yuan [Thu, 9 Nov 2023 16:18:53 +0000 (00:18 +0800)]
cgroup-util: introduce cg_pidref_get_unit
Yu Watanabe [Sat, 11 Nov 2023 08:58:14 +0000 (17:58 +0900)]
TODO: fix typo
Yu Watanabe [Sat, 11 Nov 2023 03:44:31 +0000 (12:44 +0900)]
Merge pull request #29929 from poettering/tty-reset-fixes
pid1: various fixes around TTY resets
Yu Watanabe [Sat, 11 Nov 2023 03:39:57 +0000 (12:39 +0900)]
Merge pull request #29958 from mrc0mmand/journal-line_max
journal: recalculate line_max when stdout stream state changes
cvlc12 [Thu, 9 Nov 2023 14:01:48 +0000 (15:01 +0100)]
Update kernel-install man page, Ukify is the default UKI_GENERATOR
Ukify is the default generator, and will be used if UKI_GENERATOR is unset. See https://github.com/systemd/systemd/pull/28687
Luca Boccassi [Fri, 10 Nov 2023 23:16:13 +0000 (23:16 +0000)]
Merge pull request #29982 from poettering/repart-message-tweaks
repart: minor log message tweaks
Clayton Craft [Fri, 27 Oct 2023 19:50:50 +0000 (12:50 -0700)]
boot: load device tree even if no original config exists
Firmware may not have loaded a devicetree, for example if the device
shipped with windows and exclusively supports ACPI.
We should always load the specified devicetree regardless of firmware
state to enable booting on platforms where Linux only supports DT.
Note: in _cleanup, the orig. config is NULL in this case, and passing
NULL to InstallConfigurationTable is permitted by the EFI spec.
See: https://uefi.org/specs/UEFI/2.10/07_Services_Boot_Services.html
Fixes #24059
Co-authored-by: Daniel Thompson <daniel.thompson@linaro.org>
Luca Boccassi [Fri, 10 Nov 2023 22:04:25 +0000 (22:04 +0000)]
Merge pull request #29981 from yuwata/network-dhcp6-pd-without-address
network: fix DHCPv6-PD without addressing
Lennart Poettering [Fri, 10 Nov 2023 21:46:19 +0000 (22:46 +0100)]
repart: downgrade pcrlock pickup log message
This is not relevant in most cases, hence don't mention this all the
time.
Lennart Poettering [Fri, 10 Nov 2023 21:45:57 +0000 (22:45 +0100)]
repart: say on which device we apply things
So far we never mention the device in our output. Let's fix that.
Lennart Poettering [Fri, 10 Nov 2023 21:45:02 +0000 (22:45 +0100)]
repart: when we copy in blocks, indicate we are doing from an offset
At first I thought when using --copy-from= that it was copying in my
whole disk into a partition instead of just a partition into a
partition.
Let's make the log message clearer and say that we copy starting from an
offset.
Lennart Poettering [Fri, 10 Nov 2023 21:44:36 +0000 (22:44 +0100)]
repart: mention how long it took to copy in data blocks
This is quite interesting information, show it.
Lennart Poettering [Wed, 8 Nov 2023 13:11:33 +0000 (14:11 +0100)]
execute: add comment explaining what stdio_as_fds does
Lennart Poettering [Wed, 8 Nov 2023 12:57:09 +0000 (13:57 +0100)]
execute: use right fd to fix tty size
Lennart Poettering [Wed, 8 Nov 2023 12:56:51 +0000 (13:56 +0100)]
execute: make clear what reset_terminal_fd()'s 2nd param is about
Lennart Poettering [Wed, 8 Nov 2023 12:55:58 +0000 (13:55 +0100)]
exec-invoke: only reset tty if we are told to
We have a setting for this, honour it also if we are invoked with
stdin passed in as fd.
Fixes: #29714
Lennart Poettering [Wed, 8 Nov 2023 12:39:49 +0000 (13:39 +0100)]
execute: add new helper exec_context_apply_tty_size()
This combines exec_context_determine_tty_size() and
terminal_set_size_fd() since we always use one after the other.
Also make exec_context_determine_tty_size() return void, since it cannot
fail.
Yu Watanabe [Fri, 10 Nov 2023 18:30:00 +0000 (03:30 +0900)]
test-network: add test case for issue #29979
Yu Watanabe [Fri, 10 Nov 2023 17:30:20 +0000 (02:30 +0900)]
network/dhcp6: skip to check existence of DHCPv6 address when UseAddress=no
Follow-up for
1536b7b2d00819615bf8eba194de7ccd20c3689f and
5f950e56211a90b21e8096ebf27c9c2b8afbd231.
Fixes #29979.
Yu Watanabe [Fri, 10 Nov 2023 17:28:56 +0000 (02:28 +0900)]
network/dhcp6: use link_check_address_ready() at one more place
Yu Watanabe [Fri, 10 Nov 2023 17:39:33 +0000 (02:39 +0900)]
network/dhcp-pd: use correct flag when DHCPv4 6rd is enabled
Previously, Link.dhcp6_configured flag was unconditionally used even if
the route is configured based on the DHCPv4 protocol.
Follow-up for
a27588d4e7f780243a1828e2af56562f9d779412 and
e49bad0179cb670edeac12ef062887af0ac4c8c5.
Lennart Poettering [Fri, 10 Nov 2023 15:11:01 +0000 (16:11 +0100)]
update TODO
Frantisek Sumsal [Fri, 10 Nov 2023 15:38:01 +0000 (16:38 +0100)]
fuzz: pass -Dc_args=/-Dcpp_args= to fuzzer targets
Prompted by #29972, because right now it's practically impossible to pass
-fno-sanitize=function to the fuzzer targets without some extensive
sed'ing.
This splits both c_args and cpp_args to separate arguments for
tools/meson-build.sh, because the other way would be to use `eval`, so
the space-separated but quoted strings passed to these options are not
split where they shouldn't, and I'd rather avoid using `eval` if
possible.
Also, this switches the positional arguments we pass to `meson setup`,
as they were in incorrect order (docs say it should be buildir followed
by sourcedir); meson is apparently clever enough to figure this out and
switch the arguments around if necessary, so it didn't complain.
Luca Boccassi [Fri, 10 Nov 2023 16:52:00 +0000 (16:52 +0000)]
Merge pull request #29955 from poettering/repart-seal-key
repart: add --tpm2-seal-key= support, matching the recently added support cryptenroll has
Luca Boccassi [Fri, 10 Nov 2023 16:47:46 +0000 (16:47 +0000)]
Merge pull request #29947 from poettering/srk-beefup
tpm2: make SRK easily accessible for use with systemd-cryptenroll --tpm2-device-key=
zeroskyx [Fri, 10 Nov 2023 13:32:05 +0000 (14:32 +0100)]
hwdb: Add accelerometer data for Librem11 (#29974)
Luca Boccassi [Thu, 9 Nov 2023 20:22:26 +0000 (20:22 +0000)]
portablectl: fix detaching when an extension image has been deleted
Daniele Medri [Fri, 10 Nov 2023 09:44:50 +0000 (10:44 +0100)]
it.po: updates
Cheng-Chia Tseng [Fri, 10 Nov 2023 11:30:02 +0000 (12:30 +0100)]
po: Translated using Weblate (Chinese (Traditional) (zh_TW))
Currently translated at 83.7% (190 of 227 strings)
Co-authored-by: Cheng-Chia Tseng <pswo10680@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/zh_TW/
Translation: systemd/main
Frantisek Sumsal [Thu, 9 Nov 2023 14:33:31 +0000 (15:33 +0100)]
test: don't pre-process $KERNEL_APPEND
Let's just rely on the word splitting done by bash instead of messing
with that ourselves, as it's just adding extra complexity to appease one
ShellCheck check. Also, this apparently never worked for the nspawn
stuff anyway, since I forgot to set $IFS to an appropriate value, so it
always put all arguments from $KERNEL_APPEND into a single array item
with an extra newline, which then made systemd sad:
~# readarray arr <<< "foo bar baz"; for i in "${arr[@]}"; do echo "'$i'"; done
'foo bar baz
'
~# make -C test/TEST-45-TIMEDATE/ clean setup run BUILD_DIR=$PWD/build TEST_NO_QEMU=1 KERNEL_APPEND="systemd.log_level=console"
...
~# journalctl -o short-monotonic --no-hostname --file /var/tmp/systemd-tests/systemd-test.XaDX67/system.journal --grep "Failed to parse" -p info --no-pager
[551138.986882] systemd-tmpfiles[21]: Failed to parse log level 'console
[551138.987179] systemd-remount-fs[20]: Failed to parse log level 'console
[551138.993125] systemd-sysusers[23]: Failed to parse log level 'console
[551138.998685] journalctl[29]: Failed to parse log level 'console
Resolves: #29945
Luca Boccassi [Thu, 9 Nov 2023 16:30:37 +0000 (16:30 +0000)]
Merge pull request #29954 from DaanDeMeyer/fix
repart: Fix size round up/round down
Yu Watanabe [Thu, 9 Nov 2023 12:47:37 +0000 (21:47 +0900)]
Merge pull request #29937 from yuwata/network-fix-json-format
network: fix json output
Luca Boccassi [Thu, 9 Nov 2023 12:39:10 +0000 (12:39 +0000)]
Merge pull request #29783 from CodethinkLabs/vmspawn/notify-socket-forward-pr
vmspawn - forward messages to notify socket forward
Frantisek Sumsal [Thu, 9 Nov 2023 12:27:02 +0000 (13:27 +0100)]
test: drop the workaround for unexpected newlines
Frantisek Sumsal [Thu, 9 Nov 2023 12:24:57 +0000 (13:24 +0100)]
journal: recalculate line_max when stdout stream state changes
Otherwise we might still use the more restrictive limit when we get to
STDOUT_STREAM_RUNNING, causing unexpected line breaks in the journal
messages.
Follow-up to:
80e9720616
Resolves: #29916
Antonio Alvarez Feijoo [Thu, 9 Nov 2023 11:07:00 +0000 (12:07 +0100)]
bootctl: fix code comment
Frantisek Sumsal [Thu, 9 Nov 2023 10:45:35 +0000 (11:45 +0100)]
test: add one missing assertion
This also makes sure the first signal doesn't "spill" over into the
second check.
Lennart Poettering [Wed, 8 Nov 2023 21:46:44 +0000 (22:46 +0100)]
test: test the new srk extraction functionality
Lennart Poettering [Wed, 8 Nov 2023 21:36:28 +0000 (22:36 +0100)]
man: update --tpm2-device-key= docs to reference the new ways to get the SRK
Lennart Poettering [Wed, 8 Nov 2023 21:34:24 +0000 (22:34 +0100)]
analyze: add "srk" verb to extract current srk from TPM2 chip
This is pretty low-level functionality, hence placed in systemd-analyze.
This is useful for working with systemd-cryptenroll --tpm2-device-key=,
as it acquires the SRK without requiring the full tpm2-tss tool set.
Lennart Poettering [Wed, 8 Nov 2023 21:24:33 +0000 (22:24 +0100)]
tpm2-setup: also save the SRK to the file system in TPM2_PUBLIC format
We already save it in PEM format, also store it TPM2_PUBLIC format next
to it. This is useful for usage with systemd-cryptenroll's
--tpm2-device-key= switch.
Lennart Poettering [Thu, 9 Nov 2023 10:01:23 +0000 (11:01 +0100)]
repart: add missing --tpm2-pcrlock= in --help text
Follow-up for:
404aea7815595c1324947ed7f2a7502b17d3cc01
Lennart Poettering [Thu, 9 Nov 2023 09:59:06 +0000 (10:59 +0100)]
update TODO
Lennart Poettering [Thu, 9 Nov 2023 11:25:07 +0000 (12:25 +0100)]
test: make sure --tpm2-device-key= works correctly in repart, too
Lennart Poettering [Wed, 8 Nov 2023 21:42:51 +0000 (22:42 +0100)]
repart: add --tpm2-device-key= to repart, too
This adds what was added to systemd-cryptenroll recently to
systemd-repart too.
Follow-up for:
c3a2a681bed77ce4f9218cd28405994ab5263077
Lennart Poettering [Wed, 8 Nov 2023 21:37:37 +0000 (22:37 +0100)]
cryptenroll: slightly reorder things
The tpm2_tpm2b_public_from_pem() invocation only makes sense when we
succeed to load the file from disk, hence we might do this together and
safe a conditionalization.
Lennart Poettering [Wed, 8 Nov 2023 20:31:45 +0000 (21:31 +0100)]
tpm2-util: move loading of TPM2B_PUBLIC from disk into tpm2-util.c
No change in behaviour, let's just move this over so that we can reuse
this in repart later (and don't have to export the ugly `sym_` function
pointer for it)
Lennart Poettering [Wed, 8 Nov 2023 19:57:29 +0000 (20:57 +0100)]
repart,cryptenroll: bring tpm2 switches/--help/handling in a single, canonical order
Let's define the same switches and their backing variables in the same
order, and let's make sure the enums and switches are named the same.
No actual code changes.
Daan De Meyer [Thu, 9 Nov 2023 11:10:53 +0000 (12:10 +0100)]
repart: Fix size round up/round down
Currently, we round minimum sizes up and maximum size down, whereas
it should be the opposite as the current approach means that if the
same size is used for min and max, the min size will end up bigger
than the max size after rounding.
Daan De Meyer [Thu, 9 Nov 2023 11:10:11 +0000 (12:10 +0100)]
Set default value for tools tree
This allows overriding it from CLI or previous config file if
required.
Sam Leonard [Thu, 26 Oct 2023 13:03:59 +0000 (14:03 +0100)]
vmspawn: update man page to include vsock options
Sam Leonard [Tue, 31 Oct 2023 11:35:22 +0000 (11:35 +0000)]
vmspawn: added vsock functionality
also includes cosmetic fixups from: https://github.com/systemd/systemd/pull/29874
Florian Schmaus [Thu, 9 Nov 2023 07:59:59 +0000 (08:59 +0100)]
core: fix array size in unit_log_resources()
In
0531bded79dc ("core: include peak memory in unit_log_resources()") new log
messages where added, however the size of the according arrays to hold the
messages was not adjusted.
Fixes:
0531bded79dc ("core: include peak memory in unit_log_resources()")
Lennart Poettering [Wed, 8 Nov 2023 14:36:43 +0000 (15:36 +0100)]
man: document explicitly tha ReadWritePaths= cannot undo superblock read-only settings
Fixes: #29266
Yu Watanabe [Thu, 9 Nov 2023 06:08:31 +0000 (15:08 +0900)]
Merge pull request #29949 from mrc0mmand/even-more-ntp-followups
busctl: send READY=1 when we become a monitor
Yu Watanabe [Thu, 9 Nov 2023 06:07:11 +0000 (15:07 +0900)]
Merge pull request #29939 from YHNdnzj/fdopen-independent-mode
basic/fileio: drop O_CREAT in flags passed to fd_reopen
Frantisek Sumsal [Wed, 8 Nov 2023 23:00:27 +0000 (00:00 +0100)]
test: use Type=notify together with `busctl monitor`
Let's use the newly gained feature of `busctl` and start is as a
Type=notify unit, which should make sure the unit is started only after
`busctl` is on the bus listening for messages.
This should help with a race spotted in CIs, where we continued too
early after starting `busctl monitor` and miss the emitted signals:
[ 10.914831] testsuite-45.sh[694]: + systemd-run --unit busctl-monitor.service --service-type=exec busctl monitor --json=short '--match=type='\''signal'\'',sender=org.freedesktop.timesync1,member='\''PropertiesChanged'\'',path=/org/free>
[ 11.064365] systemd[1]: Starting busctl-monitor.service...
[ 11.064903] systemd[1]: Started busctl-monitor.service.
[ 11.065192] testsuite-45.sh[740]: Running as unit: busctl-monitor.service; invocation ID:
ee44a9d713c34b9a97e3e7f6f4fffe77
...
[ 11.069255] testsuite-45.sh[694]: + timedatectl ntp-servers ntp99 10.0.0.1
[ 11.077140] systemd-timesyncd[728]: Network configuration changed, trying to establish connection.
[ 11.077461] testsuite-45.sh[694]: + assert_networkd_ntp ntp99 10.0.0.1
...
[ 11.087418] testsuite-45.sh[694]: + assert_timesyncd_signal '2023-11-08 16:28:48.861455' LinkNTPServers 10.0.0.1
...
[ 11.095543] testsuite-45.sh[694]: + for _ in {0..9}
[ 11.095543] testsuite-45.sh[694]: + journalctl -q '--since=2023-11-08 16:28:48.861455' -p info _SYSTEMD_UNIT=busctl-monitor.service --grep .
[ 11.193258] systemd-journald[375]: Received client request to sync journal.
[ 11.112424] testsuite-45.sh[694]: + sleep .5
[ 11.160318] dbus-daemon[465]: [system] Connection :1.56 (uid=0 pid=741 comm="/usr/bin/busctl monitor --json=short --match=type=") became a monitor.
Resolves: #29923
Frantisek Sumsal [Wed, 8 Nov 2023 22:57:27 +0000 (23:57 +0100)]
busctl: send READY=1 when we become a monitor
This is pretty much the same stuff as `resolvectl monitor` does, and
allows us to run `busctl monitor` in a Type=notify unit which ensures
that `busctl` is really listening for messages once the unit is marked
as started.