Browse Source

devmapper: Ensure we shut down thin pool cleanly.

The change in commit a9fa1a13c3b0a654a96be01ff7ec19e8009b2094
made us only deactivate devices that were mounted. Unfortunately
this made us not deactivate the base device. Which caused
us to not be able to deactivate the pool.

This fixes that by always just deactivating the base device.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Alexander Larsson 11 years ago
parent
commit
66c5e19f9b
1 changed files with 4 additions and 0 deletions
  1. 4 0
      runtime/graphdriver/devmapper/deviceset.go

+ 4 - 0
runtime/graphdriver/devmapper/deviceset.go

@@ -821,6 +821,10 @@ func (devices *DeviceSet) Shutdown() error {
 		info.lock.Unlock()
 		info.lock.Unlock()
 	}
 	}
 
 
+	if err := devices.deactivateDevice(""); err != nil {
+		utils.Debugf("Shutdown deactivate base , error: %s\n", err)
+	}
+
 	if err := devices.deactivatePool(); err != nil {
 	if err := devices.deactivatePool(); err != nil {
 		utils.Debugf("Shutdown deactivate pool , error: %s\n", err)
 		utils.Debugf("Shutdown deactivate pool , error: %s\n", err)
 	}
 	}