Am 05.10.18 um 10:25 schrieb Trek: > On Thu, 4 Oct 2018 21:58:38 +0200 > Michael Biebl <bi...@debian.org> wrote: > >>> 1) revert the 791944 patch, create a new init.d/udev-clear script to >>> remove the control file and run it just after sendsigs (this will >>> restore the old well tested behavior) >> >> The removal of the control file should be bound to the live time of >> the udev service, so splitting it off into a separate init script is >> not a good idea. > > yes, to be sure, we should call udev-clear before sendsigs > > this will mimic the old behavior, where the control file doesn't exists > after sendsigs > > I think this is the first step we should do to restore the > functionality, then we have more time to find the proper solution, but > at least we will not miss another stable release without a functioning > udev + sysvinit + dmsetup/cryptdisks
Tbh, I'm not interested in a quick hack, which we later have to clean up again and is likely to break in other slightly odd ways. And a new, separate init script feels like this. >> A proper solution might (emphasis on might, as I haven't checked this) >> be to teach start-stop-daemon about daemons using the sd-notify >> interface. This is a more elaborate fix, for sure, but everything else >> feels like an incomplete hack. > > yes, probably this is a good solution > > as start-stop-daemon is called in parallel, it could be required to > create a different notify socket per instance, but luckily the client > library manage the NOTIFY_SOCKET environment variable Would you be willing to talk to the dpkg/start-stop-daemon maintainer to gather his input on this matter? Someone else willing/interested in doing this? > another possible solution is to add an option to udev to remove the > control file on exit, as it was in the past Changing systemd-udevd to unlink the control file itself would work. This would require someone to talk to upstream though and convince them to make this change. We've been tirelessly working on reducing the amount of downstream patches and I don't want to add a downstream patch which we'd never get rid off again. So, aside from these two options (providing sd-notify support in s-s-d, unlinking the control in systemd-udevd directly), what you said above got me thinking: We change the init script as follows: - We revert most the changes from #791944, we only keep the stop symlinks for rc0 and rc6 and the cleanup of /run/udev/control file on stop. - We tweak the LSB headers to make sure the udev init script is called before sendsigs on shutdown. This is important! This should ensure that udevd is properly killed and the control file removed, i.e. there should be (almost) no time window where the udevd daemon is not running but the control file exists. On the other hand, this would mean we again stop udevd earlier during shutdown, but we mostly had this behaviour already in previous releases where udevd is killed by sendsigs. I hope the idea is clear, if not, please don't hesitate to ask. Trek, would you be willing to work on an patch for this? -- Why is it that all of the instruments seeking intelligent life in the universe are pointed away from Earth?
signature.asc
Description: OpenPGP digital signature