Browse code

Modularize dm.use_deferred_removal and dm.use_deferred_deletion logic.

Signed-off-by: Shishir Mahajan <shishir.mahajan@redhat.com>

Shishir Mahajan authored on 2016/06/14 01:05:46
Showing 1 changed files
... ...
@@ -1621,19 +1621,7 @@ func (devices *DeviceSet) loadThinPoolLoopBackInfo() error {
1621 1621
 	return nil
1622 1622
 }
1623 1623
 
1624
-func (devices *DeviceSet) initDevmapper(doInit bool) error {
1625
-	// give ourselves to libdm as a log handler
1626
-	devicemapper.LogInit(devices)
1627
-
1628
-	version, err := devicemapper.GetDriverVersion()
1629
-	if err != nil {
1630
-		// Can't even get driver version, assume not supported
1631
-		return graphdriver.ErrNotSupported
1632
-	}
1633
-
1634
-	if err := determineDriverCapabilities(version); err != nil {
1635
-		return graphdriver.ErrNotSupported
1636
-	}
1624
+func (devices *DeviceSet) enableDeferredRemovalDeletion() error {
1637 1625
 
1638 1626
 	// If user asked for deferred removal then check both libdm library
1639 1627
 	// and kernel driver support deferred removal otherwise error out.
... ...
@@ -1655,6 +1643,26 @@ func (devices *DeviceSet) initDevmapper(doInit bool) error {
1655 1655
 		logrus.Debug("devmapper: Deferred deletion support enabled.")
1656 1656
 		devices.deferredDelete = true
1657 1657
 	}
1658
+	return nil
1659
+}
1660
+
1661
+func (devices *DeviceSet) initDevmapper(doInit bool) error {
1662
+	// give ourselves to libdm as a log handler
1663
+	devicemapper.LogInit(devices)
1664
+
1665
+	version, err := devicemapper.GetDriverVersion()
1666
+	if err != nil {
1667
+		// Can't even get driver version, assume not supported
1668
+		return graphdriver.ErrNotSupported
1669
+	}
1670
+
1671
+	if err := determineDriverCapabilities(version); err != nil {
1672
+		return graphdriver.ErrNotSupported
1673
+	}
1674
+
1675
+	if err := devices.enableDeferredRemovalDeletion(); err != nil {
1676
+		return err
1677
+	}
1658 1678
 
1659 1679
 	// https://github.com/docker/docker/issues/4036
1660 1680
 	if supported := devicemapper.UdevSetSyncSupport(true); !supported {