mirror of
https://github.com/clearlinux/systemd-stable.git
synced 2026-09-08 14:41:51 +00:00
core: fix property changes in transient units
(cherry picked from commit 6d2357247b)
This commit is contained in:
committed by
Zbigniew Jędrzejewski-Szmek
parent
edc8c0565e
commit
39899c8662
@@ -962,9 +962,6 @@ int bus_unit_set_properties(
|
||||
assert(u);
|
||||
assert(iter);
|
||||
|
||||
if (u->transient)
|
||||
mode &= UNIT_RUNTIME;
|
||||
|
||||
/* We iterate through the array twice. First run we just check
|
||||
* if all passed data is valid, second run actually applies
|
||||
* it. This is to implement transaction-like behaviour without
|
||||
|
||||
+6
-7
@@ -2785,7 +2785,6 @@ static int drop_in_file(Unit *u, UnitSetPropertiesMode mode, const char *name, c
|
||||
assert(name);
|
||||
assert(_p);
|
||||
assert(_q);
|
||||
assert(mode & (UNIT_PERSISTENT|UNIT_RUNTIME));
|
||||
|
||||
b = xescape(name, "/.");
|
||||
if (!b)
|
||||
@@ -2804,7 +2803,7 @@ static int drop_in_file(Unit *u, UnitSetPropertiesMode mode, const char *name, c
|
||||
return -ENOENT;
|
||||
|
||||
p = strjoin(c, "/", u->id, ".d", NULL);
|
||||
} else if (mode & UNIT_PERSISTENT)
|
||||
} else if (mode == UNIT_PERSISTENT && !u->transient)
|
||||
p = strjoin("/etc/systemd/system/", u->id, ".d", NULL);
|
||||
else
|
||||
p = strjoin("/run/systemd/system/", u->id, ".d", NULL);
|
||||
@@ -2830,7 +2829,7 @@ int unit_write_drop_in(Unit *u, UnitSetPropertiesMode mode, const char *name, co
|
||||
assert(name);
|
||||
assert(data);
|
||||
|
||||
if (!(mode & (UNIT_PERSISTENT|UNIT_RUNTIME)))
|
||||
if (!IN_SET(mode, UNIT_PERSISTENT, UNIT_RUNTIME))
|
||||
return 0;
|
||||
|
||||
r = drop_in_file(u, mode, name, &p, &q);
|
||||
@@ -2850,7 +2849,7 @@ int unit_write_drop_in_format(Unit *u, UnitSetPropertiesMode mode, const char *n
|
||||
assert(name);
|
||||
assert(format);
|
||||
|
||||
if (!(mode & (UNIT_PERSISTENT|UNIT_RUNTIME)))
|
||||
if (!IN_SET(mode, UNIT_PERSISTENT, UNIT_RUNTIME))
|
||||
return 0;
|
||||
|
||||
va_start(ap, format);
|
||||
@@ -2873,7 +2872,7 @@ int unit_write_drop_in_private(Unit *u, UnitSetPropertiesMode mode, const char *
|
||||
if (!UNIT_VTABLE(u)->private_section)
|
||||
return -EINVAL;
|
||||
|
||||
if (!(mode & (UNIT_PERSISTENT|UNIT_RUNTIME)))
|
||||
if (!IN_SET(mode, UNIT_PERSISTENT, UNIT_RUNTIME))
|
||||
return 0;
|
||||
|
||||
ndata = strjoin("[", UNIT_VTABLE(u)->private_section, "]\n", data, NULL);
|
||||
@@ -2892,7 +2891,7 @@ int unit_write_drop_in_private_format(Unit *u, UnitSetPropertiesMode mode, const
|
||||
assert(name);
|
||||
assert(format);
|
||||
|
||||
if (!(mode & (UNIT_PERSISTENT|UNIT_RUNTIME)))
|
||||
if (!IN_SET(mode, UNIT_PERSISTENT, UNIT_RUNTIME))
|
||||
return 0;
|
||||
|
||||
va_start(ap, format);
|
||||
@@ -2911,7 +2910,7 @@ int unit_remove_drop_in(Unit *u, UnitSetPropertiesMode mode, const char *name) {
|
||||
|
||||
assert(u);
|
||||
|
||||
if (!(mode & (UNIT_PERSISTENT|UNIT_RUNTIME)))
|
||||
if (!IN_SET(mode, UNIT_PERSISTENT, UNIT_RUNTIME))
|
||||
return 0;
|
||||
|
||||
r = drop_in_file(u, mode, name, &p, &q);
|
||||
|
||||
Reference in New Issue
Block a user