VirtualBox

Ignore:
Timestamp:
Mar 9, 2010 9:05:57 PM (15 years ago)
Author:
vboxsync
Message:

Storage/VBoxHDD+DrvVD: implement framework for providing thread synchronization. Additionally some cleanup to resolve a few minor long-standing todos.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Storage/VmdkHDDCore.cpp

    r26986 r27232  
    55
    66/*
    7  * Copyright (C) 2006-2007 Sun Microsystems, Inc.
     7 * Copyright (C) 2006-2010 Sun Microsystems, Inc.
    88 *
    99 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    587587                                                           : 0,
    588588                                                         NULL,
     589                                                         pImage->pVDIfsDisk,
    589590                                                         &pVmdkFile->pStorage);
    590591        pVmdkFile->fAsyncIO = true;
     
    34873488static int vmdkCreateRegularImage(PVMDKIMAGE pImage, uint64_t cbSize,
    34883489                                  unsigned uImageFlags,
    3489                                   PFNVMPROGRESS pfnProgress, void *pvUser,
     3490                                  PFNVDPROGRESS pfnProgress, void *pvUser,
    34903491                                  unsigned uPercentStart, unsigned uPercentSpan)
    34913492{
     
    36263627                if (pfnProgress)
    36273628                {
    3628                     rc = pfnProgress(NULL /* WARNING! pVM=NULL */,
    3629                                      uPercentStart + uOff * uPercentSpan / cbExtent,
    3630                                      pvUser);
     3629                    rc = pfnProgress(pvUser,
     3630                                     uPercentStart + uOff * uPercentSpan / cbExtent);
    36313631                    if (RT_FAILURE(rc))
    36323632                    {
     
    36953695
    36963696        if (RT_SUCCESS(rc) && pfnProgress)
    3697             pfnProgress(NULL /* WARNING! pVM=NULL */,
    3698                         uPercentStart + i * uPercentSpan / cExtents,
    3699                         pvUser);
     3697            pfnProgress(pvUser, uPercentStart + i * uPercentSpan / cExtents);
    37003698
    37013699        cbRemaining -= cbExtent;
     
    37463744                           PCPDMMEDIAGEOMETRY pPCHSGeometry,
    37473745                           PCPDMMEDIAGEOMETRY pLCHSGeometry, PCRTUUID pUuid,
    3748                            PFNVMPROGRESS pfnProgress, void *pvUser,
     3746                           PFNVDPROGRESS pfnProgress, void *pvUser,
    37493747                           unsigned uPercentStart, unsigned uPercentSpan)
    37503748{
     
    37933791
    37943792    if (RT_SUCCESS(rc) && pfnProgress)
    3795         pfnProgress(NULL /* WARNING! pVM=NULL */,
    3796                     uPercentStart + uPercentSpan * 98 / 100, pvUser);
     3793        pfnProgress(pvUser, uPercentStart + uPercentSpan * 98 / 100);
    37973794
    37983795    pImage->cbSize = cbSize;
     
    38803877
    38813878    if (RT_SUCCESS(rc) && pfnProgress)
    3882         pfnProgress(NULL /* WARNING! pVM=NULL */,
    3883                     uPercentStart + uPercentSpan * 99 / 100, pvUser);
     3879        pfnProgress(pvUser, uPercentStart + uPercentSpan * 99 / 100);
    38843880
    38853881    rc = vmdkFlushImage(pImage);
     
    38873883out:
    38883884    if (RT_SUCCESS(rc) && pfnProgress)
    3889         pfnProgress(NULL /* WARNING! pVM=NULL */,
    3890                     uPercentStart + uPercentSpan, pvUser);
     3885        pfnProgress(pvUser, uPercentStart + uPercentSpan);
    38913886
    38923887    if (RT_FAILURE(rc))
     
    45154510    PVMDKIMAGE pImage;
    45164511
    4517     PFNVMPROGRESS pfnProgress = NULL;
     4512    PFNVDPROGRESS pfnProgress = NULL;
    45184513    void *pvUser = NULL;
    45194514    PVDINTERFACE pIfProgress = VDInterfaceGet(pVDIfsOperation,
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