func configureFUSE()

in internal/proxy/proxy_other.go [37:55]


func configureFUSE(c *Client, conf *Config) (*Client, error) {
	if _, err := os.Stat(conf.FUSEDir); err != nil {
		return nil, err
	}
	if err := os.MkdirAll(conf.FUSETempDir, 0777); err != nil {
		return nil, err
	}
	c.fuseMount = fuseMount{
		fuseDir:     conf.FUSEDir,
		fuseTempDir: conf.FUSETempDir,
		fuseSockets: map[string]socketSymlink{},
		// Use pointers for the following mutexes so fuseMount may be embedded
		// as a value and support zero value lookups on fuseDir.
		fuseMu:       &sync.Mutex{},
		fuseServerMu: &sync.Mutex{},
		fuseWg:       &sync.WaitGroup{},
	}
	return c, nil
}