code: func (svm *serviceVM) hotAddVHDsAtStart(mvds ...hcsshim.MappedVirtualDisk) error {
  	svm.Lock()
  	defer svm.Unlock()
  	for i, mvd := range mvds {
  		if _, ok := svm.attachedVHDs[mvd.HostPath]; ok {
  			svm.attachedVHDs[mvd.HostPath].refCount++
  			logrus.Debugf("lcowdriver: UVM %s: %s already present, refCount now %d", svm.config.Name, mvd.HostPath, svm.attachedVHDs[mvd.HostPath].refCount)
  			continue
  		}
  
  		svm.attachCounter++
  		shortContainerPath := remapLongToShortContainerPath(mvd.ContainerPath, svm.attachCounter, svm.config.Name)
  		if err := svm.config.HotAddVhd(mvd.HostPath, shortContainerPath, mvd.ReadOnly, !mvd.AttachOnly); err != nil {
  			svm.hotRemoveVHDsNoLock(mvds[:i]...)
  			return err
  		}
  		svm.attachedVHDs[mvd.HostPath] = &attachedVHD{refCount: 1, attachCounter: svm.attachCounter}
  	}
  	return nil
  }
docs: // hotAddVHDsAtStart works the same way as hotAddVHDs but does not wait for the VM to start.