code: func (devices *DeviceSet) GetDeviceStatus(hash string) (*DevStatus, error) {
  	info, err := devices.lookupDeviceWithLock(hash)
  	if err != nil {
  		return nil, err
  	}
  
  	info.lock.Lock()
  	defer info.lock.Unlock()
  
  	devices.Lock()
  	defer devices.Unlock()
  
  	status := &DevStatus{
  		DeviceID:      info.DeviceID,
  		Size:          info.Size,
  		TransactionID: info.TransactionID,
  	}
  
  	if err := devices.activateDeviceIfNeeded(info, false); err != nil {
  		return nil, fmt.Errorf("devmapper: Error activating devmapper device for '%s': %s", hash, err)
  	}
  
  	sizeInSectors, mappedSectors, highestMappedSector, err := devices.deviceStatus(info.DevName())
  
  	if err != nil {
  		return nil, err
  	}
  
  	status.SizeInSectors = sizeInSectors
  	status.MappedSectors = mappedSectors
  	status.HighestMappedSector = highestMappedSector
  
  	return status, nil
  }
docs: // GetDeviceStatus provides size, mapped sectors