VirtualBox

Changeset 57385 in vbox for trunk/src


Ignore:
Timestamp:
Aug 17, 2015 1:10:28 PM (9 years ago)
Author:
vboxsync
Message:

Storage/VMDK: Fix regression causing RW extents to be opened readonly always causing I/O errors later on

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Storage/VMDK.cpp

    r57358 r57385  
    32503250                case VMDKETYPE_HOSTED_SPARSE:
    32513251                    rc = vmdkFileOpen(pImage, &pExtent->pFile, pExtent->pszFullname,
    3252                                       VDOpenFlagsToFileOpenFlags(uOpenFlags | (pExtent->enmAccess == VMDKACCESS_READONLY) ? VD_OPEN_FLAGS_READONLY : 0,
     3252                                      VDOpenFlagsToFileOpenFlags(uOpenFlags | ((pExtent->enmAccess == VMDKACCESS_READONLY) ? VD_OPEN_FLAGS_READONLY : 0),
    32533253                                                                 false /* fCreate */));
    32543254                    if (RT_FAILURE(rc))
     
    32773277                case VMDKETYPE_FLAT:
    32783278                    rc = vmdkFileOpen(pImage, &pExtent->pFile, pExtent->pszFullname,
    3279                                       VDOpenFlagsToFileOpenFlags(uOpenFlags | (pExtent->enmAccess == VMDKACCESS_READONLY) ? VD_OPEN_FLAGS_READONLY : 0,
     3279                                      VDOpenFlagsToFileOpenFlags(uOpenFlags | ((pExtent->enmAccess == VMDKACCESS_READONLY) ? VD_OPEN_FLAGS_READONLY : 0),
    32803280                                                                 false /* fCreate */));
    32813281                    if (RT_FAILURE(rc))
     
    34033403        /* Open flat image, the raw disk. */
    34043404        rc = vmdkFileOpen(pImage, &pExtent->pFile, pExtent->pszFullname,
    3405                           VDOpenFlagsToFileOpenFlags(pImage->uOpenFlags | (pExtent->enmAccess == VMDKACCESS_READONLY) ? VD_OPEN_FLAGS_READONLY : 0,
     3405                          VDOpenFlagsToFileOpenFlags(pImage->uOpenFlags | ((pExtent->enmAccess == VMDKACCESS_READONLY) ? VD_OPEN_FLAGS_READONLY : 0),
    34063406                                                     false /* fCreate */));
    34073407        if (RT_FAILURE(rc))
     
    35113511                /* Create partition table flat image. */
    35123512                rc = vmdkFileOpen(pImage, &pExtent->pFile, pExtent->pszFullname,
    3513                                   VDOpenFlagsToFileOpenFlags(pImage->uOpenFlags | (pExtent->enmAccess == VMDKACCESS_READONLY) ? VD_OPEN_FLAGS_READONLY : 0,
     3513                                  VDOpenFlagsToFileOpenFlags(pImage->uOpenFlags | ((pExtent->enmAccess == VMDKACCESS_READONLY) ? VD_OPEN_FLAGS_READONLY : 0),
    35143514                                                             true /* fCreate */));
    35153515                if (RT_FAILURE(rc))
     
    35463546                    /* Open flat image, the raw partition. */
    35473547                    rc = vmdkFileOpen(pImage, &pExtent->pFile, pExtent->pszFullname,
    3548                                       VDOpenFlagsToFileOpenFlags(pImage->uOpenFlags | (pExtent->enmAccess == VMDKACCESS_READONLY) ? VD_OPEN_FLAGS_READONLY : 0,
     3548                                      VDOpenFlagsToFileOpenFlags(pImage->uOpenFlags | ((pExtent->enmAccess == VMDKACCESS_READONLY) ? VD_OPEN_FLAGS_READONLY : 0),
    35493549                                                                 false /* fCreate */));
    35503550                    if (RT_FAILURE(rc))
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