Changeset 97494 in vbox
- Timestamp:
- Nov 10, 2022 1:14:55 PM (2 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/manual/user_ChangeLogImpl.xml
r97492 r97494 104 104 105 105 <listitem> 106 <para>Storage: Fixed I/O errors with the VirtioSCSI controller when the host I/O cache is enabled (bug #19717)</para> 107 </listitem> 108 109 <listitem> 106 110 <para>3D: Fixed VM process crash on macOS with 3D enabled (bug #21232)</para> 107 111 </listitem> -
trunk/src/VBox/Storage/VD.cpp
r96407 r97494 3322 3322 3323 3323 /** 3324 * VD async I/O interface callback for a asynchronous read from the file.3325 */3326 static DECLCALLBACK(int) vdIOReadAsyncFallback(void *pvUser, void *pStorage, uint64_t uOffset,3327 PCRTSGSEG paSegments, size_t cSegments,3328 size_t cbRead, void *pvCompletion,3329 void **ppTask)3330 {3331 RT_NOREF8(pvUser, pStorage, uOffset, paSegments, cSegments, cbRead, pvCompletion, ppTask);3332 AssertFailed();3333 return VERR_NOT_IMPLEMENTED;3334 }3335 3336 /**3337 * VD async I/O interface callback for a asynchronous write to the file.3338 */3339 static DECLCALLBACK(int) vdIOWriteAsyncFallback(void *pvUser, void *pStorage, uint64_t uOffset,3340 PCRTSGSEG paSegments, size_t cSegments,3341 size_t cbWrite, void *pvCompletion,3342 void **ppTask)3343 {3344 RT_NOREF8(pvUser, pStorage, uOffset, paSegments, cSegments, cbWrite, pvCompletion, ppTask);3345 AssertFailed();3346 return VERR_NOT_IMPLEMENTED;3347 }3348 3349 /**3350 * VD async I/O interface callback for a asynchronous flush of the file data.3351 */3352 static DECLCALLBACK(int) vdIOFlushAsyncFallback(void *pvUser, void *pStorage,3353 void *pvCompletion, void **ppTask)3354 {3355 RT_NOREF4(pvUser, pStorage, pvCompletion, ppTask);3356 AssertFailed();3357 return VERR_NOT_IMPLEMENTED;3358 }3359 3360 /**3361 3324 * Internal - Continues an I/O context after 3362 3325 * it was halted because of an active transfer. … … 3996 3959 Assert(cbRead > 0); 3997 3960 3998 if (pIoCtx->fFlags & VDIOCTX_FLAGS_SYNC) 3961 if ( (pIoCtx->fFlags & VDIOCTX_FLAGS_SYNC) 3962 || !pVDIo->pInterfaceIo->pfnReadAsync) 3999 3963 { 4000 3964 RTSGSEG Seg; … … 4094 4058 Assert(cbWrite > 0); 4095 4059 4096 if (pIoCtx->fFlags & VDIOCTX_FLAGS_SYNC) 4060 if ( (pIoCtx->fFlags & VDIOCTX_FLAGS_SYNC) 4061 || !pVDIo->pInterfaceIo->pfnWriteAsync) 4097 4062 { 4098 4063 RTSGSEG Seg; … … 4204 4169 4205 4170 if ( !pIoCtx 4206 || pIoCtx->fFlags & VDIOCTX_FLAGS_SYNC) 4171 || pIoCtx->fFlags & VDIOCTX_FLAGS_SYNC 4172 || !pVDIo->pInterfaceIo->pfnReadAsync) 4207 4173 { 4208 4174 /* Handle synchronous metadata I/O. */ … … 4326 4292 4327 4293 if ( !pIoCtx 4328 || pIoCtx->fFlags & VDIOCTX_FLAGS_SYNC) 4294 || pIoCtx->fFlags & VDIOCTX_FLAGS_SYNC 4295 || !pVDIo->pInterfaceIo->pfnWriteAsync) 4329 4296 { 4330 4297 /* Handle synchronous metadata I/O. */ … … 4519 4486 4520 4487 if ( !pIoCtx 4521 || pIoCtx->fFlags & VDIOCTX_FLAGS_SYNC) 4488 || pIoCtx->fFlags & VDIOCTX_FLAGS_SYNC 4489 || !pVDIo->pInterfaceIo->pfnFlushAsync) 4522 4490 { 4523 4491 /* Handle synchronous flushes. */ … … 4983 4951 pIfIo->pfnWriteSync = vdIOWriteSyncFallback; 4984 4952 pIfIo->pfnFlushSync = vdIOFlushSyncFallback; 4985 pIfIo->pfnReadAsync = vdIOReadAsyncFallback;4986 pIfIo->pfnWriteAsync = vdIOWriteAsyncFallback;4987 pIfIo->pfnFlushAsync = vdIOFlushAsyncFallback;4953 pIfIo->pfnReadAsync = NULL; 4954 pIfIo->pfnWriteAsync = NULL; 4955 pIfIo->pfnFlushAsync = NULL; 4988 4956 } 4989 4957
Note:
See TracChangeset
for help on using the changeset viewer.