[systemd-devel] [PATCH] service: do not apply SysV ordering to native services
Andrey Borzenkov
arvidjaar at gmail.com
Thu Mar 24 10:15:10 PDT 2011
On Thu, Mar 24, 2011 at 7:51 PM, Michal Schmidt <mschmidt at 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.
Could you paste systemctl dump somewhere? Without your patch ...
> - if (u->meta.load_state == UNIT_STUB)
> + if (u->meta.load_state == UNIT_STUB) {
> if ((r = service_load_sysv(s)) < 0)
> return r;
> + } else
> + /* It is native. Since we may have found a legacy service of
> + * the same name in service_enumerate() earlier, clear the SysV
> + * priority now to prevent polluting the unit with SysV
> + * ordering dependencies. */
> + s->sysv_start_priority = -1;
> #endif
>
> /* Still nothing found? Then let's give up */
>
> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel
>
More information about the systemd-devel
mailing list