Changeset 39042 in vbox
- Timestamp:
- Oct 19, 2011 2:55:57 PM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 74462
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/PDMBlkCache.cpp
r39038 r39042 1824 1824 size_t *pcbData) 1825 1825 { 1826 AssertReturn(cb <= UINT32_MAX, NULL);1827 1828 1826 uint64_t offStart = 0; 1829 1827 uint32_t cbEntry = 0; 1830 1828 *pcbData = pdmBlkCacheEntryBoundariesCalc(pBlkCache, off, (uint32_t)cb, uAlignment, 1831 1829 &offStart, &cbEntry); 1830 AssertReturn(cb <= UINT32_MAX, NULL); 1832 1831 1833 1832 PPDMBLKCACHEGLOBAL pCache = pBlkCache->pCache; … … 2182 2181 2183 2182 pEntry = pdmBlkCacheGetCacheEntryByOffset(pBlkCache, off); 2184 2185 2183 if (pEntry) 2186 2184 { … … 2215 2213 /* If it is already dirty but not in progress just update the data. */ 2216 2214 if (!(pEntry->fFlags & PDMBLKCACHE_ENTRY_IO_IN_PROGRESS)) 2217 { 2218 RTSgBufCopyToBuf(&SgBuf, pEntry->pbData + offDiff, 2219 cbToWrite); 2220 } 2215 RTSgBufCopyToBuf(&SgBuf, pEntry->pbData + offDiff, cbToWrite); 2221 2216 else 2222 2217 { … … 2236 2231 * We have to defer processing in that case. 2237 2232 */ 2238 if (pdmBlkCacheEntryFlagIsSetClearAcquireLock(pBlkCache, pEntry,2239 PDMBLKCACHE_ENTRY_IO_IN_PROGRESS,2240 0))2233 if (pdmBlkCacheEntryFlagIsSetClearAcquireLock(pBlkCache, pEntry, 2234 PDMBLKCACHE_ENTRY_IO_IN_PROGRESS, 2235 0)) 2241 2236 { 2242 2237 pdmBlkCacheEntryWaitersAdd(pEntry, pReq,
Note:
See TracChangeset
for help on using the changeset viewer.