- Timestamp:
- Oct 14, 2016 8:25:05 AM (8 years ago)
- Location:
- trunk/src/VBox/Storage
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Storage/DMG.cpp
r63905 r64272 717 717 * Swaps endian. 718 718 * @param pCkSum The structure. 719 * @param u32Kind Kind of the checksum (CRC32, none) 720 * @param cBits Size of the checksum in bits. 719 721 */ 720 722 static void dmgSwapEndianUdifCkSum(PDMGUDIFCKSUM pCkSum, uint32_t u32Kind, uint32_t cBits) … … 947 949 * Finds the end tag. 948 950 * 949 * Does not deal with '<tag attr="1"/>'style tags.951 * Does not deal with @verbatim<tag attr="1"/>@endverbatim style tags. 950 952 * 951 953 * @returns Pointer to the first char in the end tag. NULL if another tag … … 1117 1119 * @param pThis The DMG instance data. 1118 1120 * @param pszXml The XML text to parse, UTF-8. 1119 * @param cch The size of the XML text.1120 1121 */ 1121 1122 static const char *dmgOpenXmlToRsrc(PDMGIMAGE pThis, char const *pszXml) … … 1285 1286 * @param pThis The DMG instance data. 1286 1287 * @param pcszRsrcName Name of the resource to get. 1288 * @param ppcRsrc Where to store the pointer to the resource data on success. 1287 1289 */ 1288 1290 static int dmgGetRsrcData(PDMGIMAGE pThis, const char *pcszRsrcName, -
trunk/src/VBox/Storage/ISCSI.cpp
r63905 r64272 1715 1715 * 1716 1716 * @returns VBox status code. 1717 * @param p Image The iSCSI connection state to be used.1717 * @param pvUser The iSCSI connection state to be used as opaque user data. 1718 1718 */ 1719 1719 static DECLCALLBACK(int) iscsiAttach(void *pvUser) … … 1768 1768 * 1769 1769 * @returns VBox status code. 1770 * @param p Image The iSCSI connection state to be used.1770 * @param pvUser The iSCSI connection state to be used as opaque user data. 1771 1771 */ 1772 1772 static DECLCALLBACK(int) iscsiDetach(void *pvUser) … … 2158 2158 * @returns VBOX status 2159 2159 * @param pImage The iSCSI connection state to be used. 2160 * @param itt The initiator task tag. 2160 2161 * @param paRes Pointer to array of iSCSI response sections. 2161 2162 * @param cnRes Number of valid iSCSI response sections in the array. … … 2967 2968 * @param cbBuf Length of the key-value buffer. 2968 2969 * @param pcbBufCurr Currently used portion of the key-value buffer. 2969 * @param p szKeyPointer to a string containing the key.2970 * @param p szValuePointer to either a string containing the value or to a large binary value.2970 * @param pcszKey Pointer to a string containing the key. 2971 * @param pcszValue Pointer to either a string containing the value or to a large binary value. 2971 2972 * @param cbValue Length of the binary value if applicable. 2972 2973 */ … … 3027 3028 * @param pbBuf Buffer containing key=value pairs. 3028 3029 * @param cbBuf Length of buffer with key=value pairs. 3029 * @param p szKeyPointer to key for which to retrieve the value.3030 * @param pp szValuePointer to value string pointer.3030 * @param pcszKey Pointer to key for which to retrieve the value. 3031 * @param ppcszValue Pointer to value string pointer. 3031 3032 */ 3032 3033 static int iscsiTextGetKeyValue(const uint8_t *pbBuf, size_t cbBuf, const char *pcszKey, const char **ppcszValue) … … 3054 3055 * 3055 3056 * @returns VBOX status 3056 * @param p szValuePointer to a string containing the textual value representation.3057 * @param pcszValue Pointer to a string containing the textual value representation. 3057 3058 * @param pbValue Pointer to the value buffer for the binary value. 3058 3059 * @param pcbValue In: length of value buffer, out: actual length of binary value. -
trunk/src/VBox/Storage/QCOW.cpp
r63905 r64272 775 775 * @returns The start offset of the new cluster in the image. 776 776 * @param pImage The image instance data. 777 * @param cC Lusters Number of clusters to allocate.777 * @param cClusters Number of clusters to allocate. 778 778 */ 779 779 DECLINLINE(uint64_t) qcowClusterAllocate(PQCOWIMAGE pImage, uint32_t cClusters) … … 857 857 * @param offTbl The offset the table should be written to. 858 858 * @param paTbl The table to write. 859 * @param cbTbl Size of the table in bytes. 860 * @param cTblEntries Number entries in the table. 859 861 * @param pfnComplete Callback called when the write completes. 860 862 * @param pvUser Opaque user data to pass in the completion callback. -
trunk/src/VBox/Storage/QED.cpp
r63905 r64272 713 713 * @returns The start offset of the new cluster in the image. 714 714 * @param pImage The image instance data. 715 * @param cC Lusters Number of clusters to allocate.715 * @param cClusters Number of clusters to allocate. 716 716 */ 717 717 DECLINLINE(uint64_t) qedClusterAllocate(PQEDIMAGE pImage, uint32_t cClusters) … … 1653 1653 } 1654 1654 1655 /** @copydoc VDIMAGEBACKEND::pfn Write*/1655 /** @copydoc VDIMAGEBACKEND::pfnRead */ 1656 1656 static DECLCALLBACK(int) qedRead(void *pBackendData, uint64_t uOffset, size_t cbToRead, 1657 1657 PVDIOCTX pIoCtx, size_t *pcbActuallyRead) … … 1692 1692 } 1693 1693 1694 /** @copydoc VDIMAGEBACKEND::pfn Read*/1694 /** @copydoc VDIMAGEBACKEND::pfnWrite */ 1695 1695 static DECLCALLBACK(int) qedWrite(void *pBackendData, uint64_t uOffset, size_t cbToWrite, 1696 1696 PVDIOCTX pIoCtx, size_t *pcbWriteProcess, size_t *pcbPreRead, -
trunk/src/VBox/Storage/RAW.cpp
r63905 r64272 515 515 516 516 /** @copydoc VDIMAGEBACKEND::pfnRead */ 517 static DECLCALLBACK(int) rawRead(void *pBackendData, uint64_t uOffset, size_t cb Read,517 static DECLCALLBACK(int) rawRead(void *pBackendData, uint64_t uOffset, size_t cbToRead, 518 518 PVDIOCTX pIoCtx, size_t *pcbActuallyRead) 519 519 { … … 530 530 531 531 rc = vdIfIoIntFileReadUser(pImage->pIfIo, pImage->pStorage, uOffset, 532 pIoCtx, cb Read);532 pIoCtx, cbToRead); 533 533 if (RT_SUCCESS(rc)) 534 534 { 535 *pcbActuallyRead = cb Read;536 pImage->offAccess = uOffset + cb Read;535 *pcbActuallyRead = cbToRead; 536 pImage->offAccess = uOffset + cbToRead; 537 537 } 538 538 … … 541 541 542 542 /** @copydoc VDIMAGEBACKEND::pfnWrite */ 543 static DECLCALLBACK(int) rawWrite(void *pBackendData, uint64_t uOffset, size_t cb Write,543 static DECLCALLBACK(int) rawWrite(void *pBackendData, uint64_t uOffset, size_t cbToWrite, 544 544 PVDIOCTX pIoCtx, size_t *pcbWriteProcess, size_t *pcbPreRead, 545 545 size_t *pcbPostRead, unsigned fWrite) … … 560 560 561 561 rc = vdIfIoIntFileWriteUser(pImage->pIfIo, pImage->pStorage, uOffset, 562 pIoCtx, cb Write, NULL, NULL);562 pIoCtx, cbToWrite, NULL, NULL); 563 563 if (RT_SUCCESS(rc)) 564 564 { 565 *pcbWriteProcess = cb Write;565 *pcbWriteProcess = cbToWrite; 566 566 *pcbPostRead = 0; 567 567 *pcbPreRead = 0; 568 pImage->offAccess = uOffset + cb Write;568 pImage->offAccess = uOffset + cbToWrite; 569 569 } 570 570 -
trunk/src/VBox/Storage/VCICache.cpp
r63905 r64272 447 447 * @param cBlocks The number of blocks the bitmap can manage. 448 448 * @param ppBlkMap Where to store the pointer to the block bitmap. 449 * @param pc bBlkMapWhere to store the size of the block bitmap in blocks449 * @param pcBlkMap Where to store the size of the block bitmap in blocks 450 450 * needed on the disk. 451 451 */ … … 1456 1456 1457 1457 /** @copydoc VDCACHEBACKEND::pfnProbe */ 1458 static DECLCALLBACK(int) vciProbe(const char *pszFilename, PVDINTERFACE pVDIfs Cache,1458 static DECLCALLBACK(int) vciProbe(const char *pszFilename, PVDINTERFACE pVDIfsDisk, 1459 1459 PVDINTERFACE pVDIfsImage) 1460 1460 { 1461 RT_NOREF1(pVDIfs Cache);1461 RT_NOREF1(pVDIfsDisk); 1462 1462 VciHdr Hdr; 1463 1463 PVDIOSTORAGE pStorage = NULL; -
trunk/src/VBox/Storage/VD.cpp
r63905 r64272 3261 3261 * @returns VBox status code. 3262 3262 * @param pDisk VD disk container. 3263 * @param p Discard The discard state.3263 * @param pIoCtx The I/O context associated with this discard operation. 3264 3264 * @param cbDiscardingNew How many bytes should be waiting on success. 3265 3265 * The number of bytes waiting can be less. … … 4502 4502 * @returns VBox status code. 4503 4503 * @param pDisk The disk to unlock. 4504 * @param pIoCtxRc The I/O context to get the status code from, optional. 4504 4505 */ 4505 4506 static int vdDiskUnlock(PVBOXHDD pDisk, PVDIOCTX pIoCtxRc) … … 5974 5975 * @returns VBox status code. 5975 5976 * @param pszBackend The backend name. 5976 * @param pEntr iesPointer to an entry.5977 * @param pEntry Pointer to an entry. 5977 5978 */ 5978 5979 VBOXDDU_DECL(int) VDBackendInfoOne(const char *pszBackend, PVDBACKENDINFO pEntry) … … 6055 6056 * @return VBox status code. 6056 6057 * @param pszFilter The filter name (case insensitive). 6057 * @param pEntr iesPointer to an entry.6058 * @param pEntry Pointer to an entry. 6058 6059 */ 6059 6060 VBOXDDU_DECL(int) VDFilterInfoOne(const char *pszFilter, PVDFILTERINFO pEntry) … … 8178 8179 * read/write behavior in this situation this needs to be extended. 8179 8180 * 8180 * @return 8181 * @ret urnVERR_VD_IMAGE_NOT_FOUND if image with specified number was not opened.8181 * @returns VBox status code. 8182 * @retval VERR_VD_IMAGE_NOT_FOUND if image with specified number was not opened. 8182 8183 * @param pDiskFrom Pointer to source HDD container. 8183 8184 * @param nImage Image number, counts from 0. 0 is always base image of container. … … 8189 8190 * @param fMoveByRename If true, attempt to perform a move by renaming (if successful the new size is ignored). 8190 8191 * @param cbSize New image size (0 means leave unchanged). 8191 * @param nImage SameFromtodo8192 * @param nImage SameTotodo8192 * @param nImageFromSame todo 8193 * @param nImageToSame todo 8193 8194 * @param uImageFlags Flags specifying special destination image features. 8194 8195 * @param pDstUuid New UUID of the destination image. If NULL, a new UUID is created. … … 9313 9314 * 9314 9315 * @returns VBox status code. 9315 * @ret urnsVERR_VD_NOT_OPENED if no image is opened in HDD container.9316 * @retval VERR_VD_NOT_OPENED if no image is opened in HDD container. 9316 9317 * @param pDisk Pointer to HDD container. 9317 9318 * @param uOffset Offset of first reading byte from start of disk. … … 9381 9382 * 9382 9383 * @returns VBox status code. 9383 * @ret urnsVERR_VD_NOT_OPENED if no image is opened in HDD container.9384 * @retval VERR_VD_NOT_OPENED if no image is opened in HDD container. 9384 9385 * @param pDisk Pointer to HDD container. 9385 9386 * @param uOffset Offset of the first byte being … … 9456 9457 * 9457 9458 * @returns VBox status code. 9458 * @ret urnsVERR_VD_NOT_OPENED if no image is opened in HDD container.9459 * @retval VERR_VD_NOT_OPENED if no image is opened in HDD container. 9459 9460 * @param pDisk Pointer to HDD container. 9460 9461 */ … … 10094 10095 * 10095 10096 * @returns VBox status code. 10096 * @ret urnsVERR_VD_IMAGE_NOT_FOUND if image with specified number was not opened.10097 * @retval VERR_VD_IMAGE_NOT_FOUND if image with specified number was not opened. 10097 10098 * @param pDisk Pointer to the HDD container. 10098 10099 * @param nImage Image number, counts from 0. 0 is always base image of container. 10099 * @param p backendInfo Where to store the backend information.10100 * @param pBackendInfo Where to store the backend information. 10100 10101 */ 10101 10102 VBOXDDU_DECL(int) VDBackendInfoSingle(PVBOXHDD pDisk, unsigned nImage, -
trunk/src/VBox/Storage/VDI.cpp
r63905 r64272 327 327 /** 328 328 * Internal: Init VDI header. Always use latest header version. 329 * @param pHeader Assumes it was initially initialized to all zeros. 329 * 330 * @returns nothing. 331 * @param pHeader Assumes it was initially initialized to all zeros. 332 * @param uImageFlags Flags for this image. 333 * @param pszComment Optional comment to set for the image. 334 * @param cbDisk Size of the disk in bytes. 335 * @param cbBlock Size of one block in the image. 336 * @param cbBlockExtra Extra data for one block private to the image. 337 * @param cbDataAlign The alignment for all data structures. 330 338 */ 331 339 static void vdiInitHeader(PVDIHEADER pHeader, uint32_t uImageFlags, … … 1935 1943 } 1936 1944 1937 /** @copydoc VDIMAGEBACKEND::pfn GetComment */1945 /** @copydoc VDIMAGEBACKEND::pfnSetComment */ 1938 1946 static DECLCALLBACK(int) vdiSetComment(void *pBackendData, const char *pszComment) 1939 1947 { -
trunk/src/VBox/Storage/VDIfVfs2.cpp
r62873 r64272 167 167 /** @interface_method_impl{VDINTERFACEIO,pfnOpen} */ 168 168 static DECLCALLBACK(int) vdIfFromVfs_Open(void *pvUser, const char *pszLocation, uint32_t fOpen, 169 PFNVDCOMPLETED pfnCompleted, void **pp Int)169 PFNVDCOMPLETED pfnCompleted, void **ppvStorage) 170 170 { 171 171 RT_NOREF1(pszLocation); … … 175 175 * Validate input. 176 176 */ 177 AssertPtrReturn(pp Int, VERR_INVALID_POINTER);177 AssertPtrReturn(ppvStorage, VERR_INVALID_POINTER); 178 178 AssertPtrNullReturn(pfnCompleted, VERR_INVALID_PARAMETER); 179 179 … … 192 192 pThis->pvCompletedUser = pvUser; 193 193 194 *pp Int= pThis->hVfsIos;194 *ppvStorage = pThis->hVfsIos; 195 195 return VINF_SUCCESS; 196 196 } -
trunk/src/VBox/Storage/VHD.cpp
r63905 r64272 1448 1448 1449 1449 /** @interface_method_impl{VDIMAGEBACKEND,pfnRead} */ 1450 static DECLCALLBACK(int) vhdRead(void *pBackendData, uint64_t uOffset, size_t cb Read,1450 static DECLCALLBACK(int) vhdRead(void *pBackendData, uint64_t uOffset, size_t cbToRead, 1451 1451 PVDIOCTX pIoCtx, size_t *pcbActuallyRead) 1452 1452 { … … 1454 1454 int rc = VINF_SUCCESS; 1455 1455 1456 LogFlowFunc(("pBackendData=%p uOffset=%#llx pIoCtx=%#p cbRead=%u pcbActuallyRead=%p\n", pBackendData, uOffset, pIoCtx, cbRead, pcbActuallyRead)); 1456 LogFlowFunc(("pBackendData=%p uOffset=%#llx pIoCtx=%#p cbToRead=%u pcbActuallyRead=%p\n", 1457 pBackendData, uOffset, pIoCtx, cbToRead, pcbActuallyRead)); 1457 1458 1458 1459 AssertPtr(pImage); 1459 1460 Assert(uOffset % 512 == 0); 1460 Assert(cb Read % 512 == 0);1461 AssertReturn((VALID_PTR(pIoCtx) && cb Read), VERR_INVALID_PARAMETER);1462 AssertReturn(uOffset + cb Read <= pImage->cbSize, VERR_INVALID_PARAMETER);1461 Assert(cbToRead % 512 == 0); 1462 AssertReturn((VALID_PTR(pIoCtx) && cbToRead), VERR_INVALID_PARAMETER); 1463 AssertReturn(uOffset + cbToRead <= pImage->cbSize, VERR_INVALID_PARAMETER); 1463 1464 1464 1465 /* … … 1480 1481 * Clip read range to remain in this data block. 1481 1482 */ 1482 cb Read = RT_MIN(cbRead, (pImage->cbDataBlock - (cBATEntryIndex * VHD_SECTOR_SIZE)));1483 cbToRead = RT_MIN(cbToRead, (pImage->cbDataBlock - (cBATEntryIndex * VHD_SECTOR_SIZE))); 1483 1484 1484 1485 /* … … 1490 1491 { 1491 1492 uVhdOffset = ((uint64_t)pImage->pBlockAllocationTable[cBlockAllocationTableEntry] + pImage->cDataBlockBitmapSectors + cBATEntryIndex) * VHD_SECTOR_SIZE; 1492 LogFlowFunc(("uVhdOffset=%llu cb Read=%u\n", uVhdOffset, cbRead));1493 LogFlowFunc(("uVhdOffset=%llu cbToRead=%u\n", uVhdOffset, cbToRead)); 1493 1494 1494 1495 /* Read in the block's bitmap. */ … … 1514 1515 * must be read from child. 1515 1516 */ 1516 while ( (cSectors < (cb Read / VHD_SECTOR_SIZE))1517 while ( (cSectors < (cbToRead / VHD_SECTOR_SIZE)) 1517 1518 && vhdBlockBitmapSectorContainsData(pImage, cBATEntryIndex)) 1518 1519 { … … 1521 1522 } 1522 1523 1523 cb Read = cSectors * VHD_SECTOR_SIZE;1524 1525 LogFlowFunc(("uVhdOffset=%llu cb Read=%u\n", uVhdOffset, cbRead));1524 cbToRead = cSectors * VHD_SECTOR_SIZE; 1525 1526 LogFlowFunc(("uVhdOffset=%llu cbToRead=%u\n", uVhdOffset, cbToRead)); 1526 1527 rc = vdIfIoIntFileReadUser(pImage->pIfIo, pImage->pStorage, 1527 uVhdOffset, pIoCtx, cb Read);1528 uVhdOffset, pIoCtx, cbToRead); 1528 1529 } 1529 1530 else … … 1540 1541 cSectors = 1; 1541 1542 1542 while ( (cSectors < (cb Read / VHD_SECTOR_SIZE))1543 while ( (cSectors < (cbToRead / VHD_SECTOR_SIZE)) 1543 1544 && !vhdBlockBitmapSectorContainsData(pImage, cBATEntryIndex)) 1544 1545 { … … 1547 1548 } 1548 1549 1549 cb Read = cSectors * VHD_SECTOR_SIZE;1550 LogFunc(("Sectors free: uVhdOffset=%llu cb Read=%u\n", uVhdOffset, cbRead));1550 cbToRead = cSectors * VHD_SECTOR_SIZE; 1551 LogFunc(("Sectors free: uVhdOffset=%llu cbToRead=%u\n", uVhdOffset, cbToRead)); 1551 1552 rc = VERR_VD_BLOCK_FREE; 1552 1553 } … … 1557 1558 } 1558 1559 else 1559 rc = vdIfIoIntFileReadUser(pImage->pIfIo, pImage->pStorage, uOffset, pIoCtx, cb Read);1560 rc = vdIfIoIntFileReadUser(pImage->pIfIo, pImage->pStorage, uOffset, pIoCtx, cbToRead); 1560 1561 1561 1562 if (pcbActuallyRead) 1562 *pcbActuallyRead = cb Read;1563 *pcbActuallyRead = cbToRead; 1563 1564 1564 1565 LogFlowFunc(("returns rc=%Rrc\n", rc)); … … 1567 1568 1568 1569 /** @interface_method_impl{VDIMAGEBACKEND,pfnWrite} */ 1569 static DECLCALLBACK(int) vhdWrite(void *pBackendData, uint64_t uOffset, size_t cb Write,1570 static DECLCALLBACK(int) vhdWrite(void *pBackendData, uint64_t uOffset, size_t cbToWrite, 1570 1571 PVDIOCTX pIoCtx, size_t *pcbWriteProcess, size_t *pcbPreRead, 1571 1572 size_t *pcbPostRead, unsigned fWrite) … … 1574 1575 int rc = VINF_SUCCESS; 1575 1576 1576 LogFlowFunc(("pBackendData=%p uOffset=%llu pIoCtx=%#p cb Write=%u pcbWriteProcess=%p pcbPreRead=%p pcbPostRead=%p fWrite=%u\n",1577 pBackendData, uOffset, pIoCtx, cb Write, pcbWriteProcess, pcbPreRead, pcbPostRead, fWrite));1577 LogFlowFunc(("pBackendData=%p uOffset=%llu pIoCtx=%#p cbToWrite=%u pcbWriteProcess=%p pcbPreRead=%p pcbPostRead=%p fWrite=%u\n", 1578 pBackendData, uOffset, pIoCtx, cbToWrite, pcbWriteProcess, pcbPreRead, pcbPostRead, fWrite)); 1578 1579 1579 1580 AssertPtr(pImage); 1580 1581 Assert(!(uOffset % VHD_SECTOR_SIZE)); 1581 Assert(!(cb Write % VHD_SECTOR_SIZE));1582 AssertReturn((VALID_PTR(pIoCtx) && cb Write), VERR_INVALID_PARAMETER);1583 AssertReturn(uOffset + cb Write <= pImage->cbSize, VERR_INVALID_PARAMETER);1582 Assert(!(cbToWrite % VHD_SECTOR_SIZE)); 1583 AssertReturn((VALID_PTR(pIoCtx) && cbToWrite), VERR_INVALID_PARAMETER); 1584 AssertReturn(uOffset + cbToWrite <= pImage->cbSize, VERR_INVALID_PARAMETER); 1584 1585 1585 1586 if (pImage->pBlockAllocationTable) … … 1596 1597 * Clip write range. 1597 1598 */ 1598 cb Write = RT_MIN(cbWrite, (pImage->cbDataBlock - (cBATEntryIndex * VHD_SECTOR_SIZE)));1599 cbToWrite = RT_MIN(cbToWrite, (pImage->cbDataBlock - (cBATEntryIndex * VHD_SECTOR_SIZE))); 1599 1600 1600 1601 /* … … 1611 1612 /* Check if the block allocation should be suppressed. */ 1612 1613 if ( (fWrite & VD_WRITE_NO_ALLOC) 1613 || (cb Write != pImage->cbDataBlock))1614 || (cbToWrite != pImage->cbDataBlock)) 1614 1615 { 1615 1616 *pcbPreRead = cBATEntryIndex * VHD_SECTOR_SIZE; 1616 *pcbPostRead = pImage->cSectorsPerDataBlock * VHD_SECTOR_SIZE - cb Write - *pcbPreRead;1617 *pcbPostRead = pImage->cSectorsPerDataBlock * VHD_SECTOR_SIZE - cbToWrite - *pcbPreRead; 1617 1618 1618 1619 if (pcbWriteProcess) 1619 *pcbWriteProcess = cb Write;1620 *pcbWriteProcess = cbToWrite; 1620 1621 return VERR_VD_BLOCK_FREE; 1621 1622 } … … 1632 1633 1633 1634 /* Set the bits for all sectors having been written. */ 1634 for (uint32_t iSector = 0; iSector < (cb Write / VHD_SECTOR_SIZE); iSector++)1635 for (uint32_t iSector = 0; iSector < (cbToWrite / VHD_SECTOR_SIZE); iSector++) 1635 1636 { 1636 1637 /* No need to check for a changed value because this is an initial write. */ … … 1669 1670 rc = vdIfIoIntFileWriteUser(pImage->pIfIo, pImage->pStorage, 1670 1671 pImage->uCurrentEndOfFile + (pImage->cDataBlockBitmapSectors + (cSector % pImage->cSectorsPerDataBlock)) * VHD_SECTOR_SIZE, 1671 pIoCtx, cb Write,1672 pIoCtx, cbToWrite, 1672 1673 vhdAsyncExpansionDataComplete, 1673 1674 pExpand); … … 1752 1753 /* Write data. */ 1753 1754 rc = vdIfIoIntFileWriteUser(pImage->pIfIo, pImage->pStorage, 1754 uVhdOffset, pIoCtx, cb Write,1755 uVhdOffset, pIoCtx, cbToWrite, 1755 1756 NULL, NULL); 1756 1757 if (RT_SUCCESS(rc) || rc == VERR_VD_ASYNC_IO_IN_PROGRESS) … … 1759 1760 1760 1761 /* Set the bits for all sectors having been written. */ 1761 for (uint32_t iSector = 0; iSector < (cb Write / VHD_SECTOR_SIZE); iSector++)1762 for (uint32_t iSector = 0; iSector < (cbToWrite / VHD_SECTOR_SIZE); iSector++) 1762 1763 { 1763 1764 fChanged |= vhdBlockBitmapSectorSet(pImage, pImage->pu8Bitmap, cBATEntryIndex); … … 1789 1790 else 1790 1791 rc = vdIfIoIntFileWriteUser(pImage->pIfIo, pImage->pStorage, 1791 uOffset, pIoCtx, cb Write, NULL, NULL);1792 uOffset, pIoCtx, cbToWrite, NULL, NULL); 1792 1793 1793 1794 if (pcbWriteProcess) 1794 *pcbWriteProcess = cb Write;1795 *pcbWriteProcess = cbToWrite; 1795 1796 1796 1797 /* Stay on the safe side. Do not run the risk of confusing the higher -
trunk/src/VBox/Storage/VHDX.cpp
r63905 r64272 79 79 /** Version of the log format. */ 80 80 uint16_t u16LogVersion; 81 /** VHDX format version. .*/81 /** VHDX format version. */ 82 82 uint16_t u16Version; 83 83 /** Length of the log region. */ … … 803 803 * @param paBatEntriesConv Where to store the converted BAT. 804 804 * @param paBatEntries The VHDX BAT to convert. 805 * @param cBatEntries Number of entries in the BAT. 805 806 * 806 807 * @note It is safe to use the same pointer for paBatEntriesConv and paBatEntries. -
trunk/src/VBox/Storage/VMDK.cpp
r63905 r64272 1379 1379 1380 1380 /** 1381 * Unquotes the given string returning the result in a separate buffer. 1382 * 1383 * @returns VBox status code. 1384 * @param pImage The VMDK image state. 1385 * @param pszStr The string to unquote. 1381 1386 * @param ppszUnquoted Where to store the return value, use RTMemTmpFree to 1382 1387 * free. 1388 * @param ppszNext Where to store the pointer to any character following 1389 * the quoted value, optional. 1383 1390 */ 1384 1391 static int vmdkStringUnquote(PVMDKIMAGE pImage, const char *pszStr, … … 1590 1597 1591 1598 /** 1599 * Returns the value of the given key as a string allocating the necessary memory. 1600 * 1601 * @returns VBox status code. 1602 * @retval VERR_VD_VMDK_VALUE_NOT_FOUND if the value could not be found. 1603 * @param pImage The VMDK image state. 1604 * @param pDescriptor The descriptor to fetch the value from. 1605 * @param pszKey The key to get the value from. 1592 1606 * @param ppszValue Where to store the return value, use RTMemTmpFree to 1593 1607 * free. … … 1728 1742 1729 1743 /** 1744 * Returns the value of the given key from the DDB as a string allocating 1745 * the necessary memory. 1746 * 1747 * @returns VBox status code. 1748 * @retval VERR_VD_VMDK_VALUE_NOT_FOUND if the value could not be found. 1749 * @param pImage The VMDK image state. 1750 * @param pDescriptor The descriptor to fetch the value from. 1751 * @param pszKey The key to get the value from. 1730 1752 * @param ppszValue Where to store the return value, use RTMemTmpFree to 1731 1753 * free.
Note:
See TracChangeset
for help on using the changeset viewer.