Merge pull request #43940 from thaJeztah/remove_legacy_graphdriver_fallback

daemon: remove some legacy fallbacks, and small refactor
This commit is contained in:
Brian Goff 2022-08-17 14:00:27 -07:00 committed by GitHub
commit 031c731c68
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 24 deletions

View File

@ -81,7 +81,6 @@ func (i *ImageService) Cleanup() error {
// GraphDriverName returns the name of the graph drvier // GraphDriverName returns the name of the graph drvier
// moved from Daemon.GraphDriverName, used by: // moved from Daemon.GraphDriverName, used by:
// - newContainer // - newContainer
// - to report an error in Daemon.Mount(container)
func (i *ImageService) GraphDriverName() string { func (i *ImageService) GraphDriverName() string {
return "" return ""
} }

View File

@ -239,29 +239,25 @@ func (daemon *Daemon) restore() error {
log.WithError(err).Error("failed to load container") log.WithError(err).Error("failed to load container")
return return
} }
if !system.IsOSSupported(c.OS) { if c.Driver != daemon.graphDriver {
log.Errorf("failed to load container: %s (%q)", system.ErrNotSupportedOperatingSystem, c.OS) // Ignore the container if it wasn't created with the current storage-driver
log.Debugf("not restoring container because it was created with another storage driver (%s)", c.Driver)
return return
} }
// Ignore the container if it does not support the current driver being used by the graph rwlayer, err := daemon.imageService.GetLayerByID(c.ID)
if (c.Driver == "" && daemon.graphDriver == "aufs") || c.Driver == daemon.graphDriver { if err != nil {
rwlayer, err := daemon.imageService.GetLayerByID(c.ID) log.WithError(err).Error("failed to load container mount")
if err != nil { return
log.WithError(err).Error("failed to load container mount")
return
}
c.RWLayer = rwlayer
log.WithFields(logrus.Fields{
"running": c.IsRunning(),
"paused": c.IsPaused(),
}).Debug("loaded container")
mapLock.Lock()
containers[c.ID] = c
mapLock.Unlock()
} else {
log.Debugf("cannot load container because it was created with another storage driver")
} }
c.RWLayer = rwlayer
log.WithFields(logrus.Fields{
"running": c.IsRunning(),
"paused": c.IsPaused(),
}).Debug("loaded container")
mapLock.Lock()
containers[c.ID] = c
mapLock.Unlock()
}(v.Name()) }(v.Name())
} }
group.Wait() group.Wait()
@ -1277,8 +1273,8 @@ func (daemon *Daemon) Mount(container *container.Container) error {
// on non-Windows operating systems. // on non-Windows operating systems.
if runtime.GOOS != "windows" { if runtime.GOOS != "windows" {
daemon.Unmount(container) daemon.Unmount(container)
return fmt.Errorf("Error: driver %s is returning inconsistent paths for container %s ('%s' then '%s')", return fmt.Errorf("driver %s is returning inconsistent paths for container %s ('%s' then '%s')",
daemon.imageService.GraphDriverName(), container.ID, container.BaseFS, dir) container.Driver, container.ID, container.BaseFS, dir)
} }
} }
container.BaseFS = dir // TODO: combine these fields container.BaseFS = dir // TODO: combine these fields

View File

@ -175,7 +175,6 @@ func (i *ImageService) Cleanup() error {
// GraphDriverName returns the name of the graph drvier // GraphDriverName returns the name of the graph drvier
// moved from Daemon.GraphDriverName, used by: // moved from Daemon.GraphDriverName, used by:
// - newContainer // - newContainer
// - to report an error in Daemon.Mount(container)
func (i *ImageService) GraphDriverName() string { func (i *ImageService) GraphDriverName() string {
return i.layerStore.DriverName() return i.layerStore.DriverName()
} }