Files
kata-containers/virtcontainers/syscall.go
Graham whaley d6c3ec864b license: SPDX: update all vc files to use SPDX style
When imported, the vc files carried in the 'full style' apache
license text, but the standard for kata is to use SPDX style.
Update the relevant files to SPDX.

Fixes: #227

Signed-off-by: Graham whaley <graham.whaley@intel.com>
2018-04-18 13:43:15 +01:00

42 lines
987 B
Go

// Copyright 2015 The rkt Authors
// Copyright (c) 2016 Intel Corporation
//
// SPDX-License-Identifier: Apache-2.0
//
package virtcontainers
import (
"fmt"
"os"
"path/filepath"
)
// ensureDestinationExists will recursively create a given mountpoint. If directories
// are created, their permissions are initialized to mountPerm
func ensureDestinationExists(source, destination string) error {
fileInfo, err := os.Stat(source)
if err != nil {
return fmt.Errorf("could not stat source location %v: %v", source, err)
}
targetPathParent, _ := filepath.Split(destination)
if err := os.MkdirAll(targetPathParent, mountPerm); err != nil {
return fmt.Errorf("could not create parent directory %v: %v", targetPathParent, err)
}
if fileInfo.IsDir() {
if err := os.Mkdir(destination, mountPerm); !os.IsExist(err) {
return err
}
} else {
file, err := os.OpenFile(destination, os.O_CREATE, mountPerm)
if err != nil {
return err
}
file.Close()
}
return nil
}