mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-28 08:17:37 +00:00
virtcontainers: change pass by value to pass by reference
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>
This commit is contained in:
parent
c7b4c5eab9
commit
24d7aff60c
@ -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()
|
||||
|
||||
@ -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),
|
||||
@ -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() {
|
||||
|
@ -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
|
||||
}
|
||||
@ -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
|
||||
}
|
||||
@ -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
|
||||
}
|
||||
|
@ -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)
|
||||
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user