mountlib: correctly daemonize for compatibility with automount - #5593

This patch will:
- add --daemon-wait flag to control the time to wait for background mount
- remove dependency on sevlyar/go-daemon and implement backgrounding directly
- avoid setsid during backgrounding as it can result in race under Automount
- provide a fallback PATH to correctly run `fusermount` under systemd as it
  runs mount units without standard environment variables
- correctly handle ^C pressed while background process is being setting up
This commit is contained in:
Ivan Andreev
2021-08-18 14:07:09 +03:00
parent 8c10dee510
commit 8b8a943dd8
9 changed files with 192 additions and 74 deletions

11
fs/daemon_other.go Normal file
View File

@@ -0,0 +1,11 @@
// Daemonization stub for non-Unix platforms (common definitions)
//go:build windows || plan9 || js
// +build windows plan9 js
package fs
// IsDaemon returns true if this process runs in background
func IsDaemon() bool {
return false
}