* do_iterative_fd_io_iterate() must check for B_BUFFER_OVERFLOW to handle the
case it has to call the file map translation hook again to fulfill the whole request; it already handled the partial case correctly. * This fixes an occasional "Value too large" error when accesssing fragmented files. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28001 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -206,7 +206,7 @@ do_iterative_fd_io_iterate(void* _cookie, io_request* request,
|
|||||||
uint32 vecCount = kMaxSubRequests;
|
uint32 vecCount = kMaxSubRequests;
|
||||||
status_t error = cookie->get_vecs(cookie->cookie, request, requestOffset,
|
status_t error = cookie->get_vecs(cookie->cookie, request, requestOffset,
|
||||||
requestLength, vecs, &vecCount);
|
requestLength, vecs, &vecCount);
|
||||||
if (error != B_OK)
|
if (error != B_OK && error != B_BUFFER_OVERFLOW)
|
||||||
return error;
|
return error;
|
||||||
if (vecCount == 0) {
|
if (vecCount == 0) {
|
||||||
*_partialTransfer = true;
|
*_partialTransfer = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user