From e1ca73e1f1c7736a786e4a1dd152542ba9c07449 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Sun, 12 Oct 2008 19:14:55 +0000 Subject: [PATCH] * 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 --- src/system/kernel/fs/vfs_request_io.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/system/kernel/fs/vfs_request_io.cpp b/src/system/kernel/fs/vfs_request_io.cpp index 9d9586d3f4..3c865678c5 100644 --- a/src/system/kernel/fs/vfs_request_io.cpp +++ b/src/system/kernel/fs/vfs_request_io.cpp @@ -206,7 +206,7 @@ do_iterative_fd_io_iterate(void* _cookie, io_request* request, uint32 vecCount = kMaxSubRequests; status_t error = cookie->get_vecs(cookie->cookie, request, requestOffset, requestLength, vecs, &vecCount); - if (error != B_OK) + if (error != B_OK && error != B_BUFFER_OVERFLOW) return error; if (vecCount == 0) { *_partialTransfer = true;