VirtualBox

Changeset 43858 in vbox for trunk/src


Ignore:
Timestamp:
Nov 12, 2012 4:14:29 PM (12 years ago)
Author:
vboxsync
Message:

AsyncCompletion: Log if async flushes are disabled and fix endless loop if a request is not aligned to a 512 byte boundary

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp

    r43725 r43858  
    999999                    if (RT_FAILURE(rc))
    10001000                    {
     1001                        LogRel(("AIOMgr: Preparing flush failed with %Rrc, disabling async flushes\n", rc));
    10011002                        pEndpoint->fAsyncFlushSupported = false;
    10021003                        pdmacFileAioMgrNormalRequestFree(pAioMgr, hReq);
     
    13501351        if (pTask->enmTransferType == PDMACTASKFILETRANSFER_FLUSH)
    13511352        {
    1352             LogFlow(("Async flushes are not supported for this endpoint, disabling\n"));
     1353            LogRel(("AIOMgr: Flush failed with %Rrc, disabling async flushes\n", rc));
    13531354            pEndpoint->fAsyncFlushSupported = false;
    13541355            AssertMsg(pEndpoint->pFlushReq == pTask, ("Failed flush request doesn't match active one\n"));
     
    14981499                /* Write it now. */
    14991500                pTask->fPrefetch = false;
    1500                 size_t cbToTransfer = RT_ALIGN_Z(pTask->DataSeg.cbSeg, 512);
    15011501                RTFOFF offStart = pTask->Off & ~(RTFOFF)(512-1);
     1502                size_t cbToTransfer = RT_ALIGN_Z(pTask->DataSeg.cbSeg + (pTask->Off - offStart), 512);
    15021503
    15031504                /* Grow the file if needed. */
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette