]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: Also refresh confext extensions when reloading notify-reload service (#33995)
authorLuca Boccassi <bluca@debian.org>
Tue, 20 May 2025 10:27:34 +0000 (11:27 +0100)
committerGitHub <noreply@github.com>
Tue, 20 May 2025 10:27:34 +0000 (11:27 +0100)
`ExtensionImages=` and `ExtensionDirectories=` now let you specify
vpick-named extensions; however, since they just get set up once when
the service is started, you can't see newer versions without restarting
the service entirely. Here, also reload confext extensions when you
reload a service. This allows you to deploy a new version of some
configuration and have it picked up at reload time without interruption
to your workload.

Right now, we would only reload confext extensions and leave the sysext
ones behind, since it didn't seem prudent to swap out what is likely
program code at reload. This is made possible by only going for the
`SYSTEMD_CONFEXT_HIERARCHIES` overlays (which only contains `/etc`).

This PR:
- Adjusts `service.c` to also refresh extensions when needed.
- Adds integration tests to check that a confext reload actually
occurred.
- Adds to the `systemd.exec` man pages to document this behavior.

This is a follow up to #24864 and #31364. Thank you to @bluca and
@goenkam for help in getting this up.

1  2 
man/systemd.exec.xml
src/core/manager.c
src/core/service.c
src/shared/dissect-image.c

Simple merge
Simple merge
Simple merge
Simple merge