浏览代码

devmapper: Retry device removal after 100ms instead of 10ms

Right now we try device removal at the interval of 10ms and keep on trying
till either device is removed or 10 seconds are over. That means if device
is busy, we will try 1000 times in those 10 seconds.

Sounds too high a frequency of deivce removal retrial. All the logs are
filled easily. I think it is a good idea to slow down a bit and retry at
the interval of 100ms instead of 10ms.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Vivek Goyal 10 年之前
父节点
当前提交
c737800b7f
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      daemon/graphdriver/devmapper/deviceset.go

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

@@ -1245,7 +1245,7 @@ func (devices *DeviceSet) removeDevice(devname string) error {
 	logrus.Debugf("[devmapper] removeDevice START(%s)", devname)
 	defer logrus.Debugf("[devmapper] removeDevice END(%s)", devname)
 
-	for i := 0; i < 2000; i++ {
+	for i := 0; i < 200; i++ {
 		err = devicemapper.RemoveDevice(devname)
 		if err == nil {
 			break
@@ -1257,7 +1257,7 @@ func (devices *DeviceSet) removeDevice(devname string) error {
 		// If we see EBUSY it may be a transient error,
 		// sleep a bit a retry a few times.
 		devices.Unlock()
-		time.Sleep(10 * time.Millisecond)
+		time.Sleep(100 * time.Millisecond)
 		devices.Lock()
 	}