Commit Graph
76904 Commits
Author SHA1 Message Date
Daan De Meyer ddbddebe0c sysext: Deal with nested mounts properly
Nested mounts should be carried over from host to overlayfs to overlayfs
(and back to host if unmerged). Otherwise you run into hard to debug
issues where merging extensions means you can't unmount those nested mounts
anymore as they are hidden by the overlayfs mount.

To fix this, before unmerging any previous extensions, let's move the nested
mounts from the hierarchy to the workspace, then set up the new hierachy, and
finally, just before moving the hierarchy into place, move the nested mounts
back into place.

Because there might be multiple nested mounts that consists of one or more
mounts stacked on top of each other, we make sure to move all stacked mounts
properly to the overlayfs. The kernel doesn't really provide a nice way to do
this, so we create a stack, pop off each mount onto the stack and then pop from
the stack again to the destination to re-establish the stacked mounts in the same
order in the destination.
2024-10-16 14:18:24 +01:00
Daan De Meyer 5e81ce42e7 sysext: Run unmerge in a subprocess
Preparation for later commit where we need a private mount namespace
for unmerge.
2024-10-16 14:18:24 +01:00
Daan De Meyer 04f0a17e92 mount-util: Make get_submounts() a public function 2024-10-16 11:37:57 +01:00
Yu Watanabe c256fb06d7 Merge pull request #34756 from yuwata/test-oomd-cleanups
TEST-55-OOMD: several cleanups
2024-10-16 18:39:33 +09:00
Yu Watanabe 7693e8d9d0 test: fix TOCTOU in test-json
Follow-up for 60ae3b86fb.
Fixes CID#1563782.
2024-10-16 10:06:57 +01:00
Frantisek Sumsal 8bea6780f2 Merge pull request #34742 from yuwata/test-storage
test: fix multipath test in TEST-64-STORAGE
2024-10-16 10:21:22 +02:00
Yu Watanabe a6092b532e TEST-55-OOMD: check slice property before stressing slice 2024-10-16 15:20:15 +09:00
Yu Watanabe 98a0bb8a64 TEST-55-OOMD: stop test units when unnecessary
Then, sleep becomes not necessary anymore. This greatly improve performance.
2024-10-16 15:18:41 +09:00
Yu Watanabe 665882f8f3 TEST-55-OOMD: check slice more in detail
system and user slice has same name, hence we need to check full path.
2024-10-16 15:17:31 +09:00
Yu Watanabe 6bba058076 TEST-55-OOMD: split into small testcases
Then, we can run each small test cases separately.
2024-10-16 15:17:11 +09:00
Yu Watanabe 23fb9b63cd TEST-55-OOMD: check global config earlier
'Default Memory Pressure Duration' field in oomctl, which can be configured
with DefaultMemoryPressureDurationSec= in oomd.conf, is a global config.
Let's check it earlier.

This also drops unnecessary cleanup at the beginning.
2024-10-16 15:16:16 +09:00
Yu Watanabe 1473836a1e TEST-55-OOMD: set ManagedOOMMemoryPressure= and friends in a drop-in config
Fedora and friends has a drop-in config for the settings in
/usr/lib/systemd/user/slice.d/ . Hence, settings in the main .slice may be
overridden. Let's set below in a drop-in with higher decimal prefix.

Also, rename override.conf -> 99-managed-oom-preference.conf for the same reason.
2024-10-16 14:49:56 +09:00
Michael Ferrari 28dbee46d5 gpt-auto: remove directory check for ESP mount
Ensure that we always attempt to mount the `ESP` partition to `/boot`
when there is no `XBOOTLDR` partition.

