Bläddra i källkod

devmapper: Use deferred removal

Make use of deferred removal of devices.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Vivek Goyal 10 år sedan
förälder
incheckning
e37c7203bb
1 ändrade filer med 10 tillägg och 2 borttagningar
  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 {
 		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 {
 			return err
 		}
 	}
-
 	return nil
 }