1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-28 03:25:31 +03:00

core/serialization: drop misleadingly-named unit_can_serialize()

All unit types can be serialized. This function was really checking whether the
unit type has custom serialization/deserialization code. But we don't need a
function for this.

Also, the check that both .serialize() and .deserialize_item() are defined is
better written as an assert. Not we have a function which would skip
serialization/deserializaton for the unit if we forgot to set either of the
fields.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2021-06-08 16:30:44 +02:00
parent fe50aae5e1
commit 1085c0eb69
3 changed files with 4 additions and 10 deletions

View File

@ -108,7 +108,9 @@ int unit_serialize(Unit *u, FILE *f, FDSet *fds, bool switching_root) {
fputs(u->id, f);
fputc('\n', f);
if (unit_can_serialize(u)) {
assert(!!UNIT_VTABLE(u)->serialize == !!UNIT_VTABLE(u)->deserialize_item);
if (UNIT_VTABLE(u)->serialize) {
r = UNIT_VTABLE(u)->serialize(u, f, fds);
if (r < 0)
return r;
@ -506,7 +508,7 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
/* Returns positive if key was handled by the call */
continue;
if (unit_can_serialize(u)) {
if (UNIT_VTABLE(u)->deserialize_item) {
r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds);
if (r < 0)
log_unit_warning(u, "Failed to deserialize unit parameter '%s', ignoring.", l);

View File

@ -3488,12 +3488,6 @@ void unit_unwatch_bus_name(Unit *u, const char *name) {
u->get_name_owner_slot = sd_bus_slot_unref(u->get_name_owner_slot);
}
bool unit_can_serialize(Unit *u) {
assert(u);
return UNIT_VTABLE(u)->serialize && UNIT_VTABLE(u)->deserialize_item;
}
int unit_add_node_dependency(Unit *u, const char *what, UnitDependency dep, UnitDependencyMask mask) {
_cleanup_free_ char *e = NULL;
Unit *device;

View File

@ -814,8 +814,6 @@ char *unit_dbus_path_invocation_id(Unit *u);
int unit_load_related_unit(Unit *u, const char *type, Unit **_found);
bool unit_can_serialize(Unit *u) _pure_;
int unit_add_node_dependency(Unit *u, const char *what, UnitDependency d, UnitDependencyMask mask);
int unit_add_blockdev_dependency(Unit *u, const char *what, UnitDependencyMask mask);