code: func (m *ManagerImpl) writeCheckpoint() error {
  	m.mutex.Lock()
  	registeredDevs := make(map[string][]string)
  	for resource, devices := range m.healthyDevices {
  		registeredDevs[resource] = devices.UnsortedList()
  	}
  	data := checkpoint.New(m.podDevices.toCheckpointData(),
  		registeredDevs)
  	m.mutex.Unlock()
  	err := m.checkpointManager.CreateCheckpoint(kubeletDeviceManagerCheckpoint, data)
  	if err != nil {
  		return fmt.Errorf("failed to write checkpoint file %q: %v", kubeletDeviceManagerCheckpoint, err)
  	}
  	return nil
  }
docs: // Checkpoints device to container allocation information to disk.