Browse code

Remove aufs debugEBusy()

Since it was introduced no reports were made and lsof seems to cause
issues on some systems.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>

Kenfe-Mickael Laventure authored on 2017/03/09 07:35:26
Showing 1 changed files
... ...
@@ -272,39 +272,6 @@ func (a *Driver) createDirsFor(id string) error {
272 272
 	return nil
273 273
 }
274 274
 
275
-// Helper function to debug EBUSY errors on remove.
276
-func debugEBusy(mountPath string) (out []string, err error) {
277
-	// lsof is not part of GNU coreutils. This is a best effort
278
-	// attempt to detect offending processes.
279
-	c := exec.Command("lsof")
280
-
281
-	r, err := c.StdoutPipe()
282
-	if err != nil {
283
-		return nil, fmt.Errorf("Assigning pipes failed with %v", err)
284
-	}
285
-
286
-	if err := c.Start(); err != nil {
287
-		return nil, fmt.Errorf("Starting %s failed with %v", c.Path, err)
288
-	}
289
-
290
-	defer func() {
291
-		waiterr := c.Wait()
292
-		if waiterr != nil && err == nil {
293
-			err = fmt.Errorf("Waiting for %s failed with %v", c.Path, waiterr)
294
-		}
295
-	}()
296
-
297
-	sc := bufio.NewScanner(r)
298
-	for sc.Scan() {
299
-		entry := sc.Text()
300
-		if strings.Contains(entry, mountPath) {
301
-			out = append(out, entry, "\n")
302
-		}
303
-	}
304
-
305
-	return out, nil
306
-}
307
-
308 275
 // Remove will unmount and remove the given id.
309 276
 func (a *Driver) Remove(id string) error {
310 277
 	a.locker.Lock(id)
... ...
@@ -331,10 +298,6 @@ func (a *Driver) Remove(id string) error {
331 331
 				return fmt.Errorf("aufs: unmount error: %s: %v", mountpoint, err)
332 332
 			}
333 333
 			if retries >= 5 {
334
-				out, debugErr := debugEBusy(mountpoint)
335
-				if debugErr == nil {
336
-					logrus.Warnf("debugEBusy returned %v", out)
337
-				}
338 334
 				return fmt.Errorf("aufs: unmount error after retries: %s: %v", mountpoint, err)
339 335
 			}
340 336
 			// If unmount returns EBUSY, it could be a transient error. Sleep and retry.
... ...
@@ -353,10 +316,6 @@ func (a *Driver) Remove(id string) error {
353 353
 	if err := os.Rename(mountpoint, tmpMntPath); err != nil && !os.IsNotExist(err) {
354 354
 		if err == syscall.EBUSY {
355 355
 			logrus.Warn("os.Rename err due to EBUSY")
356
-			out, debugErr := debugEBusy(mountpoint)
357
-			if debugErr == nil {
358
-				logrus.Warnf("debugEBusy returned %v", out)
359
-			}
360 356
 		}
361 357
 		return err
362 358
 	}