Procházet zdrojové kódy

Container: Inject into the mount, not the rwPath

For device-mapper setups we can't just push the file into the rwPath.
Alexander Larsson před 12 roky
rodič
revize
20bac716b5
1 změnil soubory, kde provedl 7 přidání a 2 odebrání
  1. 7 2
      container.go

+ 7 - 2
container.go

@@ -292,12 +292,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 {
+	if err := container.EnsureMounted(); err != nil {
+		return err
+	}
+
 	// Make sure the directory exists
-	if err := os.MkdirAll(path.Join(container.rwPath(), path.Dir(pth)), 0755); err != nil {
+	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
 	}