Modularize dm.use_deferred_removal and dm.use_deferred_deletion logic.
Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com> Upstream-commit: cac6658da061f01b4abd5b4bd1a7aeb234e8401d Component: engine
This commit is contained in:
@@ -1621,19 +1621,7 @@ func (devices *DeviceSet) loadThinPoolLoopBackInfo() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (devices *DeviceSet) initDevmapper(doInit bool) error {
|
||||
// give ourselves to libdm as a log handler
|
||||
devicemapper.LogInit(devices)
|
||||
|
||||
version, err := devicemapper.GetDriverVersion()
|
||||
if err != nil {
|
||||
// Can't even get driver version, assume not supported
|
||||
return graphdriver.ErrNotSupported
|
||||
}
|
||||
|
||||
if err := determineDriverCapabilities(version); err != nil {
|
||||
return graphdriver.ErrNotSupported
|
||||
}
|
||||
func (devices *DeviceSet) enableDeferredRemovalDeletion() error {
|
||||
|
||||
// If user asked for deferred removal then check both libdm library
|
||||
// and kernel driver support deferred removal otherwise error out.
|
||||
@@ -1655,6 +1643,26 @@ func (devices *DeviceSet) initDevmapper(doInit bool) error {
|
||||
logrus.Debug("devmapper: Deferred deletion support enabled.")
|
||||
devices.deferredDelete = true
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (devices *DeviceSet) initDevmapper(doInit bool) error {
|
||||
// give ourselves to libdm as a log handler
|
||||
devicemapper.LogInit(devices)
|
||||
|
||||
version, err := devicemapper.GetDriverVersion()
|
||||
if err != nil {
|
||||
// Can't even get driver version, assume not supported
|
||||
return graphdriver.ErrNotSupported
|
||||
}
|
||||
|
||||
if err := determineDriverCapabilities(version); err != nil {
|
||||
return graphdriver.ErrNotSupported
|
||||
}
|
||||
|
||||
if err := devices.enableDeferredRemovalDeletion(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// https://github.com/docker/docker/issues/4036
|
||||
if supported := devicemapper.UdevSetSyncSupport(true); !supported {
|
||||
|
||||
Reference in New Issue
Block a user