code: func (a *Driver) Cleanup() error {
  	var dirs []string
  	if err := filepath.Walk(a.mntPath(), func(path string, info os.FileInfo, err error) error {
  		if err != nil {
  			return err
  		}
  		if !info.IsDir() {
  			return nil
  		}
  		dirs = append(dirs, path)
  		return nil
  	}); err != nil {
  		return err
  	}
  
  	for _, m := range dirs {
  		if err := a.unmount(m); err != nil {
  			logger.Debugf("error unmounting %s: %s", m, err)
  		}
  	}
  	return mount.RecursiveUnmount(a.root)
  }
docs: // Cleanup aufs and unmount all mountpoints