Re: Unexpected behavior when supervise/ is a broken symlink

From: Laurent Bercot <ska-skaware_at_skarnet.org>
Date: Mon, 26 Oct 2020 09:37:38 +0000

>In a setup where the supervise subdirectory of a service is a symlink to
>some other location (such as with Void where /etc/sv/$svc/supervise is a
>symlink to /run/runit/supervise.$svc) and that target does not currently
>exist, attempting to run the service via s6 results in a failure.

  Thanks for the report.
  Should be fixed in the s6 git head, please test and tell me if it
works for you.
  Note that you will need the skalibs git head to build this version.


>this is an issue is because it's a break from daemontools and runit
>behavior, both of which attempt to fix broken supervise/ symlinks when
>encountered.

  Are you sure? I can see code in runit that makes runsv work with
dangling symlinks, but I can't see anything in daemontools's supervise.
Since mkdir() does not follow dangling symlinks, you have to explicitly
readlink() and mkdir() again, and afaict supervise does not do that.

--
  Laurent
Received on Mon Oct 26 2020 - 09:37:38 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:38:49 UTC