Changeset 90819 in vbox for trunk/src/VBox
- Timestamp:
- Aug 23, 2021 8:34:30 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Storage/VD.cpp
r90818 r90819 8540 8540 PVDGEOMETRY pPCHSGeometry) 8541 8541 { 8542 int rc = VINF_SUCCESS;8543 int rc2;8544 8545 8542 LogFlowFunc(("pDisk=%#p nImage=%u pPCHSGeometry=%#p\n", 8546 8543 pDisk, nImage, pPCHSGeometry)); … … 8552 8549 AssertPtrReturn(pPCHSGeometry, VERR_INVALID_POINTER); 8553 8550 8554 do8555 {8556 rc2 = vdThreadStartRead(pDisk); 8557 AssertRC(rc2);8558 8559 PVDIMAGE pImage = vdGetImageByNumber(pDisk, nImage);8560 AssertPtrBreakStmt(pImage, rc = VERR_VD_IMAGE_NOT_FOUND);8561 8551 int rc2 = vdThreadStartRead(pDisk); 8552 AssertRC(rc2); 8553 8554 int rc; 8555 PVDIMAGE pImage = vdGetImageByNumber(pDisk, nImage); 8556 AssertPtr(pImage); 8557 if (pImage) 8558 { 8562 8559 if (pImage == pDisk->pLast) 8563 8560 { 8564 8561 /* Use cached information if possible. */ 8565 8562 if (pDisk->PCHSGeometry.cCylinders != 0) 8563 { 8566 8564 *pPCHSGeometry = pDisk->PCHSGeometry; 8565 rc = VINF_SUCCESS; 8566 } 8567 8567 else 8568 8568 rc = VERR_VD_GEOMETRY_NOT_SET; 8569 8569 } 8570 8570 else 8571 rc = pImage->Backend->pfnGetPCHSGeometry(pImage->pBackendData, 8572 pPCHSGeometry); 8573 } while (0); 8571 rc = pImage->Backend->pfnGetPCHSGeometry(pImage->pBackendData, pPCHSGeometry); 8572 } 8573 else 8574 rc = VERR_VD_IMAGE_NOT_FOUND; 8574 8575 8575 8576 rc2 = vdThreadFinishRead(pDisk); … … 8588 8589 int rc = VINF_SUCCESS; 8589 8590 int rc2; 8590 bool fLockWrite = false;8591 8591 8592 8592 LogFlowFunc(("pDisk=%#p nImage=%u pPCHSGeometry=%#p PCHS=%u/%u/%u\n", … … 8607 8607 rc2 = vdThreadStartWrite(pDisk); 8608 8608 AssertRC(rc2); 8609 fLockWrite = true;8610 8609 8611 8610 PVDIMAGE pImage = vdGetImageByNumber(pDisk, nImage); … … 8664 8663 } while (0); 8665 8664 8666 if (RT_UNLIKELY(fLockWrite)) 8667 { 8668 rc2 = vdThreadFinishWrite(pDisk); 8669 AssertRC(rc2); 8670 } 8665 rc2 = vdThreadFinishWrite(pDisk); 8666 AssertRC(rc2); 8671 8667 8672 8668 LogFlowFunc(("returns %Rrc\n", rc)); … … 8678 8674 PVDGEOMETRY pLCHSGeometry) 8679 8675 { 8680 int rc = VINF_SUCCESS;8681 int rc2;8682 8683 8676 LogFlowFunc(("pDisk=%#p nImage=%u pLCHSGeometry=%#p\n", 8684 8677 pDisk, nImage, pLCHSGeometry)); … … 8690 8683 AssertPtrReturn(pLCHSGeometry, VERR_INVALID_POINTER); 8691 8684 8692 do8693 {8694 rc2 = vdThreadStartRead(pDisk); 8695 AssertRC(rc2);8696 8697 PVDIMAGE pImage = vdGetImageByNumber(pDisk, nImage);8698 AssertPtrBreakStmt(pImage, rc = VERR_VD_IMAGE_NOT_FOUND);8699 8685 int rc2 = vdThreadStartRead(pDisk); 8686 AssertRC(rc2); 8687 8688 int rc = VINF_SUCCESS; 8689 PVDIMAGE pImage = vdGetImageByNumber(pDisk, nImage); 8690 AssertPtr(pImage); 8691 if (pImage) 8692 { 8700 8693 if (pImage == pDisk->pLast) 8701 8694 { … … 8707 8700 } 8708 8701 else 8709 rc = pImage->Backend->pfnGetLCHSGeometry(pImage->pBackendData, 8710 pLCHSGeometry); 8711 } while (0); 8702 rc = pImage->Backend->pfnGetLCHSGeometry(pImage->pBackendData, pLCHSGeometry); 8703 } 8704 else 8705 rc = VERR_VD_IMAGE_NOT_FOUND; 8712 8706 8713 8707 rc2 = vdThreadFinishRead(pDisk); … … 8726 8720 int rc = VINF_SUCCESS; 8727 8721 int rc2; 8728 bool fLockWrite = false;8729 8722 8730 8723 LogFlowFunc(("pDisk=%#p nImage=%u pLCHSGeometry=%#p LCHS=%u/%u/%u\n", … … 8746 8739 rc2 = vdThreadStartWrite(pDisk); 8747 8740 AssertRC(rc2); 8748 fLockWrite = true;8749 8741 8750 8742 PVDIMAGE pImage = vdGetImageByNumber(pDisk, nImage); … … 8803 8795 } while (0); 8804 8796 8805 if (RT_UNLIKELY(fLockWrite)) 8806 { 8807 rc2 = vdThreadFinishWrite(pDisk); 8808 AssertRC(rc2); 8809 } 8797 rc2 = vdThreadFinishWrite(pDisk); 8798 AssertRC(rc2); 8810 8799 8811 8800 LogFlowFunc(("returns %Rrc\n", rc)); … … 8817 8806 PPVDREGIONLIST ppRegionList) 8818 8807 { 8819 int rc = VINF_SUCCESS;8820 int rc2;8821 8822 8808 LogFlowFunc(("pDisk=%#p nImage=%u fFlags=%#x ppRegionList=%#p\n", 8823 8809 pDisk, nImage, fFlags, ppRegionList)); … … 8829 8815 AssertPtrReturn(ppRegionList, VERR_INVALID_POINTER); 8830 8816 8831 do8832 {8833 rc2 = vdThreadStartRead(pDisk); 8834 AssertRC(rc2);8835 8836 PVDIMAGE pImage = vdGetImageByNumber(pDisk, nImage);8837 AssertPtrBreakStmt(pImage, rc = VERR_VD_IMAGE_NOT_FOUND);8838 8817 int rc2 = vdThreadStartRead(pDisk); 8818 AssertRC(rc2); 8819 8820 int rc; 8821 PVDIMAGE pImage = vdGetImageByNumber(pDisk, nImage); 8822 AssertPtr(pImage); 8823 if (pImage) 8824 { 8839 8825 PCVDREGIONLIST pRegionList = NULL; 8840 8826 rc = pImage->Backend->pfnQueryRegions(pImage->pBackendData, &pRegionList); … … 8846 8832 pImage->Backend->pfnRegionListRelease(pImage->pBackendData, pRegionList); 8847 8833 } 8848 } while (0); 8834 } 8835 else 8836 rc = VERR_VD_IMAGE_NOT_FOUND; 8849 8837 8850 8838 rc2 = vdThreadFinishRead(pDisk); … … 8865 8853 unsigned *puVersion) 8866 8854 { 8867 int rc = VINF_SUCCESS;8868 int rc2;8869 8870 8855 LogFlowFunc(("pDisk=%#p nImage=%u puVersion=%#p\n", 8871 8856 pDisk, nImage, puVersion)); … … 8877 8862 AssertPtrReturn(puVersion, VERR_INVALID_POINTER); 8878 8863 8879 do 8880 { 8881 rc2 = vdThreadStartRead(pDisk); 8882 AssertRC(rc2); 8883 8884 PVDIMAGE pImage = vdGetImageByNumber(pDisk, nImage); 8885 AssertPtrBreakStmt(pImage, rc = VERR_VD_IMAGE_NOT_FOUND); 8886 8864 int rc2 = vdThreadStartRead(pDisk); 8865 AssertRC(rc2); 8866 8867 int rc = VINF_SUCCESS; 8868 PVDIMAGE pImage = vdGetImageByNumber(pDisk, nImage); 8869 AssertPtr(pImage); 8870 if (pImage) 8887 8871 *puVersion = pImage->Backend->pfnGetVersion(pImage->pBackendData); 8888 } while (0); 8872 else 8873 rc = VERR_VD_IMAGE_NOT_FOUND; 8889 8874 8890 8875 rc2 = vdThreadFinishRead(pDisk);
Note:
See TracChangeset
for help on using the changeset viewer.