Lines Matching defs:pReq

604 static int pdmBlkCacheRequestPassthrough(PPDMBLKCACHE pBlkCache, PPDMBLKCACHEREQ pReq,
613 ASMAtomicIncU32(&pReq->cXfersPending);
615 pIoXfer->pReq = pReq;
1720 PPDMBLKCACHEREQ pReq,
1728 ASMAtomicIncU32(&pReq->cXfersPending);
1729 pWaiter->pReq = pReq;
1856 PPDMBLKCACHEREQ pReq = (PPDMBLKCACHEREQ)RTMemAlloc(sizeof(PDMBLKCACHEREQ));
1858 if (RT_LIKELY(pReq))
1860 pReq->pvUser = pvUser;
1861 pReq->rcReq = VINF_SUCCESS;
1862 pReq->cXfersPending = 0;
1865 return pReq;
1868 static void pdmBlkCacheReqComplete(PPDMBLKCACHE pBlkCache, PPDMBLKCACHEREQ pReq)
1875 pReq->pvUser, pReq->rcReq);
1881 pReq->pvUser, pReq->rcReq);
1887 pReq->pvUser, pReq->rcReq);
1893 pReq->pvUser, pReq->rcReq);
1900 RTMemFree(pReq);
1903 static bool pdmBlkCacheReqUpdate(PPDMBLKCACHE pBlkCache, PPDMBLKCACHEREQ pReq,
1907 ASMAtomicCmpXchgS32(&pReq->rcReq, rcReq, VINF_SUCCESS);
1909 AssertMsg(pReq->cXfersPending > 0, ("No transfers are pending for this request\n"));
1910 uint32_t cXfersPending = ASMAtomicDecU32(&pReq->cXfersPending);
1915 pdmBlkCacheReqComplete(pBlkCache, pReq);
1919 LogFlowFunc(("pReq=%#p cXfersPending=%u\n", pReq, cXfersPending));
1929 PPDMBLKCACHEREQ pReq;
1941 pReq = pdmBlkCacheReqAlloc(pvUser);
1942 if (RT_UNLIKELY(!pReq))
1946 ASMAtomicIncU32(&pReq->cXfersPending);
1999 pdmBlkCacheEntryWaitersAdd(pEntry, pReq,
2043 pdmBlkCacheEntryWaitersAdd(pEntry, pReq,
2062 pdmBlkCacheRequestPassthrough(pBlkCache, pReq,
2085 pdmBlkCacheEntryWaitersAdd(pEntryNew, pReq,
2101 pdmBlkCacheRequestPassthrough(pBlkCache, pReq,
2123 pdmBlkCacheRequestPassthrough(pBlkCache, pReq,
2131 if (!pdmBlkCacheReqUpdate(pBlkCache, pReq, rc, false))
2135 rc = pReq->rcReq;
2136 RTMemFree(pReq);
2150 PPDMBLKCACHEREQ pReq;
2162 pReq = pdmBlkCacheReqAlloc(pvUser);
2163 if (RT_UNLIKELY(!pReq))
2167 ASMAtomicIncU32(&pReq->cXfersPending);
2210 pdmBlkCacheEntryWaitersAdd(pEntry, pReq,
2228 pdmBlkCacheEntryWaitersAdd(pEntry, pReq,
2276 pdmBlkCacheEntryWaitersAdd(pEntry, pReq,
2296 pdmBlkCacheRequestPassthrough(pBlkCache, pReq,
2336 pdmBlkCacheEntryWaitersAdd(pEntryNew, pReq,
2355 pdmBlkCacheRequestPassthrough(pBlkCache, pReq,
2364 if (!pdmBlkCacheReqUpdate(pBlkCache, pReq, rc, false))
2368 rc = pReq->rcReq;
2369 RTMemFree(pReq);
2380 PPDMBLKCACHEREQ pReq;
2391 pReq = pdmBlkCacheReqAlloc(pvUser);
2392 if (RT_UNLIKELY(!pReq))
2395 rc = pdmBlkCacheRequestPassthrough(pBlkCache, pReq, NULL, 0, 0,
2409 PPDMBLKCACHEREQ pReq;
2418 pReq = pdmBlkCacheReqAlloc(pvUser);
2419 if (RT_UNLIKELY(!pReq))
2423 ASMAtomicIncU32(&pReq->cXfersPending);
2476 pdmBlkCacheEntryWaitersAdd(pEntry, pReq,
2497 pdmBlkCacheEntryWaitersAdd(pEntry, pReq,
2545 if (!pdmBlkCacheReqUpdate(pBlkCache, pReq, rc, false))
2549 rc = pReq->rcReq;
2550 RTMemFree(pReq);
2571 PPDMBLKCACHEREQ pReq = pWaiter->pReq;
2573 pdmBlkCacheReqUpdate(pBlkCache, pReq, rc, true);
2684 pdmBlkCacheReqUpdate(pBlkCache, hIoXfer->pReq, rcIoXfer, true);