b0ac69b67e
This allows a user to specify explicitly to enable automatic copying of data from the container path to the volume path. This does not change the default behavior of automatically copying, but does allow a user to disable it at runtime. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
28 lines
588 B
Go
28 lines
588 B
Go
package volume
|
|
|
|
import "strings"
|
|
|
|
const (
|
|
// DefaultCopyMode is the copy mode used by default for normal/named volumes
|
|
DefaultCopyMode = true
|
|
)
|
|
|
|
// {<copy mode>=isEnabled}
|
|
var copyModes = map[string]bool{
|
|
"nocopy": false,
|
|
}
|
|
|
|
func copyModeExists(mode string) bool {
|
|
_, exists := copyModes[mode]
|
|
return exists
|
|
}
|
|
|
|
// GetCopyMode gets the copy mode from the mode string for mounts
|
|
func getCopyMode(mode string) (bool, bool) {
|
|
for _, o := range strings.Split(mode, ",") {
|
|
if isEnabled, exists := copyModes[o]; exists {
|
|
return isEnabled, true
|
|
}
|
|
}
|
|
return DefaultCopyMode, false
|
|
}
|