code: func (u *storageosUtil) DetachVolume(b *storageosUnmounter, devicePath string) error {
  	if !isLoopDevice(devicePath) {
  		return nil
  	}
  	if _, err := os.Stat(devicePath); os.IsNotExist(err) {
  		return nil
  	}
  	return removeLoopDevice(devicePath, b.exec)
  }
docs: // Detach detaches a volume from the host.  This is only needed when NBD is not
  // enabled and loop devices are used to simulate a block device.