Przeglądaj źródła

Merge pull request #26756 from rhvgoyal/init-rw-layer

layer_store: Use CreateReadWrite() for -init layer instead of Create()
Michael Crosby 8 lat temu
rodzic
commit
d2bc5d6276
4 zmienionych plików z 12 dodań i 2 usunięć
  1. 3 1
      daemon/create.go
  2. 4 0
      daemon/daemon_unix.go
  3. 4 0
      daemon/daemon_windows.go
  4. 1 1
      layer/layer_store.go

+ 3 - 1
daemon/create.go

@@ -201,7 +201,9 @@ func (daemon *Daemon) setRWLayer(container *container.Container) error {
 		}
 		layerID = img.RootFS.ChainID()
 	}
-	rwLayer, err := daemon.layerStore.CreateRWLayer(container.ID, layerID, container.MountLabel, daemon.setupInitLayer, container.HostConfig.StorageOpt)
+
+	rwLayer, err := daemon.layerStore.CreateRWLayer(container.ID, layerID, container.MountLabel, daemon.getLayerInit(), container.HostConfig.StorageOpt)
+
 	if err != nil {
 		return err
 	}

+ 4 - 0
daemon/daemon_unix.go

@@ -779,6 +779,10 @@ func initBridgeDriver(controller libnetwork.NetworkController, config *Config) e
 	return nil
 }
 
+func (daemon *Daemon) getLayerInit() func(string) error {
+	return daemon.setupInitLayer
+}
+
 // setupInitLayer populates a directory with mountpoints suitable
 // for bind-mounting things into the container.
 //

+ 4 - 0
daemon/daemon_windows.go

@@ -61,6 +61,10 @@ func setupInitLayer(initLayer string, rootUID, rootGID int) error {
 	return nil
 }
 
+func (daemon *Daemon) getLayerInit() func(string) error {
+	return nil
+}
+
 func checkKernel() error {
 	return nil
 }

+ 1 - 1
layer/layer_store.go

@@ -586,7 +586,7 @@ func (ls *layerStore) initMount(graphID, parent, mountLabel string, initFunc Mou
 	// then the initID should be randomly generated.
 	initID := fmt.Sprintf("%s-init", graphID)
 
-	if err := ls.driver.Create(initID, parent, mountLabel, storageOpt); err != nil {
+	if err := ls.driver.CreateReadWrite(initID, parent, mountLabel, storageOpt); err != nil {
 		return "", err
 	}
 	p, err := ls.driver.Get(initID, "")