Fixes an issue when booting without a `XBOOTLDR` partition and an empty
root partition, since it would mount the `ESP` partition to `/efi/`
unconditionally causing boot entries to not be under `/boot/` as
recommended by the Boot Loader Specification.
2024-10-16 10:09:38 +09:00
Yu Watanabe 548360817e Merge pull request #34482 from bgurney-rh/alt-nvme-multins-symlink-fix
Pin obsolete NVMe symlinks to namespace 1
2024-10-16 10:05:46 +09:00
Yu Watanabe 770980bc13 Merge pull request #34781 from poettering/write-string-rename-full
fileio: write_string_file() naming clean-ups
2024-10-16 06:18:57 +09:00
Yu Watanabe 529fbd25a7 Merge pull request #34719 from poettering/pidref-remote
pidref: add explicit concept of "remote" PidRef
2024-10-16 06:15:26 +09:00
Lennart Poettering 92881e7a4f json-util: initialize "remote" flag for PidRef when parsing JSON pidref serializations
Now that we have a way to recognize "remoteness" of a PidRef, let's make
sure when we decode a JSON pidref we initialize things that way.
2024-10-15 18:26:05 +02:00
Lennart Poettering 7e3e540b88 pidref: add explicit concept of "remote" PidRef
This PidRef just track some data, but cannot be used for any active
operation.

Background: for https://github.com/systemd/systemd/pull/34703 it makes
sense to track explicitly if some PidRef is not a local one, so that we
never attempt to for example "kill a remote process" and thus
acccidentally hit the wrong process (i.e. a local one by the same PID).
2024-10-15 18:26:05 +02:00
Lennart Poettering 518632ce1e debug-generator: create prefix dir of generate unit file
Strictly speaking, it's more correct if we create the prefix path before
writing our unit file.
2024-10-15 18:21:04 +02:00
Lennart Poettering 5048a6bd65 dropin: use WRITE_STRING_FILE_MKDIR_0755 to create drop-in prefix path 2024-10-15 18:21:00 +02:00
Lennart Poettering db21bf5ae9 shared: modernize drop_in_file() a bit
Make the return parameters optional, since we don't actually need them
in all cases (see later commits).
2024-10-15 18:20:57 +02:00
Lennart Poettering 8a0adc973a fileio: clean up write_string_file() naming
let's rename the "_ts" flavour of these calls "_full" instead, exposing
the full functionality. And then keep two more minimal versions around:
one "_at" (which has the ts parameter suppressed, but keeps the dir_fd
one). And one without suffix (which supresses both).

Do the same for the label versions of these calls.
2024-10-15 18:20:27 +02:00
Luca Boccassi e1efa9d804 core: do not fail if ignorable img.v/ vpick dir is missing
Do not fail if the directory is missing entirely, other than just empty

Follow-up for 00f546e25e
Follow-up for 5e79dd96a8
Follow-up for 622efc544d
2024-10-15 18:17:25 +02:00
Lennart Poettering c83818edd1 Merge pull request #34778 from poettering/userdb-error-tweak
userdb: handle userbd replies indicating invalid user/group names like record not found
2024-10-15 18:17:06 +02:00
Bryan Gurney 21ba71f89b TEST-64-UDEV-STORAGE: test for absence of obsolete NVMe symlink
Signed-off-by: Bryan Gurney <bgurney@redhat.com>
2024-10-15 10:22:07 -04:00
Lennart Poettering 34599ddfc6 Merge pull request #34747 from yuwata/busctl-json-fd
busctl: dump passed fd info
2024-10-15 14:38:18 +02:00
Lennart Poettering 69cc4ee134 userdb: return ESRCH if userdb service refuses a user/group name as invalid
if a userdb service refuse a user/group name as invalid, let's turn this
into ESRCH client-side following that there definitely is no user/group
record for a completely invalid user/group name.

