diff --git a/src/core/unit-serialize.c b/src/core/unit-serialize.c index f6305d879a..de71201fdb 100644 --- a/src/core/unit-serialize.c +++ b/src/core/unit-serialize.c @@ -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); diff --git a/src/core/unit.c b/src/core/unit.c index de407d20a8..5f4739b32a 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -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; diff --git a/src/core/unit.h b/src/core/unit.h index 52feb3693b..3b302e7e20 100644 --- a/src/core/unit.h +++ b/src/core/unit.h @@ -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);