Changeset 64099 in vbox for trunk/src/VBox/Main/src-client
- Timestamp:
- Sep 29, 2016 4:07:05 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp
r64098 r64099 4097 4097 fHotplug ? 0 : PDM_TACH_FLAGS_NOT_HOT_PLUG); 4098 4098 else 4099 { 4100 /* 4101 * Don't detach the SCSI driver when unmounting the current medium 4102 * (we are not ripping out the device but only eject the medium). 4103 */ 4104 char *pszDriverDetach = NULL; 4105 if ( !fHotplug 4106 && (enmBus == StorageBus_SATA || enmBus == StorageBus_SAS || enmBus == StorageBus_SCSI)) 4107 { 4108 /* Get the current attached driver we have to detach. */ 4109 PCFGMNODE pDrvLun = CFGMR3GetChildF(pCtlInst, "LUN#%u/AttachedDriver/", uLUN); 4110 if (pDrvLun) 4111 { 4112 char szDriver[128]; 4113 RT_ZERO(szDriver); 4114 rc = CFGMR3QueryString(pDrvLun, "Driver", &szDriver[0], sizeof(szDriver)); 4115 if (RT_SUCCESS(rc)) 4116 pszDriverDetach = RTStrDup(&szDriver[0]); 4117 } 4118 } 4119 4120 rc = PDMR3DriverDetach(pUVM, pcszDevice, uInstance, uLUN, 4121 pszDriverDetach, 0 /* iOccurence */, 4122 fHotplug ? 0 : PDM_TACH_FLAGS_NOT_HOT_PLUG); 4123 if (pszDriverDetach) 4124 RTStrFree(pszDriverDetach); 4125 } 4099 rc = PDMR3DeviceDetach(pUVM, pcszDevice, uInstance, uLUN, fHotplug ? 0 : PDM_TACH_FLAGS_NOT_HOT_PLUG); 4126 4100 if (rc == VERR_PDM_NO_DRIVER_ATTACHED_TO_LUN) 4127 4101 rc = VINF_SUCCESS; … … 4141 4115 mapMediumAttachments[devicePath] = pMediumAtt; 4142 4116 4143 /* 4144 * Insert the SCSI driver for hotplug events the SCSI/USB based sotrage controllers 4145 * or for SATA if the new device is a CD/DVD drive. 4146 */ 4147 if ( fHotplug 4148 && ( (enmBus == StorageBus_SCSI || enmBus == StorageBus_SAS || enmBus == StorageBus_USB) 4149 || (enmBus == StorageBus_SATA && lType == DeviceType_DVD))) 4117 /* SCSI has another driver between device and block. */ 4118 if (enmBus == StorageBus_SCSI || enmBus == StorageBus_SAS || enmBus == StorageBus_USB) 4150 4119 { 4151 4120 InsertConfigString(pLunL0, "Driver", "SCSI");
Note:
See TracChangeset
for help on using the changeset viewer.