Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

Commit

Permalink
virtcontainers: change pass by value to pass by reference
Browse files Browse the repository at this point in the history
container.config does not point to sandbox.config.Containers.ContainerConfig
which caused the ContainerConfig not sync.

Fixes: #2129

Signed-off-by: Wang Liang <wangliangzz@inspur.com>
  • Loading branch information
Wang Liang committed Oct 12, 2019
1 parent c7b4c5e commit 24d7aff
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 8 deletions.
6 changes: 3 additions & 3 deletions virtcontainers/container.go
Original file line number Diff line number Diff line change
Expand Up @@ -717,7 +717,7 @@ func (c *Container) createBlockDevices() error {
}

// newContainer creates a Container structure from a sandbox and a container configuration.
func newContainer(sandbox *Sandbox, contConfig ContainerConfig) (*Container, error) {
func newContainer(sandbox *Sandbox, contConfig *ContainerConfig) (*Container, error) {
span, _ := sandbox.trace("newContainer")
defer span.Finish()

Expand All @@ -729,7 +729,7 @@ func newContainer(sandbox *Sandbox, contConfig ContainerConfig) (*Container, err
id: contConfig.ID,
sandboxID: sandbox.id,
rootFs: contConfig.RootFs,
config: &contConfig,
config: contConfig,
sandbox: sandbox,
runPath: store.ContainerRuntimeRootPath(sandbox.id, contConfig.ID),
configPath: store.ContainerConfigurationRootPath(sandbox.id, contConfig.ID),
Expand Down Expand Up @@ -812,7 +812,7 @@ func (c *Container) createMounts() error {
return nil
}

func (c *Container) createDevices(contConfig ContainerConfig) error {
func (c *Container) createDevices(contConfig *ContainerConfig) error {
// If sandbox supports "newstore", only newly created container can reach this function,
// so we don't call restore when `supportNewStore` is true
if !c.sandbox.supportNewStore() {
Expand Down
6 changes: 3 additions & 3 deletions virtcontainers/sandbox.go
Original file line number Diff line number Diff line change
Expand Up @@ -1099,7 +1099,7 @@ func (s *Sandbox) fetchContainers() error {
contConfig.Spec = &spec
s.config.Containers[i] = contConfig

c, err := newContainer(s, contConfig)
c, err := newContainer(s, &s.config.Containers[i])
if err != nil {
return err
}
Expand All @@ -1118,7 +1118,7 @@ func (s *Sandbox) fetchContainers() error {
func (s *Sandbox) CreateContainer(contConfig ContainerConfig) (VCContainer, error) {
storeAlreadyExists := store.VCContainerStoreExists(s.ctx, s.id, contConfig.ID)
// Create the container.
c, err := newContainer(s, contConfig)
c, err := newContainer(s, &contConfig)
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -1417,7 +1417,7 @@ func (s *Sandbox) createContainers() error {

for _, contConfig := range s.config.Containers {

c, err := newContainer(s, contConfig)
c, err := newContainer(s, &contConfig)
if err != nil {
return err
}
Expand Down
4 changes: 2 additions & 2 deletions virtcontainers/sandbox_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -621,7 +621,7 @@ func TestSandboxGetContainer(t *testing.T) {

contID := "999"
contConfig := newTestContainerConfigNoop(contID)
nc, err := newContainer(p, contConfig)
nc, err := newContainer(p, &contConfig)
assert.NoError(err)

err = p.addContainer(nc)
Expand Down Expand Up @@ -1043,7 +1043,7 @@ func TestDeleteStoreWhenNewContainerFail(t *testing.T) {
DevType: "",
},
}
_, err = newContainer(p, contConfig)
_, err = newContainer(p, &contConfig)
assert.NotNil(t, err, "New container with invalid device info should fail")
storePath := store.ContainerConfigurationRootPath(testSandboxID, contID)
_, err = os.Stat(storePath)
Expand Down

0 comments on commit 24d7aff

Please sign in to comment.