فهرست منبع

devmapper: Use deferred removal

Make use of deferred removal of devices.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Vivek Goyal 10 سال پیش
والد
کامیت
e37c7203bb
1فایلهای تغییر یافته به همراه10 افزوده شده و 2 حذف شده
  1. 10 2
      daemon/graphdriver/devmapper/deviceset.go

+ 10 - 2
daemon/graphdriver/devmapper/deviceset.go

@@ -1287,12 +1287,20 @@ func (devices *DeviceSet) deactivateDevice(info *DevInfo) error {
 	if err != nil {
 	if err != nil {
 		return err
 		return err
 	}
 	}
-	if devinfo.Exists != 0 {
+
+	if devinfo.Exists == 0 {
+		return nil
+	}
+
+	if devices.deferredRemove {
+		if err := devicemapper.RemoveDeviceDeferred(info.Name()); err != nil {
+			return err
+		}
+	} else {
 		if err := devices.removeDevice(info.Name()); err != nil {
 		if err := devices.removeDevice(info.Name()); err != nil {
 			return err
 			return err
 		}
 		}
 	}
 	}
-
 	return nil
 	return nil
 }
 }