Lines Matching refs:pTestTask

160 static void tstPDMACStressTestFileVerify(PPDMACTESTFILE pTestFile, PPDMACTESTFILETASK pTestTask)
162 size_t cbLeft = pTestTask->DataSeg.cbSeg;
163 RTFOFF off = pTestTask->off;
164 uint8_t *pbBuf = (uint8_t *)pTestTask->DataSeg.pvSeg;
187 pTestTask->off + idx, pTestTask->DataSeg.cbSeg,
198 static void tstPDMACStressTestFileFillBuffer(PPDMACTESTFILE pTestFile, PPDMACTESTFILETASK pTestTask)
200 uint8_t *pbBuf = (uint8_t *)pTestTask->DataSeg.pvSeg;
201 size_t cbLeft = pTestTask->DataSeg.cbSeg;
202 RTFOFF off = pTestTask->off;
204 Assert(pTestTask->fWrite && pTestTask->fActive);
225 static int tstPDMACStressTestFileWrite(PPDMACTESTFILE pTestFile, PPDMACTESTFILETASK pTestTask)
229 Assert(!pTestTask->fActive);
231 pTestTask->fActive = true;
232 pTestTask->fWrite = true;
233 pTestTask->DataSeg.cbSeg = RTRandU32Ex(512, TASK_TRANSFER_SIZE_MAX) & ~511;
240 offMax = (pTestFile->cbFileMax - pTestFile->cbFileCurr) < pTestTask->DataSeg.cbSeg
241 ? pTestFile->cbFileMax - pTestTask->DataSeg.cbSeg
245 offMax = pTestFile->cbFileMax - pTestTask->DataSeg.cbSeg;
260 pTestTask->off = RTRandU64Ex(offMin, offMax) & ~511;
263 if ((uint64_t)pTestTask->off + pTestTask->DataSeg.cbSeg > pTestFile->cbFileCurr)
264 pTestFile->cbFileCurr = pTestTask->off + pTestTask->DataSeg.cbSeg;
271 pTestTask->DataSeg.pvSeg = RTMemAlloc(pTestTask->DataSeg.cbSeg);
272 if (!pTestTask->DataSeg.pvSeg)
276 tstPDMACStressTestFileFillBuffer(pTestFile, pTestTask);
279 rc = PDMR3AsyncCompletionEpWrite(pTestFile->hEndpoint, pTestTask->off,
280 &pTestTask->DataSeg, 1,
281 pTestTask->DataSeg.cbSeg,
282 pTestTask,
283 &pTestTask->hTask);
288 static int tstPDMACStressTestFileRead(PPDMACTESTFILE pTestFile, PPDMACTESTFILETASK pTestTask)
292 Assert(!pTestTask->fActive);
294 pTestTask->fActive = true;
295 pTestTask->fWrite = false;
296 pTestTask->DataSeg.cbSeg = RTRandU32Ex(1, RT_MIN(pTestFile->cbFileCurr, TASK_TRANSFER_SIZE_MAX));
298 AssertMsg(pTestFile->cbFileCurr >= pTestTask->DataSeg.cbSeg, ("Impossible\n"));
299 pTestTask->off = RTRandU64Ex(0, pTestFile->cbFileCurr - pTestTask->DataSeg.cbSeg);
302 pTestTask->DataSeg.pvSeg = RTMemAlloc(pTestTask->DataSeg.cbSeg);
303 if (!pTestTask->DataSeg.pvSeg)
307 rc = PDMR3AsyncCompletionEpRead(pTestFile->hEndpoint, pTestTask->off,
308 &pTestTask->DataSeg, 1,
309 pTestTask->DataSeg.cbSeg,
310 pTestTask,
311 &pTestTask->hTask);
393 PPDMACTESTFILETASK pTestTask = (PPDMACTESTFILETASK)pvUser;
396 if (pTestTask->fWrite)
402 tstPDMACStressTestFileVerify(pTestFile, pTestTask); /* Will assert if it fails */
405 RTMemFree(pTestTask->DataSeg.pvSeg);
406 pTestTask->fActive = false;