mirror of
https://github.com/systemd/systemd.git
synced 2025-01-11 09:18:07 +03:00
core: Do not check child freezability when thawing slice
We want thawing operations to still succeed even in the presence of an unfreezable unit type (e.g. mount) appearing under a slice after the slice was frozen. The appearance of such units should never cause the slice thawing operation to fail to prevent potential future repeats of https://github.com/systemd/systemd/issues/25356.
This commit is contained in:
parent
a484320572
commit
b458659a16
@ -375,7 +375,7 @@ static int slice_freezer_action(Unit *s, FreezerAction action) {
|
||||
assert(s);
|
||||
assert(IN_SET(action, FREEZER_FREEZE, FREEZER_THAW));
|
||||
|
||||
if (!slice_freezer_action_supported_by_children(s)) {
|
||||
if (action == FREEZER_FREEZE && !slice_freezer_action_supported_by_children(s)) {
|
||||
log_unit_warning(s, "Requested freezer operation is not supported by all children of the slice");
|
||||
return 0;
|
||||
}
|
||||
@ -386,8 +386,11 @@ static int slice_freezer_action(Unit *s, FreezerAction action) {
|
||||
|
||||
if (action == FREEZER_FREEZE)
|
||||
r = UNIT_VTABLE(member)->freeze(member);
|
||||
else
|
||||
else if (UNIT_VTABLE(member)->thaw)
|
||||
r = UNIT_VTABLE(member)->thaw(member);
|
||||
else
|
||||
/* Thawing is requested but no corresponding method is available, ignore. */
|
||||
r = 0;
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user