code: func (daemon *Daemon) getLibcontainerdCreateOptions(container *container.Container) (interface{}, error) {
  	// Ensure a runtime has been assigned to this container
  	if container.HostConfig.Runtime == "" {
  		container.HostConfig.Runtime = daemon.configStore.GetDefaultRuntimeName()
  		container.CheckpointTo(daemon.containersReplica)
  	}
  
  	path, err := daemon.getRuntimeScript(container)
  	if err != nil {
  		return nil, err
  	}
  	opts := &runctypes.RuncOptions{
  		Runtime: path,
  		RuntimeRoot: filepath.Join(daemon.configStore.ExecRoot,
  			fmt.Sprintf("runtime-%s", container.HostConfig.Runtime)),
  	}
  
  	if UsingSystemd(daemon.configStore) {
  		opts.SystemdCgroup = true
  	}
  
  	return opts, nil
  }
docs: // getLibcontainerdCreateOptions callers must hold a lock on the container