This enables deferred device deletion/removal by default if the driver
version in the kernel is new enough to support the feature.
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
| ... | ... |
@@ -1693,16 +1693,6 @@ func (devices *DeviceSet) initDevmapper(doInit bool) (retErr error) {
|
| 1693 | 1693 |
// give ourselves to libdm as a log handler |
| 1694 | 1694 |
devicemapper.LogInit(devices) |
| 1695 | 1695 |
|
| 1696 |
- version, err := devicemapper.GetDriverVersion() |
|
| 1697 |
- if err != nil {
|
|
| 1698 |
- // Can't even get driver version, assume not supported |
|
| 1699 |
- return graphdriver.ErrNotSupported |
|
| 1700 |
- } |
|
| 1701 |
- |
|
| 1702 |
- if err := determineDriverCapabilities(version); err != nil {
|
|
| 1703 |
- return graphdriver.ErrNotSupported |
|
| 1704 |
- } |
|
| 1705 |
- |
|
| 1706 | 1696 |
if err := devices.enableDeferredRemovalDeletion(); err != nil {
|
| 1707 | 1697 |
return err |
| 1708 | 1698 |
} |
| ... | ... |
@@ -2643,6 +2633,22 @@ func NewDeviceSet(root string, doInit bool, options []string, uidMaps, gidMaps [ |
| 2643 | 2643 |
minFreeSpacePercent: defaultMinFreeSpacePercent, |
| 2644 | 2644 |
} |
| 2645 | 2645 |
|
| 2646 |
+ version, err := devicemapper.GetDriverVersion() |
|
| 2647 |
+ if err != nil {
|
|
| 2648 |
+ // Can't even get driver version, assume not supported |
|
| 2649 |
+ return nil, graphdriver.ErrNotSupported |
|
| 2650 |
+ } |
|
| 2651 |
+ |
|
| 2652 |
+ if err := determineDriverCapabilities(version); err != nil {
|
|
| 2653 |
+ return nil, graphdriver.ErrNotSupported |
|
| 2654 |
+ } |
|
| 2655 |
+ |
|
| 2656 |
+ if driverDeferredRemovalSupport && devicemapper.LibraryDeferredRemovalSupport {
|
|
| 2657 |
+ // enable deferred stuff by default |
|
| 2658 |
+ enableDeferredDeletion = true |
|
| 2659 |
+ enableDeferredRemoval = true |
|
| 2660 |
+ } |
|
| 2661 |
+ |
|
| 2646 | 2662 |
foundBlkDiscard := false |
| 2647 | 2663 |
var lvmSetupConfig directLVMConfig |
| 2648 | 2664 |
for _, option := range options {
|