Skip to content

Commit e226aea

Browse files
committed
overlay[2]: rm fs checks
Now that we do check if overlay is working by performing an actual overlayfs mount, there's no need in extra checks for the kernel version or the filesystem type. Actual mount check is sufficient. Signed-off-by: Kir Kolyshkin <[email protected]>
1 parent 649e4c8 commit e226aea

2 files changed

Lines changed: 0 additions & 45 deletions

File tree

daemon/graphdriver/overlay/overlay.go

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -136,20 +136,6 @@ func Init(home string, options []string, uidMaps, gidMaps []idtools.IDMap) (grap
136136
return nil, graphdriver.ErrNotSupported
137137
}
138138

139-
fsMagic, err := graphdriver.GetFSMagic(testdir)
140-
if err != nil {
141-
return nil, err
142-
}
143-
if fsName, ok := graphdriver.FsNames[fsMagic]; ok {
144-
backingFs = fsName
145-
}
146-
147-
switch fsMagic {
148-
case graphdriver.FsMagicAufs, graphdriver.FsMagicBtrfs, graphdriver.FsMagicEcryptfs, graphdriver.FsMagicNfsFs, graphdriver.FsMagicOverlay, graphdriver.FsMagicZfs:
149-
logrus.WithField("storage-driver", "overlay").Errorf("'overlay' is not supported over %s", backingFs)
150-
return nil, graphdriver.ErrIncompatibleFS
151-
}
152-
153139
supportsDType, err := fsutils.SupportsDType(testdir)
154140
if err != nil {
155141
return nil, err

daemon/graphdriver/overlay2/overlay.go

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import (
2727
"github.com/docker/docker/pkg/locker"
2828
"github.com/docker/docker/pkg/mount"
2929
"github.com/docker/docker/pkg/parsers"
30-
"github.com/docker/docker/pkg/parsers/kernel"
3130
"github.com/docker/docker/pkg/system"
3231
units "github.com/docker/go-units"
3332
rsystem "github.com/opencontainers/runc/libcontainer/system"
@@ -132,12 +131,6 @@ func Init(home string, options []string, uidMaps, gidMaps []idtools.IDMap) (grap
132131
return nil, err
133132
}
134133

135-
// require kernel 4.0.0 to ensure multiple lower dirs are supported
136-
v, err := kernel.GetKernelVersion()
137-
if err != nil {
138-
return nil, err
139-
}
140-
141134
// Perform feature detection on /var/lib/docker/overlay2 if it's an existing directory.
142135
// This covers situations where /var/lib/docker/overlay2 is a mount, and on a different
143136
// filesystem than /var/lib/docker.
@@ -152,30 +145,6 @@ func Init(home string, options []string, uidMaps, gidMaps []idtools.IDMap) (grap
152145
return nil, graphdriver.ErrNotSupported
153146
}
154147

155-
fsMagic, err := graphdriver.GetFSMagic(testdir)
156-
if err != nil {
157-
return nil, err
158-
}
159-
if fsName, ok := graphdriver.FsNames[fsMagic]; ok {
160-
backingFs = fsName
161-
}
162-
163-
switch fsMagic {
164-
case graphdriver.FsMagicAufs, graphdriver.FsMagicEcryptfs, graphdriver.FsMagicNfsFs, graphdriver.FsMagicOverlay, graphdriver.FsMagicZfs:
165-
logger.Errorf("'overlay2' is not supported over %s", backingFs)
166-
return nil, graphdriver.ErrIncompatibleFS
167-
case graphdriver.FsMagicBtrfs:
168-
// Support for OverlayFS on BTRFS was added in kernel 4.7
169-
// See https://btrfs.wiki.kernel.org/index.php/Changelog
170-
if kernel.CompareKernelVersion(*v, kernel.VersionInfo{Kernel: 4, Major: 7, Minor: 0}) < 0 {
171-
if !opts.overrideKernelCheck {
172-
logger.Errorf("'overlay2' requires kernel 4.7 to use on %s", backingFs)
173-
return nil, graphdriver.ErrIncompatibleFS
174-
}
175-
logger.Warn("Using pre-4.7.0 kernel for overlay2 on btrfs, may require kernel update")
176-
}
177-
}
178-
179148
supportsDType, err := fsutils.SupportsDType(testdir)
180149
if err != nil {
181150
return nil, err

0 commit comments

Comments
 (0)