Changeset 28693 in vbox
- Timestamp:
- Apr 24, 2010 7:14:43 PM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 60565
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/VBoxHDD.cpp
r28683 r28693 744 744 PVBOXHDD pDisk = pIoCtx->pDisk; 745 745 746 LogFlowFunc(("pIoCtx=%#p\n")); 747 746 748 if ( !pIoCtx->cbTransferLeft 747 && !pIoCtx->cMetaTransfersPending) 749 && !pIoCtx->cMetaTransfersPending 750 && !pIoCtx->pfnIoCtxTransfer) 748 751 return VINF_VD_ASYNC_IO_FINISHED; 749 752 … … 755 758 && RT_SUCCESS(rc)) 756 759 { 760 LogFlowFunc(("calling transfer function %#p\n", pIoCtx->pfnIoCtxTransfer)); 757 761 rc = pIoCtx->pfnIoCtxTransfer(pIoCtx); 758 762 … … 1229 1233 PVDIOCTX pIoCtxParent = pIoCtx->pIoCtxParent; 1230 1234 1235 LogFlowFunc(("pIoCtx=%#p\n", pIoCtx)); 1236 1231 1237 AssertPtr(pIoCtxParent); 1232 1238 Assert(!pIoCtx->cbTransferLeft && !pIoCtx->cMetaTransfersPending); … … 1289 1295 static int vdWriteHelperOptimizedPreReadAsync(PVDIOCTX pIoCtx) 1290 1296 { 1291 pIoCtx->pfnIoCtxTransferNext = vdWriteHelperOptimizedCmpAndWriteAsync; 1292 return vdReadHelperAsync(pIoCtx); 1297 int rc = VINF_SUCCESS; 1298 1299 LogFlowFunc(("pIoCtx=%#p\n", pIoCtx)); 1300 1301 if (pIoCtx->cbTransferLeft) 1302 rc = vdReadHelperAsync(pIoCtx); 1303 1304 if ( RT_SUCCESS(rc) 1305 && ( pIoCtx->cbTransferLeft 1306 || pIoCtx->cMetaTransfersPending)) 1307 rc = VERR_VD_ASYNC_IO_IN_PROGRESS; 1308 else 1309 pIoCtx->pfnIoCtxTransferNext = vdWriteHelperOptimizedCmpAndWriteAsync; 1310 1311 return rc; 1293 1312 } 1294 1313 … … 1311 1330 size_t cbReadImage = 0; 1312 1331 int rc; 1332 1333 LogFlowFunc(("pIoCtx=%#p\n", pIoCtx)); 1313 1334 1314 1335 AssertPtr(pIoCtx->pIoCtxParent); … … 1446 1467 vdIoCtxFree(pDisk, pIoCtxWrite); 1447 1468 1448 Assert(RTListIsEmpty(&pDisk->ListWriteGrowing));1449 1469 rc = VINF_SUCCESS; 1450 1470 }
Note:
See TracChangeset
for help on using the changeset viewer.