File tree Expand file tree Collapse file tree 2 files changed +6
-2
lines changed
Expand file tree Collapse file tree 2 files changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -100,7 +100,11 @@ func (vm *VirtualMachineDriver) RemoveNCdroms(n int) error {
100100 return fmt .Errorf ("invalid number: n must be between 0 and %d" , len (cdroms ))
101101 }
102102
103- cdroms = cdroms [:n ]
103+ // Remove up to n CD-ROMs from the end of the list.
104+ // For example, removing from the end preserves lower-numbered device slots, which
105+ // prevents IDE controller errors where a slave device exists without a primary
106+ // (master) device.
107+ cdroms = cdroms [len (cdroms )- n :]
104108 if err = vm .RemoveDevice (true , cdroms ... ); err != nil {
105109 return err
106110 }
Original file line number Diff line number Diff line change @@ -289,7 +289,7 @@ func (vm *VirtualMachineMock) RemoveNCdroms(nCdroms int) error {
289289 if nCdroms == 0 {
290290 return nil
291291 }
292- vm .CdromDevicesList = vm .CdromDevicesList [: nCdroms ]
292+ vm .CdromDevicesList = vm .CdromDevicesList [len ( vm . CdromDevicesList ) - nCdroms : ]
293293 return vm .RemoveNCdromsErr
294294}
295295
You can’t perform that action at this time.
0 commit comments