Skip to content

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: kata-containers#2129

Signed-off-by: Wang Liang <wangliangzz@inspur.com>
  • Loading branch information
Wang Liang authored and Eric Ernst committed Oct 31, 2019
1 parent a1a2da6 commit 569bd78
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 569bd78

Please sign in to comment.