Lines Matching defs:request

30 AsyncIOCallback::IORequestCallback(void* data, io_request* request,
138 do_iterative_fd_io_iterate(void* _cookie, io_request* request,
141 TRACE_RIO("[%ld] do_iterative_fd_io_iterate(request: %p)\n",
142 find_thread(NULL), request);
148 request->DeleteSubRequests();
151 size_t requestLength = request->Length()
152 - (requestOffset - request->Offset());
157 status_t error = cookie->get_vecs(cookie->cookie, request, requestOffset,
183 if (request->IsWrite()) {
190 error = request->ClearData(requestOffset, vecLength);
203 error = request->CreateSubRequest(requestOffset, vecOffset,
225 request->Advance(requestOffset - cookie->request_offset);
229 // remained were zeroed sparse file vectors. So the request is done now.
231 ASSERT(request->RemainingBytes() == 0);
232 request->SetStatusAndNotify(B_OK);
237 IORequest* nextSubRequest = request->FirstSubRequest();
240 nextSubRequest = request->NextSubRequest(subRequest);
261 do_iterative_fd_io_finish(void* _cookie, io_request* request, status_t status,
267 cookie->finished(cookie->cookie, request, status, partialTransfer,
274 cookie->next_finished_callback(cookie->next_finished_cookie, request,
286 io_request* request, iterative_io_get_vecs getVecs,
289 IOBuffer* buffer = request->Buffer();
290 VnodeIO io(request->IsWrite(), vnode, openCookie);
294 off_t offset = request->Offset();
295 generic_size_t length = request->Length();
307 error = getVecs(cookie, request, offset, vecLength, fileVecs,
334 size_t bytesTransferred = request->Length() - length;
335 request->SetTransferredBytes(partial, bytesTransferred);
336 finished(cookie, request, error, partial, bytesTransferred);
337 request->SetStatusAndNotify(error);
343 synchronous_io(io_request* request, DoIO& io)
345 TRACE_RIO("[%" B_PRId32 "] synchronous_io(request: %p (offset: %" B_PRIdOFF
346 ", length: %" B_PRIuGENADDR "))\n", find_thread(NULL), request,
347 request->Offset(), request->Length());
349 IOBuffer* buffer = request->Buffer();
353 off_t offset = request->Offset();
354 generic_size_t length = request->Length();
369 request->SetStatusAndNotify(error);
383 request->SetTransferredBytes(length > 0, request->Length() - length);
384 request->SetStatusAndNotify(B_OK);
393 vfs_vnode_io(struct vnode* vnode, void* cookie, io_request* request)
397 || (result = FS_CALL(vnode, io, cookie, request)) == B_UNSUPPORTED) {
399 VnodeIO io(request->IsWrite(), vnode, cookie);
400 return synchronous_io(request, io);
408 vfs_synchronous_io(io_request* request,
412 CallbackIO io(request->IsWrite(), doIO, cookie);
413 return synchronous_io(request, io);
422 IORequest* request = IORequest::Create((flags & B_VIP_IO_REQUEST) != 0);
423 if (request == NULL) {
428 status_t status = request->Init(pos, vecs, count, numBytes, false,
431 delete request;
436 request->SetFinishedCallback(&AsyncIOCallback::IORequestCallback,
439 return vfs_vnode_io(vnode, cookie, request);
448 IORequest* request = IORequest::Create((flags & B_VIP_IO_REQUEST) != 0);
449 if (request == NULL) {
454 status_t status = request->Init(pos, vecs, count, numBytes, true,
457 delete request;
462 request->SetFinishedCallback(&AsyncIOCallback::IORequestCallback,
465 return vfs_vnode_io(vnode, cookie, request);
473 do_fd_io(int fd, io_request* request)
478 request->SetStatusAndNotify(B_FILE_ERROR);
484 return vfs_vnode_io(vnode, descriptor->cookie, request);
489 do_iterative_fd_io(int fd, io_request* request, iterative_io_get_vecs getVecs,
492 TRACE_RIO("[%" B_PRId32 "] do_iterative_fd_io(fd: %d, request: %p "
494 find_thread(NULL), fd, request, request->Offset(), request->Length());
499 finished(cookie, request, B_FILE_ERROR, true, 0);
500 request->SetStatusAndNotify(B_FILE_ERROR);
509 request, getVecs, finished, cookie);
513 = (request->Flags() & B_VIP_IO_REQUEST) != 0
519 request, getVecs, finished, cookie);
527 iterationCookie->request_offset = request->Offset();
528 iterationCookie->next_finished_callback = request->FinishedCallback(
531 request->SetFinishedCallback(&do_iterative_fd_io_finish, iterationCookie);
532 request->SetIterationCallback(&do_iterative_fd_io_iterate, iterationCookie);
538 status_t error = do_iterative_fd_io_iterate(iterationCookie, request,
542 request->SetTransferredBytes(partialTransfer,
543 request->TransferredBytes());
546 request->SetStatusAndNotify(error);