Unverified Commit 519c4f0b authored by Vitaliy Filippov's avatar Vitaliy Filippov Committed by GitHub
Browse files

Merge pull request #57 from zjx20/fix-env

Don't call os.Setenv()
parents 4e410df6 8ea6111b
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -75,9 +75,11 @@ func (geesefs *geesefsMounter) MountDirect(target string, args []string) error {
		"-o", "allow_other",
		"--log-file", "/dev/stderr",
	}, args...)
	os.Setenv("AWS_ACCESS_KEY_ID", geesefs.accessKeyID)
	os.Setenv("AWS_SECRET_ACCESS_KEY", geesefs.secretAccessKey)
	return fuseMount(target, geesefsCmd, args)
	envs := []string{
		"AWS_ACCESS_KEY_ID=" + geesefs.accessKeyID,
		"AWS_SECRET_ACCESS_KEY=" + geesefs.secretAccessKey,
	}
	return fuseMount(target, geesefsCmd, args, envs)
}

type execCmd struct {
+3 −1
Original line number Diff line number Diff line
@@ -57,9 +57,11 @@ func New(meta *s3.FSMeta, cfg *s3.Config) (Mounter, error) {
	}
}

func fuseMount(path string, command string, args []string) error {
func fuseMount(path string, command string, args []string, envs []string) error {
	cmd := exec.Command(command, args...)
	cmd.Stderr = os.Stderr
	// cmd.Environ() returns envs inherited from the current process
	cmd.Env = append(cmd.Environ(), envs...)
	glog.V(3).Infof("Mounting fuse with command: %s and args: %s", command, args)

	out, err := cmd.Output()
+5 −3
Original line number Diff line number Diff line
@@ -47,7 +47,9 @@ func (rclone *rcloneMounter) Mount(target, volumeID string) error {
		args = append(args, fmt.Sprintf("--s3-region=%s", rclone.region))
	}
	args = append(args, rclone.meta.MountOptions...)
	os.Setenv("AWS_ACCESS_KEY_ID", rclone.accessKeyID)
	os.Setenv("AWS_SECRET_ACCESS_KEY", rclone.secretAccessKey)
	return fuseMount(target, rcloneCmd, args)
	envs := []string{
		"AWS_ACCESS_KEY_ID=" + rclone.accessKeyID,
		"AWS_SECRET_ACCESS_KEY=" + rclone.secretAccessKey,
	}
	return fuseMount(target, rcloneCmd, args, envs)
}
+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ func (s3fs *s3fsMounter) Mount(target, volumeID string) error {
		args = append(args, "-o", fmt.Sprintf("endpoint=%s", s3fs.region))
	}
	args = append(args, s3fs.meta.MountOptions...)
	return fuseMount(target, s3fsCmd, args)
	return fuseMount(target, s3fsCmd, args, nil)
}

func writes3fsPass(pwFileContent string) error {