From c737800b7faced4b53854c8cb6766ebe58a3c3e9 Mon Sep 17 00:00:00 2001 From: Vivek Goyal Date: Thu, 2 Apr 2015 16:47:14 -0400 Subject: [PATCH] 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 --- daemon/graphdriver/devmapper/deviceset.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/daemon/graphdriver/devmapper/deviceset.go b/daemon/graphdriver/devmapper/deviceset.go index 183ad9b6f5..a5ad0e676c 100644 --- a/daemon/graphdriver/devmapper/deviceset.go +++ b/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() }