Replaces: #34558
2024-10-15 14:15:21 +02:00
Lennart Poettering 12641ecd67 sd-varlink: add new sd_varlink_error_is_invalid_parameter() helper 2024-10-15 14:15:21 +02:00
Lennart Poettering 59577d2416 network: add AF_TO_ADDRESS_FAMILY() helper
Make some code a bit shorter.
2024-10-15 20:44:39 +09:00
Yu Watanabe 7a3ee9217e machine: add MachineImage interface
Follow-up for fb0ea6a6a3.
Fixes #34772.
2024-10-15 20:44:13 +09:00
Yu Watanabe d115bd5ab4 Merge pull request #34771 from ZLima12/run0-root-working-directory
run: fix bug causing run0 to ignore `-D /`.
2024-10-15 20:43:47 +09:00
Yu Watanabe a5f2609828 Merge pull request #34442 from yuwata/network-dhcp6-information-requesting-ia-pd
network/dhcp6: allow to request IA_PD on information requesting mode
2024-10-15 20:42:46 +09:00
Yu Watanabe ba0d3d490f busctl: show information of passed file descriptor 2024-10-15 19:09:38 +09:00
Yu Watanabe 60ae3b86fb sd-json: introduce json_variant_new_fd_info()
Currently this is not used, but will be used later.
2024-10-15 19:09:38 +09:00
Yu Watanabe 32944d1c7a sd-json: introduce json_variant_new_devnum() and friends 2024-10-15 19:09:38 +09:00
Yu Watanabe 28b9c823c7 fs-util: make readlink_malloc() inline 2024-10-15 19:09:38 +09:00
Yu Watanabe c284aa7bf1 busctl: minor coding style cleanups
- rename output parameter of json_transform_and_append(),
- return from call() earlier to reduce indentation,
- add several missing error messages.
2024-10-15 19:09:38 +09:00
John A. Leuenhagen 4ca75488d9 TEST-74-AUX-UTILS: add tests for 'run0 -D' 2024-10-15 18:59:44 +09:00
John A. Leuenhagen 0054a2acc3 run: fix bug causing run0 to ignore -D /.
Since the root directory was being suppressed to NULL, the subsequent
check would erroneously think that no working directory was specified.
This caused the default working directory to be applied instead.
2024-10-15 18:59:44 +09:00
Lennart Poettering 6f9826b6d8 Merge pull request #34723 from poettering/machined-pidref-more
machined: switch remaining Varlink overs over to use json_dispatch_pidref() and friends
2024-10-15 11:37:39 +02:00
Yu Watanabe e71b0e2ec5 network/radv: update comment
DHCPv6PrefixDelegation= is replaced with DHCPPrefixDelegation=.
2024-10-15 18:23:59 +09:00
Yu Watanabe daf9f42f91 man/network: update example for router upstream interface
This comments out all optional settings.
2024-10-15 18:23:59 +09:00
Yu Watanabe 1918eda30d network/dhcp6: process hostname and IA_PD on information requesting mode
Fixes #34299.
2024-10-15 18:23:59 +09:00
Yu Watanabe cf7a403e47 sd-dhcp6-lease: adjust information refresh time with lifetime of IA_PD
For the case when IRT is too large but lifetime of IA_PD is too short.
2024-10-15 18:23:59 +09:00
Yu Watanabe 180cc5421d sd-dhcp6-client: allow to request IA_PD on information requesting mode
To support RFC 7084, WPD-4.
2024-10-15 18:23:59 +09:00
Yu Watanabe 8fead9c9e4 network/dhcp6: set hostname even if UseAddress=no
Follow-up for f963f8953d and
1536b7b2d0.
2024-10-15 18:23:59 +09:00
Yu Watanabe 7860677e03 sd-dhcp6-lease: use free_and_replace_full() 2024-10-15 18:23:59 +09:00
Yu Watanabe 35c279478f Merge pull request #34769 from yuwata/machine-by-name-or-pid
machine: lookup_machine_by_name_or_pid() may return 1 on error and it is already replied
2024-10-15 17:56:48 +09:00
Yu Watanabe 71a886518b man: update documents of "_outbound" addresses
Follow-up for 4adf2653e2.
Addresses https://github.com/systemd/systemd/issues/34739#issuecomment-2412904739.
2024-10-15 09:25:13 +02:00
Yu Watanabe 1f021ce3d1 TEST-13-NSPAWN: several cleanups
- suppress unnecessary error messages, especially in loop and at_exit(),
- ensure the container service is stopped before restarting,
- do not send KILL signal, as garbages will remain, and disturb the next
  invocation,
- drop unnecessary workaround of trying machine twice.
2024-10-15 16:16:25 +09:00