code: async def unmount(self, device):
          
          device = self._find_device(device)
          if not self.is_handleable(device) or not device.is_filesystem:
              self._log.warn(_('not unmounting {0}: unhandled device', device))
              return False
          if not device.is_mounted:
              self._log.info(_('not unmounting {0}: not mounted', device))
              return True
          self._log.debug(_('unmounting {0}', device))
          await device.unmount()
          self._log.info(_('unmounted {0}', device))
          return True
docs: Unmount a Device if mounted.
  
          :param device: device object, block device path or mount path
          :returns: whether the device is unmounted