mirror of
https://github.com/containers/podman.git
synced 2025-08-06 11:32:07 +08:00
libpod: Move getRootNetNsDepCtr to container_internal_common.go
[NO NEW TESTS NEEDED] Signed-off-by: Doug Rabson <dfr@rabson.org>
This commit is contained in:
@ -343,34 +343,6 @@ func (c *Container) addNamespaceContainer(g *generate.Generator, ns LinuxNS, ctr
|
||||
return nil
|
||||
}
|
||||
|
||||
// Retrieves a container's "root" net namespace container dependency.
|
||||
func (c *Container) getRootNetNsDepCtr() (depCtr *Container, err error) {
|
||||
containersVisited := map[string]int{c.config.ID: 1}
|
||||
nextCtr := c.config.NetNsCtr
|
||||
for nextCtr != "" {
|
||||
// Make sure we aren't in a loop
|
||||
if _, visited := containersVisited[nextCtr]; visited {
|
||||
return nil, errors.New("loop encountered while determining net namespace container")
|
||||
}
|
||||
containersVisited[nextCtr] = 1
|
||||
|
||||
depCtr, err = c.runtime.state.Container(nextCtr)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error fetching dependency %s of container %s: %w", c.config.NetNsCtr, c.ID(), err)
|
||||
}
|
||||
// This should never happen without an error
|
||||
if depCtr == nil {
|
||||
break
|
||||
}
|
||||
nextCtr = depCtr.config.NetNsCtr
|
||||
}
|
||||
|
||||
if depCtr == nil {
|
||||
return nil, errors.New("unexpected error depCtr is nil without reported error from runtime state")
|
||||
}
|
||||
return depCtr, nil
|
||||
}
|
||||
|
||||
// Ensure standard bind mounts are mounted into all root directories (including chroot directories)
|
||||
func (c *Container) mountIntoRootDirs(mountName string, mountPath string) error {
|
||||
c.state.BindMounts[mountName] = mountPath
|
||||
|
Reference in New Issue
Block a user