* If retrieving the cache line failed, try again using an uncached access. That

should help with the remaining I/O errors with (older) CDs that I see only on
  Haiku. Not yet tested, though.
* Added a bit of debug output to see when/if it's triggered.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40344 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2011-02-01 18:03:28 +00:00
parent 3f8bbbe05a
commit aa06eeb1b9

View File

@ -381,7 +381,14 @@ IOCache::_TransferRequestLine(IORequest* request, off_t lineOffset,
missingPages, false, isVIP); missingPages, false, isVIP);
if (error != B_OK) { if (error != B_OK) {
_DiscardPages(firstMissing - firstPageOffset, missingPages); _DiscardPages(firstMissing - firstPageOffset, missingPages);
return error;
dprintf("IOCache: falling back to uncached transfer, offset %"
B_PRIiOFF ", length %" B_PRIuSIZE "\n", requestOffset,
requestLength);
// Try again using an uncached transfer
return _TransferRequestLineUncached(request, lineOffset,
requestOffset, requestLength);
} }
} }
} }