Adrian Vovk [Wed, 4 Sep 2024 17:44:26 +0000 (13:44 -0400)]
GREEDY_REALLOC_APPEND: Make more type safe
Previously, GREEDY_REALLOC_APPEND would compile perfectly fine and cause
subtle memory corruption if the caller messes up the type they're passing
in (i.e. by forgetting to pass-by-reference when appending a Type* to an
array of Type*). Now this will lead to compilation failure
Lennart Poettering [Thu, 17 Oct 2024 12:43:19 +0000 (14:43 +0200)]
Merge pull request #34801 from poettering/async-sd-notify-close
pid1: close unexpected fds received via sd_notify() asyncronously
Lennart Poettering [Thu, 17 Oct 2024 12:42:25 +0000 (14:42 +0200)]
Merge pull request #34795 from YHNdnzj/bump-kernel-baseline-5.4
Bump kernel baseline to 5.4
Lennart Poettering [Thu, 17 Oct 2024 07:57:41 +0000 (09:57 +0200)]
udev: consider serial ports as unconfigured only if both port and iomem_base sysattr is zero
Various archs do not know the "io port" concept, hence check for the
"iomem" configuration, too.
Fixes: #34800
Lennart Poettering [Thu, 17 Oct 2024 07:46:16 +0000 (09:46 +0200)]
pid1: close fds we receive via sd_notify() and cannot make use of asynchronously
This addresses #11112 fully. It mostly was addressed by
99620f457ed0886852ba18c9093b59767299121c already, but for fds not
even passed to the fdstore, this adds the missing asynchronous close
codepath.
Fixes: #11112
Lennart Poettering [Thu, 17 Oct 2024 07:43:37 +0000 (09:43 +0200)]
fdset: optionally, close remaining fds asynchronously
Yu Watanabe [Thu, 17 Oct 2024 05:30:13 +0000 (14:30 +0900)]
Merge pull request #34597 from ryantimwilson/oomd-pressure-duration
Add ManagedOOMMemoryPressureDurationSec override setting for units
Ryan Wilson [Tue, 15 Oct 2024 04:13:36 +0000 (21:13 -0700)]
Reformat load-fragment-gperf.gperf.in
This commit reformats load-fragment-gperf.gperf.in after changes
made for adding the ManagedOOMMemoryPressureDurationSec= property.
Ryan Wilson [Tue, 15 Oct 2024 03:49:54 +0000 (20:49 -0700)]
cgroup: Add ManagedOOMMemoryPressureDurationSec= override setting for units
This will allow units (scopes/slices/services) to override the default
systemd-oomd setting DefaultMemoryPressureDurationSec=.
The semantics of ManagedOOMMemoryPressureDurationSec= are:
- If >= 1 second, overrides DefaultMemoryPressureDurationSec= from oomd.conf
- If is empty, uses DefaultMemoryPressureDurationSec= from oomd.conf
- Ignored if ManagedOOMMemoryPressure= is not "kill"
- Disallowed if < 1 second
Note the corresponding dbus property is DefaultMemoryPressureDurationUSec
which is in microseconds. This is consistent with other time-based
dbus properties.
Ryan Wilson [Wed, 16 Oct 2024 17:40:30 +0000 (10:40 -0700)]
oomd: Refactor DefaultMemoryPressureDurationSec= to use conf parser
Parsing DefaultMemoryPressureDurationSec= is currently split between
conf parser, main() and manager_start() methods. This commit centralizes
parsing and bounds checking logic within a single custom conf parser
function.
Yu Watanabe [Wed, 16 Oct 2024 22:23:36 +0000 (07:23 +0900)]
Merge pull request #34797 from yuwata/test-mount
TEST-60: several cleanups and potential performance improvement
Yu Watanabe [Wed, 16 Oct 2024 13:34:48 +0000 (22:34 +0900)]
TEST-60-MOUNT-RATELIMIT: disable journal ratelimiting
Otherwise, journal check in testcase_mount_ratelimit() may fail and we
need to wait 2 minutes.
Yu Watanabe [Wed, 16 Oct 2024 13:32:09 +0000 (22:32 +0900)]
TEST-60-MOUNT-RATEMINIT: split into small test cases
Then, use run_testcases().
Yu Watanabe [Wed, 16 Oct 2024 12:17:15 +0000 (21:17 +0900)]
TEST-60-MOUNT-RATELIMIT: wait for mount unit being started or stopped
Yu Watanabe [Wed, 16 Oct 2024 16:52:03 +0000 (01:52 +0900)]
Merge pull request #34793 from yuwata/journalctl-copy-arguments
journalctl: copy arguments
Mike Yuan [Tue, 15 Oct 2024 16:36:51 +0000 (18:36 +0200)]
Bump kernel recommended baseline to v5.4
Mike Yuan [Tue, 15 Oct 2024 16:33:49 +0000 (18:33 +0200)]
NEWS: rearrange incompatible changes, separate from Future Removals
Yu Watanabe [Wed, 16 Oct 2024 15:49:56 +0000 (00:49 +0900)]
Yu Watanabe [Wed, 16 Oct 2024 15:48:40 +0000 (00:48 +0900)]
Yu Watanabe [Wed, 16 Oct 2024 15:46:42 +0000 (00:46 +0900)]
Yu Watanabe [Wed, 16 Oct 2024 15:44:38 +0000 (00:44 +0900)]
Yu Watanabe [Wed, 16 Oct 2024 15:11:17 +0000 (00:11 +0900)]
Merge pull request #34381 from DaanDeMeyer/extension-submounts
sysext: Deal with nested mounts properly
Luca Boccassi [Wed, 16 Oct 2024 10:42:06 +0000 (11:42 +0100)]
Fix maybe-uninitialized warnings with gcc 14.2
../src/resolve/resolved-bus.c: In function ‘call_link_method’:
../src/resolve/resolved-bus.c:1769:16: warning: ‘l’ may be used uninitialized [-Wmaybe-uninitialized]
1769 | return handler(message, l, error);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../src/resolve/resolved-bus.c:1755:15: note: ‘l’ was declared here
1755 | Link *l;
| ^
../src/resolve/resolved-bus.c: In function ‘bus_method_get_link’:
../src/resolve/resolved-bus.c:1828:13: warning: ‘l’ may be used uninitialized [-Wmaybe-uninitialized]
1828 | p = link_bus_path(l);
| ^~~~~~~~~~~~~~~~
../src/resolve/resolved-bus.c:1816:15: note: ‘l’ was declared here
1816 | Link *l;
| ^
xujing [Wed, 16 Oct 2024 07:19:09 +0000 (15:19 +0800)]
pid1: add env var to override default mount rate limit interval
Similar to
24a4542c.
24a4542c can only be set 1 in 1s at most,
sometimes we may need to set to something else(such as 1 in 2s).
So it's best to let the user decide.
This also allows users to solve #34690.
Yu Watanabe [Wed, 16 Oct 2024 10:34:18 +0000 (19:34 +0900)]
journalctl: do not directly use optarg, but copy optarg before use
Otherwise, if the process forks child processes, then the arguments
cannot be used from them.
To avoid potential issues like the one fixed by
6d3012bab4ce4c1ed260598d05b4e9f2ea471658.
Luca Boccassi [Wed, 16 Oct 2024 13:43:14 +0000 (14:43 +0100)]
Merge pull request #34791 from poettering/live-mount-tweak
tweaks to live mount property logging
Daan De Meyer [Thu, 12 Sep 2024 18:42:02 +0000 (20:42 +0200)]
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.
Daan De Meyer [Thu, 12 Sep 2024 18:28:01 +0000 (20:28 +0200)]
sysext: Run unmerge in a subprocess
Preparation for later commit where we need a private mount namespace
for unmerge.
Yu Watanabe [Wed, 16 Oct 2024 10:27:36 +0000 (19:27 +0900)]
journalctl: erase verify key before free
Even optarg is erased, copied string was not erased.
Let's erase the copied key for safety.
Daan De Meyer [Thu, 12 Sep 2024 10:20:56 +0000 (12:20 +0200)]
mount-util: Make get_submounts() a public function
Yu Watanabe [Wed, 16 Oct 2024 09:39:33 +0000 (18:39 +0900)]
Merge pull request #34756 from yuwata/test-oomd-cleanups
TEST-55-OOMD: several cleanups
Yu Watanabe [Wed, 16 Oct 2024 05:35:32 +0000 (14:35 +0900)]
test: fix TOCTOU in test-json
Follow-up for
60ae3b86fb52d545b279e3927d2214462385e734.
Fixes CID#
1563782.
Lennart Poettering [Wed, 16 Oct 2024 08:45:10 +0000 (10:45 +0200)]
core: move debug logging from _can_live_mount() functions to caller
Let's debug log the returned dbus error where we want the logging, but
don't log it, where we don't.
This removes the noisy logging from the property handler for the
CanLiveMount property, but keeps it in place for the MountImage() method
call where we want it.
Alternative to #34175
Follow-up for
5162829ec87df20c7af763bdf274735bf9e53552 and
1cafbecabecc619b4e147abd9925282d0ff323bd
Luca Boccassi [Thu, 29 Aug 2024 15:10:46 +0000 (16:10 +0100)]
core: one more Mount -> LiveMount rename
Missed by earlier search-and-replace
Follow-up for
5162829ec87df20c7af763bdf274735bf9e53552
Frantisek Sumsal [Wed, 16 Oct 2024 08:21:22 +0000 (10:21 +0200)]
Merge pull request #34742 from yuwata/test-storage
test: fix multipath test in TEST-64-STORAGE
Yu Watanabe [Wed, 16 Oct 2024 06:20:08 +0000 (15:20 +0900)]
TEST-55-OOMD: check slice property before stressing slice
Yu Watanabe [Wed, 16 Oct 2024 06:18:41 +0000 (15:18 +0900)]
TEST-55-OOMD: stop test units when unnecessary
Then, sleep becomes not necessary anymore. This greatly improve performance.
Yu Watanabe [Wed, 16 Oct 2024 06:12:32 +0000 (15:12 +0900)]
TEST-55-OOMD: check slice more in detail
system and user slice has same name, hence we need to check full path.
Yu Watanabe [Wed, 16 Oct 2024 06:04:07 +0000 (15:04 +0900)]
TEST-55-OOMD: split into small testcases
Then, we can run each small test cases separately.
Yu Watanabe [Wed, 16 Oct 2024 05:52:49 +0000 (14:52 +0900)]
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.
Yu Watanabe [Fri, 11 Oct 2024 07:09:11 +0000 (16:09 +0900)]
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.
Michael Ferrari [Tue, 15 Oct 2024 16:42:20 +0000 (18:42 +0200)]
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.
Yu Watanabe [Wed, 16 Oct 2024 01:05:46 +0000 (10:05 +0900)]
Merge pull request #34482 from bgurney-rh/alt-nvme-multins-symlink-fix
Pin obsolete NVMe symlinks to namespace 1
Yu Watanabe [Tue, 15 Oct 2024 21:18:57 +0000 (06:18 +0900)]
Merge pull request #34781 from poettering/write-string-rename-full
fileio: write_string_file() naming clean-ups
Yu Watanabe [Tue, 15 Oct 2024 21:15:26 +0000 (06:15 +0900)]
Merge pull request #34719 from poettering/pidref-remote
pidref: add explicit concept of "remote" PidRef
Lennart Poettering [Fri, 11 Oct 2024 15:14:26 +0000 (17:14 +0200)]
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.
Lennart Poettering [Fri, 11 Oct 2024 09:33:42 +0000 (11:33 +0200)]
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).
Lennart Poettering [Tue, 15 Oct 2024 13:36:06 +0000 (15:36 +0200)]
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.
Lennart Poettering [Tue, 15 Oct 2024 13:35:25 +0000 (15:35 +0200)]
dropin: use WRITE_STRING_FILE_MKDIR_0755 to create drop-in prefix path
Lennart Poettering [Tue, 15 Oct 2024 13:34:35 +0000 (15:34 +0200)]
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).
Lennart Poettering [Tue, 15 Oct 2024 13:32:55 +0000 (15:32 +0200)]
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.
Luca Boccassi [Tue, 15 Oct 2024 13:05:50 +0000 (14:05 +0100)]
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
00f546e25e8
Follow-up for
5e79dd96a88
Follow-up for
622efc544dc
Lennart Poettering [Tue, 15 Oct 2024 16:17:06 +0000 (18:17 +0200)]
Merge pull request #34778 from poettering/userdb-error-tweak
userdb: handle userbd replies indicating invalid user/group names like record not found
Bryan Gurney [Tue, 15 Oct 2024 14:22:07 +0000 (10:22 -0400)]
TEST-64-UDEV-STORAGE: test for absence of obsolete NVMe symlink
Signed-off-by: Bryan Gurney <bgurney@redhat.com>
Lennart Poettering [Tue, 15 Oct 2024 12:38:18 +0000 (14:38 +0200)]
Merge pull request #34747 from yuwata/busctl-json-fd
busctl: dump passed fd info
Lennart Poettering [Tue, 15 Oct 2024 11:59:57 +0000 (13:59 +0200)]
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
Lennart Poettering [Tue, 15 Oct 2024 11:40:24 +0000 (13:40 +0200)]
sd-varlink: add new sd_varlink_error_is_invalid_parameter() helper
Lennart Poettering [Tue, 15 Oct 2024 09:38:55 +0000 (11:38 +0200)]
network: add AF_TO_ADDRESS_FAMILY() helper
Make some code a bit shorter.
Yu Watanabe [Tue, 15 Oct 2024 08:39:00 +0000 (17:39 +0900)]
machine: add MachineImage interface
Follow-up for
fb0ea6a6a36b5fa97e6c57d608bb9f7acb63c8b2.
Fixes #34772.
Yu Watanabe [Tue, 15 Oct 2024 11:43:47 +0000 (20:43 +0900)]
Merge pull request #34771 from ZLima12/run0-root-working-directory
run: fix bug causing run0 to ignore `-D /`.
Yu Watanabe [Tue, 15 Oct 2024 11:42:46 +0000 (20:42 +0900)]
Merge pull request #34442 from yuwata/network-dhcp6-information-requesting-ia-pd
network/dhcp6: allow to request IA_PD on information requesting mode
Yu Watanabe [Sun, 13 Oct 2024 04:17:26 +0000 (13:17 +0900)]
busctl: show information of passed file descriptor
Yu Watanabe [Sun, 13 Oct 2024 03:56:10 +0000 (12:56 +0900)]
sd-json: introduce json_variant_new_fd_info()
Currently this is not used, but will be used later.
Yu Watanabe [Tue, 15 Oct 2024 00:15:19 +0000 (09:15 +0900)]
sd-json: introduce json_variant_new_devnum() and friends
Yu Watanabe [Sun, 13 Oct 2024 03:07:25 +0000 (12:07 +0900)]
fs-util: make readlink_malloc() inline
Yu Watanabe [Sun, 13 Oct 2024 04:21:36 +0000 (13:21 +0900)]
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.
John A. Leuenhagen [Tue, 15 Oct 2024 06:00:18 +0000 (02:00 -0400)]
TEST-74-AUX-UTILS: add tests for 'run0 -D'
John A. Leuenhagen [Tue, 15 Oct 2024 04:57:52 +0000 (00:57 -0400)]
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.
Lennart Poettering [Tue, 15 Oct 2024 09:37:39 +0000 (11:37 +0200)]
Merge pull request #34723 from poettering/machined-pidref-more
machined: switch remaining Varlink overs over to use json_dispatch_pidref() and friends
Yu Watanabe [Mon, 16 Sep 2024 02:37:35 +0000 (11:37 +0900)]
network/radv: update comment
DHCPv6PrefixDelegation= is replaced with DHCPPrefixDelegation=.
Yu Watanabe [Sun, 15 Sep 2024 20:12:50 +0000 (05:12 +0900)]
man/network: update example for router upstream interface
This comments out all optional settings.
Yu Watanabe [Sun, 15 Sep 2024 20:03:57 +0000 (05:03 +0900)]
network/dhcp6: process hostname and IA_PD on information requesting mode
Fixes #34299.
Yu Watanabe [Sun, 15 Sep 2024 20:02:06 +0000 (05:02 +0900)]
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.
Yu Watanabe [Sun, 15 Sep 2024 20:00:57 +0000 (05:00 +0900)]
sd-dhcp6-client: allow to request IA_PD on information requesting mode
To support RFC 7084, WPD-4.
Yu Watanabe [Sun, 15 Sep 2024 19:45:13 +0000 (04:45 +0900)]
Yu Watanabe [Sun, 15 Sep 2024 19:12:02 +0000 (04:12 +0900)]
sd-dhcp6-lease: use free_and_replace_full()
Yu Watanabe [Tue, 15 Oct 2024 08:56:48 +0000 (17:56 +0900)]
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
Yu Watanabe [Tue, 15 Oct 2024 05:15:31 +0000 (14:15 +0900)]
man: update documents of "_outbound" addresses
Follow-up for
4adf2653e2a68d4d593b46734fd9e24721a8d449.
Addresses https://github.com/systemd/systemd/issues/34739#issuecomment-
2412904739.
Yu Watanabe [Tue, 15 Oct 2024 05:03:02 +0000 (14:03 +0900)]
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.
Yu Watanabe [Tue, 15 Oct 2024 04:17:29 +0000 (13:17 +0900)]
machine: trivial coding style cleanups
Yu Watanabe [Tue, 15 Oct 2024 04:14:15 +0000 (13:14 +0900)]
machine: fix memleak in vl_method_list_images()
Fixes an issue in
fb0ea6a6a36b5fa97e6c57d608bb9f7acb63c8b2.
Yu Watanabe [Tue, 15 Oct 2024 02:20:13 +0000 (11:20 +0900)]
machine: lookup_machine_by_name_or_pid() may return 1 on error and it is already replied
Follow-ups for
1bd979dddbb6ed3ffe410d78a7ff80cbb1c42a64 and later
commits.
Fixes #34764.
Yu Watanabe [Tue, 15 Oct 2024 04:06:00 +0000 (13:06 +0900)]
Merge pull request #34752 from yuwata/udev-remove-database-on-remove
udev: remove database file on remove event
Yu Watanabe [Tue, 15 Oct 2024 01:54:58 +0000 (10:54 +0900)]
Merge pull request #34736 from yuwata/network-mtu
network: wait for IPv6 MTU being synced to link MTU
Yu Watanabe [Tue, 15 Oct 2024 01:51:50 +0000 (10:51 +0900)]
Merge pull request #34744 from yuwata/oom-cleanups
oom: sort output of oomctl by cgroup path
Yu Watanabe [Sun, 13 Oct 2024 16:28:23 +0000 (01:28 +0900)]
TEST-17-UDEV: check if udev database file is removed on remove event
Yu Watanabe [Mon, 14 Oct 2024 21:22:24 +0000 (06:22 +0900)]
udev: do not try to lock whole block device on remove event
As another device may be created with the same device node while udevd
is processing the remove event of the previous owner of the device node.
This also adds comment why we skip watching device node on remove.
Yu Watanabe [Tue, 15 Oct 2024 01:48:31 +0000 (10:48 +0900)]
Merge pull request #34755 from YHNdnzj/soft-reboot-generator-cmdline
core/manager: pass soft-reboot count to generators
Mike Yuan [Mon, 14 Oct 2024 16:31:14 +0000 (18:31 +0200)]
hibernate-resume-generator: don't initiate resume if soft-rebooted
This is just paranoia, to ensure that we don't accidentally
initiate resume if the initrd is entered through soft-reboot
rather than the initial one for booting up.
Mike Yuan [Mon, 30 Sep 2024 19:21:53 +0000 (21:21 +0200)]
gpt-auto: use RET_GATHER at one more place
Mike Yuan [Sat, 28 Sep 2024 13:54:42 +0000 (15:54 +0200)]
core/manager: pass soft-reboot count to generators
soft-reboot allows switching into a different root/installation,
i.e. potentially invalidate settings from kernel cmdline and such.
Let's hence inform generators about soft-reboots.
Mike Yuan [Fri, 11 Oct 2024 15:57:06 +0000 (17:57 +0200)]
core/manager: minor cleanup for generator_path_any() and friends
Mike Yuan [Mon, 14 Oct 2024 16:13:35 +0000 (18:13 +0200)]
shared/exec-util: modernize execute_strv() and friends a bit
do_spawn() is also called during execute_strv(), so rename
"direxec" to "exec-inner".
Mike Yuan [Fri, 11 Oct 2024 15:53:34 +0000 (17:53 +0200)]
shared/exec-util: minor rearrangement, drop unused EXEC_DIR_NONE
Mike Yuan [Fri, 11 Oct 2024 16:04:17 +0000 (18:04 +0200)]
basic/stat-util: use xopenat() where appropriate
Yu Watanabe [Sat, 12 Oct 2024 07:43:15 +0000 (16:43 +0900)]
network: wait for IPv6 MTU being synced to link MTU
The kernel resets the IPv6 MTU of an interface when its link MTU is changed.
But it seems the operation is asynchronous, and even when we detect that
the link MTU is changed, the IPv6 MTU may not be reset yet.
====
[ 2257.067613] systemd-networkd[447122]: veth99: MTU is changed: 1500 →1600 (min: 68, max: 65535)
[ 2257.067641] systemd-networkd[447122]: Setting '/proc/sys/net/ipv6/conf/veth99/mtu' to '1410'
[ 2257.067711] systemd-networkd[447122]: No change in value '1410', suppressing write
====
As you can see, even if the link MTU is changed to 1600, the IPv6 MTU is
unchanged (in this case, still 1410).
Yu Watanabe [Sat, 12 Oct 2024 07:45:05 +0000 (16:45 +0900)]
network/sysctl: make link_set_ipv6_mtu() log failures
No functional change, just refactoring.
Yu Watanabe [Mon, 14 Oct 2024 21:52:19 +0000 (06:52 +0900)]
network/route: use sysctl_read_ip_property_int() for reading route/max_size
Yu Watanabe [Sat, 12 Oct 2024 07:40:19 +0000 (16:40 +0900)]
sysctl-util: introduce sysctl_read_ip_property_int() and _uint32()
Currently not used, but will be used later.
Yu Watanabe [Sun, 13 Oct 2024 15:55:43 +0000 (00:55 +0900)]
udev: do not re-create database on remove event
Fixes a bug introduced by
f6bda694f908cc227b002570b893029aa4c9e173 (v256).
With the offending commit, on remove event, database file for a device is once
removed in event_execute_rules_on_remove(), but later re-created here.
This fixes the issue, and makes the database file not re-created on remove event.