Lines Matching defs:request

178 	// devices that do not support multiple LUNs may stall this request
364 // Step 1 : send the SCSI operation as a class specific request
367 USB_REQTYPE_CLASS | USB_REQTYPE_INTERFACE_OUT, 0 /*request*/,
374 // There was an error, we have to do a request sense to reset the device
661 TRACE_ALWAYS("getting request sense data failed: %s\n",
980 // this device reported an illegal request when syncing or repeatedly
1259 usb_disk_needs_bounce(device_lun *lun, io_request *request)
1261 if (!request->Buffer()->IsVirtual())
1263 if ((request->Offset() % lun->block_size) != 0)
1265 if ((request->Length() % lun->block_size) != 0)
1267 if (request->Length() > (lun->block_size * MAX_IO_BLOCKS))
1805 usb_disk_bounced_io(device_lun *lun, io_request *request)
1811 if (!request->Buffer()->IsPhysical()) {
1812 status_t status = request->Buffer()->LockMemory(request->TeamID(), request->IsWrite());
1821 while (request->RemainingBytes() > 0) {
1823 status = dmaResource->TranslateNext(request, &operation, 0);
1829 ", write: %s\n", request, operation.Offset(),
1856 request->OperationFinished(&operation);
1859 TRACE("%p: status %s, remaining bytes %" B_PRIuGENADDR "\n", request,
1860 strerror(status), request->RemainingBytes());
1870 usb_disk_direct_io(device_lun *lun, io_request *request)
1872 generic_io_vec* genericVecs = request->Buffer()->Vecs();
1873 const uint32 count = request->Buffer()->VecCount();
1883 size_t length = request->Length();
1884 const uint64 blockPosition = request->Offset() / lun->block_size;
1888 if (request->IsWrite()) {
1896 request->SetTransferredBytes(length != request->Length(), length);
1902 usb_disk_io(void *cookie, io_request *request)
1904 TRACE("io(%p)\n", request);
1916 if (!usb_disk_needs_bounce(lun, request)) {
1917 status = usb_disk_direct_io(lun, request);
1919 status = usb_disk_bounced_io(lun, request);
1925 if (request->Status() > 0)
1926 request->SetStatusAndNotify(status);
1928 request->NotifyFinished();