]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Use -nofork for bosserver in openafs-fileserver.service
authorBenjamin Kaduk <kaduk@mit.edu>
Fri, 7 Jul 2017 14:20:29 +0000 (09:20 -0500)
committerBenjamin Kaduk <kaduk@mit.edu>
Fri, 7 Jul 2017 14:20:29 +0000 (09:20 -0500)
So that we can use Type=simple.
This fixes an issue where systemd would stop tracking us after
a rebozo event (like weekly restarts or bos restart -bosserver),
since after re-exec() we also re-daemon(), and the parent process
(which is the one systemd is tracking) exits cleanly.  That's taken
as a signal to shut things down with the ExecStop command of
bos shutdown, which works as intended and leaves things stopped.

This slightly increases the window between when systemd thinks
we are started and ready to serve traffic and the time when we
are actually ready to serve traffic (now systemd thinks we're ready
at process start, versus when the parent exits), but that difference
is just argument parsing, loading up the bnode types, creating dirs
and switching to them.  It doesn't include starting up Rx or the
child processes for the configured bnodes.

Change-Id: I8d8665e529ecd8f679b5f2c697991333f6d1a7a6

debian/changelog
debian/openafs-fileserver.service

index ba3d06e81e0883847ca0e9b1ef6b1fbfd00712c1..843b1e3152ed249a26fe7a6f2525191164138532 100644 (file)
@@ -14,6 +14,8 @@ openafs (1.6.21-1) UNRELEASED; urgency=medium
       thread exhaustion during CPS recalculation.
     - Avoid a potential 100ms transmit delay in RX when the peer's receive
       window advances.
+  * Switch openafs-fileserver.service to Type=simple and pass -nofork to
+    bosserver.  (Closes: #865962)
 
  -- Benjamin Kaduk <kaduk@mit.edu>  Thu, 06 Jul 2017 09:19:27 -0500
 
index 43b2bf8cd647a904cd494d9fffc75c051ee61897..aba59a32cb870d9494d04b2104aa3b40ea3728f5 100755 (executable)
@@ -4,9 +4,9 @@ Wants=network-online.target
 After=network.target network-online.target local-fs.target
 
 [Service]
-Type=forking
+Type=simple
 EnvironmentFile=-/etc/default/openafs-fileserver
-ExecStart=/usr/sbin/bosserver $DAEMON_ARGS
+ExecStart=/usr/sbin/bosserver -nofork $DAEMON_ARGS
 ExecStop=/usr/bin/bos shutdown localhost -wait -localauth
 
 [Install]