sysext: refresh confexts before sysexts on sysupdate notifications

The extension refresh on update did sysext first and then confext but
the units until the previous commit didn't have any ordering. Since it
makes sense to first merge configuration and then the service that might
be influenced by that configuration, this ordering was chosen for the
unit startup path.
Align the update refresh order with the unit startup order.

(cherry picked from commit 2d5e73a485f892059e12d95ef69964bd40d04457)
This commit is contained in:
Kai Lüke
2026-10-16 11:36:32 +01:00
committed by Luca Boccassi
parent 0eee5712fd
commit efa8139061
+4 -3
View File
@@ -3030,12 +3030,13 @@ static int vl_method_on_completed_update(sd_varlink *link, sd_json_variant *para
/* Triggered by systemd-sysupdate after an update completed. We deliberately ignore all parameters
* (we don't even dispatch them). This method is reached through the sysext socket, but a single
* notification refreshes both image classes, so freshly downloaded sysexts and confexts are both
* picked up, equivalent to "systemd-sysext refresh" plus "systemd-confext refresh". We attempt both
* classes and only fail afterwards, so a problem with one does not prevent refreshing the other. */
* picked up, equivalent to "systemd-confext refresh" plus "systemd-sysext refresh", in the same order
* as at boot. We attempt both classes and only fail afterwards, so a problem with one does not
* prevent refreshing the other. */
r = 0;
RET_GATHER(r, refresh_class(IMAGE_SYSEXT));
RET_GATHER(r, refresh_class(IMAGE_CONFEXT));
RET_GATHER(r, refresh_class(IMAGE_SYSEXT));
if (r < 0)
return r;