- Timestamp:
- Aug 23, 2021 8:29:23 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Storage/VD.cpp
r90817 r90818 8400 8400 VBOXDDU_DECL(unsigned) VDGetCount(PVDISK pDisk) 8401 8401 { 8402 unsigned cImages;8403 int rc2;8404 bool fLockRead = false;8405 8406 8402 LogFlowFunc(("pDisk=%#p\n", pDisk)); 8407 do 8408 { 8409 /* sanity check */ 8410 AssertPtrBreakStmt(pDisk, cImages = 0); 8411 AssertMsg(pDisk->u32Signature == VDISK_SIGNATURE, ("u32Signature=%08x\n", pDisk->u32Signature)); 8412 8413 rc2 = vdThreadStartRead(pDisk); 8414 AssertRC(rc2); 8415 fLockRead = true; 8416 8417 cImages = pDisk->cImages; 8418 } while (0); 8419 8420 if (RT_UNLIKELY(fLockRead)) 8421 { 8422 rc2 = vdThreadFinishRead(pDisk); 8423 AssertRC(rc2); 8424 } 8403 8404 /* sanity check */ 8405 AssertPtrReturn(pDisk, 0); 8406 AssertMsg(pDisk->u32Signature == VDISK_SIGNATURE, ("u32Signature=%08x\n", pDisk->u32Signature)); 8407 8408 int rc2 = vdThreadStartRead(pDisk); 8409 AssertRC(rc2); 8410 8411 unsigned cImages = pDisk->cImages; 8412 8413 rc2 = vdThreadFinishRead(pDisk); 8414 AssertRC(rc2); 8425 8415 8426 8416 LogFlowFunc(("returns %u\n", cImages)); … … 8524 8514 VBOXDDU_DECL(uint64_t) VDGetFileSize(PVDISK pDisk, unsigned nImage) 8525 8515 { 8526 uint64_t cbSize;8527 int rc2;8528 8529 8516 LogFlowFunc(("pDisk=%#p nImage=%u\n", pDisk, nImage)); 8530 do 8531 { 8532 /* sanity check */ 8533 AssertPtrBreakStmt(pDisk, cbSize = 0); 8534 AssertMsg(pDisk->u32Signature == VDISK_SIGNATURE, ("u32Signature=%08x\n", pDisk->u32Signature)); 8535 8536 rc2 = vdThreadStartRead(pDisk); 8537 AssertRC(rc2); 8538 8539 PVDIMAGE pImage = vdGetImageByNumber(pDisk, nImage); 8540 AssertPtrBreakStmt(pImage, cbSize = 0); 8517 8518 /* sanity check */ 8519 AssertPtrReturn(pDisk, 0); 8520 AssertMsg(pDisk->u32Signature == VDISK_SIGNATURE, ("u32Signature=%08x\n", pDisk->u32Signature)); 8521 8522 int rc2 = vdThreadStartRead(pDisk); 8523 AssertRC(rc2); 8524 8525 uint64_t cbSize = 0; 8526 PVDIMAGE pImage = vdGetImageByNumber(pDisk, nImage); 8527 AssertPtr(pImage); 8528 if (pImage) 8541 8529 cbSize = pImage->Backend->pfnGetFileSize(pImage->pBackendData); 8542 } while (0);8543 8530 8544 8531 rc2 = vdThreadFinishRead(pDisk); 8545 8532 AssertRC(rc2); 8546 8533 8547 LogFlowFunc(("returns %llu \n", cbSize));8534 LogFlowFunc(("returns %llu (%#RX64)\n", cbSize, cbSize)); 8548 8535 return cbSize; 8549 8536 }
Note:
See TracChangeset
for help on using the changeset viewer.