On Thu, May 15, 2014 at 4:24 PM, Lennart Poettering <lenn...@poettering.net> wrote: > On Tue, 06.05.14 19:08, Michael Marineau (michael.marin...@coreos.com) wrote: > >> If a unit type doesn't provide its own serialization methods then >> none of the generic serialization will happen either. For devices this >> means jobs used for waiting on device dependencies are dropped during >> reloads, breaking dependency state that was relying on those jobs. > > Oh yuck! This is quite some bug, which I figure is the source of quite a > few bug reports we had where people were reloading the daemon during the > boot process... > > I commited a different fix now which avoids installing stub callbacks, > and simply fixes to the core always serialize the job regardless if the > unit has anything else to serialize... > > Please test!
Looks good to me, thanks! > >> --- >> src/core/device.c | 22 ++++++++++++++++++++++ >> 1 file changed, 22 insertions(+) >> >> diff --git a/src/core/device.c b/src/core/device.c >> index 444286e..07c0860 100644 >> --- a/src/core/device.c >> +++ b/src/core/device.c >> @@ -130,6 +130,25 @@ static void device_dump(Unit *u, FILE *f, const char >> *prefix) { >> prefix, strna(d->sysfs)); >> } >> >> +static int device_serialize(Unit *u, FILE *f, FDSet *fds) { >> + assert(u); >> + assert(f); >> + assert(fds); >> + >> + return 0; >> +} >> + >> +static int device_deserialize_item(Unit *u, const char *key, const char >> *value, FDSet *fds) { >> + assert(u); >> + assert(key); >> + assert(value); >> + assert(fds); >> + >> + log_debug("Unknown serialization key '%s'", key); >> + >> + return 0; >> +} >> + >> _pure_ static UnitActiveState device_active_state(Unit *u) { >> assert(u); >> >> @@ -693,6 +712,9 @@ const UnitVTable device_vtable = { >> >> .dump = device_dump, >> >> + .serialize = device_serialize, >> + .deserialize_item = device_deserialize_item, >> + >> .active_state = device_active_state, >> .sub_state_to_string = device_sub_state_to_string, >> > > > Lennart > > -- > Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel