diff --git a/client/allocdir/alloc_dir.go b/client/allocdir/alloc_dir.go index e2507b4f9..81528fcff 100644 --- a/client/allocdir/alloc_dir.go +++ b/client/allocdir/alloc_dir.go @@ -111,7 +111,7 @@ func (d *AllocDir) Build(tasks []*structs.Task) error { } // Make the shared directory and make it availabe to all user/groups. - if err := os.Mkdir(d.SharedDir, 0777); err != nil { + if err := os.MkdirAll(d.SharedDir, 0777); err != nil { return err } @@ -122,7 +122,7 @@ func (d *AllocDir) Build(tasks []*structs.Task) error { for _, dir := range SharedAllocDirs { p := filepath.Join(d.SharedDir, dir) - if err := os.Mkdir(p, 0777); err != nil { + if err := os.MkdirAll(p, 0777); err != nil { return err } if err := d.dropDirPermissions(p); err != nil { @@ -133,7 +133,7 @@ func (d *AllocDir) Build(tasks []*structs.Task) error { // Make the task directories. for _, t := range tasks { taskDir := filepath.Join(d.AllocDir, t.Name) - if err := os.Mkdir(taskDir, 0777); err != nil { + if err := os.MkdirAll(taskDir, 0777); err != nil { return err } @@ -144,7 +144,7 @@ func (d *AllocDir) Build(tasks []*structs.Task) error { // Create a local directory that each task can use. local := filepath.Join(taskDir, TaskLocal) - if err := os.Mkdir(local, 0777); err != nil { + if err := os.MkdirAll(local, 0777); err != nil { return err } @@ -157,7 +157,7 @@ func (d *AllocDir) Build(tasks []*structs.Task) error { // Create the directories that should be in every task. for _, dir := range TaskDirs { local := filepath.Join(taskDir, dir) - if err := os.Mkdir(local, 0777); err != nil { + if err := os.MkdirAll(local, 0777); err != nil { return err } diff --git a/client/allocdir/alloc_dir_linux.go b/client/allocdir/alloc_dir_linux.go index d8d44af1f..84f87bf72 100644 --- a/client/allocdir/alloc_dir_linux.go +++ b/client/allocdir/alloc_dir_linux.go @@ -29,7 +29,7 @@ func (d *AllocDir) MountSpecialDirs(taskDir string) error { // Mount dev dev := filepath.Join(taskDir, "dev") if !d.pathExists(dev) { - if err := os.Mkdir(dev, 0777); err != nil { + if err := os.MkdirAll(dev, 0777); err != nil { return fmt.Errorf("Mkdir(%v) failed: %v", dev, err) } @@ -41,7 +41,7 @@ func (d *AllocDir) MountSpecialDirs(taskDir string) error { // Mount proc proc := filepath.Join(taskDir, "proc") if !d.pathExists(proc) { - if err := os.Mkdir(proc, 0777); err != nil { + if err := os.MkdirAll(proc, 0777); err != nil { return fmt.Errorf("Mkdir(%v) failed: %v", proc, err) } diff --git a/client/allocdir/alloc_dir_test.go b/client/allocdir/alloc_dir_test.go index 303f2387d..90f25af2c 100644 --- a/client/allocdir/alloc_dir_test.go +++ b/client/allocdir/alloc_dir_test.go @@ -132,7 +132,7 @@ func TestAllocDir_EmbedDirs(t *testing.T) { subDirName := "subdir" subDir := filepath.Join(host, subDirName) - if err := os.Mkdir(subDir, 0777); err != nil { + if err := os.MkdirAll(subDir, 0777); err != nil { t.Fatalf("Failed to make subdir %v: %v", subDir, err) }