On Thu, Mar 24, 2011 at 8:38 PM, Michal Schmidt <mschm...@redhat.com> wrote: > On Thu, 24 Mar 2011 20:15:10 +0300 Andrey Borzenkov wrote: >> On Thu, Mar 24, 2011 at 7:51 PM, Michal Schmidt <mschm...@redhat.com> >> wrote: >> > In Fedora udev-retry.service exists both as a native unit and as a >> > legacy SysV service. The ordering inferred from the rc.d symlink >> > farm is being incorrectly applied to the native unit: >> > >> >> Then something is fishy. Native unit hides SysV script completely ... >> or at least is supposed to. >> > #ifdef HAVE_SYSV_COMPAT >> > /* Load a classic init script as a fallback, if we couldn't >> > find anything */ >> >> So it implies native unit was not found for whatever reasons. This >> looks like a real bug that has to be fixed. > > The native unit is found. The else branch is taken in this case. The > comment refers to the first branch. >
Yes, you are right. But blindly resetting SysV priority is still wrong - native unit may have defined it as well. This ordering is applied only for service without LSB headers; you have really many of them. It is still not clear whether this is a bug. We assume that SysV script and service unit with the same provide the same service. So what logically follows, if SysV script claims it needs to be started after this service and does not help with stating functional requirements (LSB headers), systemd have to ensure script gets what it asked for ... What probably is needed - systemd has to honour "SysV scripts ordered after my sysv_start_priority", but ignore "my sysv_start_priority ordered after SysV script". Currently it does not even check whether service is native ... so I guess real fix has to go into sysv_fix_order(). >> Could you paste systemctl dump somewhere? Without your patch ... > > http://fpaste.org/1iid/ > > Michal > _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel