Container: Inject into the mount, not the rwPath

For device-mapper setups we can't just push the file into the rwPath.
Upstream-commit: c1388010731cac1c8ff5159bd72b926545a64e58
Component: engine
This commit is contained in:
Alexander Larsson
2013-09-09 15:56:59 +02:00
committed by Tianon Gravi
parent 4cb2cd0d23
commit f3c281436d

View File

@ -297,12 +297,17 @@ func (settings *NetworkSettings) PortMappingAPI() []APIPort {
// Inject the io.Reader at the given path. Note: do not close the reader
func (container *Container) Inject(file io.Reader, pth string) error {
// Make sure the directory exists
if err := os.MkdirAll(path.Join(container.rwPath(), path.Dir(pth)), 0755); err != nil {
if err := container.EnsureMounted(); err != nil {
return err
}
// Make sure the directory exists
if err := os.MkdirAll(path.Join(container.RootfsPath(), path.Dir(pth)), 0755); err != nil {
return err
}
// FIXME: Handle permissions/already existing dest
dest, err := os.Create(path.Join(container.rwPath(), pth))
dest, err := os.Create(path.Join(container.RootfsPath(), pth))
if err != nil {
return err
}