Lines Matching refs:nvme_request

569 	nvme_io_request nvme_request;
581 nvme_request.write = operation.IsWrite();
582 nvme_request.lba_start = operation.Offset() / block_size;
583 nvme_request.lba_count = operation.Length() / block_size;
584 nvme_request.iovecs = (physical_entry*)operation.Vecs();
585 nvme_request.iovec_count = operation.VecCount();
587 status = do_nvme_io_request(handle->info, &nvme_request);
630 nvme_io_request nvme_request;
631 memset(&nvme_request, 0, sizeof(nvme_io_request));
633 nvme_request.write = request->IsWrite();
654 nvme_request.iovecs = vtophys = (physical_entry*)malloc(sizeof(physical_entry)
665 uint32 entries = vtophys_length - nvme_request.iovec_count;
669 virt.length, vtophys + nvme_request.iovec_count, &entries);
675 nvme_request.iovecs = vtophys = (physical_entry*)realloc(vtophys,
692 nvme_request.iovec_count += entries;
695 nvme_request.iovecs = (physical_entry*)buffer->Vecs();
696 nvme_request.iovec_count = buffer->VecCount();
702 for (int32 i = 1; !bounceAll && i < (nvme_request.iovec_count - 1); i++) {
703 if ((nvme_request.iovecs[i].address % B_PAGE_SIZE) != 0)
705 if ((nvme_request.iovecs[i].size % B_PAGE_SIZE) != 0)
710 if (nvme_request.iovec_count > 1) {
714 physical_entry* entry = &nvme_request.iovecs[0];
719 entry = &nvme_request.iovecs[nvme_request.iovec_count - 1];
726 physical_entry* entry = &nvme_request.iovecs[0];
743 nvme_request.lba_start = rounded_pos / block_size;
744 nvme_request.lba_count = rounded_len / block_size;
748 if (nvme_request.write)
759 int32 remaining = nvme_request.iovec_count;
761 nvme_request.iovec_count = min_c(remaining,
764 nvme_request.lba_count = 0;
765 for (int i = 0; i < nvme_request.iovec_count; i++) {
766 uint32 new_lba_count = nvme_request.lba_count
767 + (nvme_request.iovecs[i].size / block_size);
768 if (nvme_request.lba_count > 0 && new_lba_count > max_io_blocks) {
771 nvme_request.iovec_count = i;
775 nvme_request.lba_count = new_lba_count;
778 status = do_nvme_io_request(handle->info, &nvme_request);
782 nvme_request.iovecs += nvme_request.iovec_count;
783 remaining -= nvme_request.iovec_count;
784 nvme_request.lba_start += nvme_request.lba_count;
791 (nvme_request.lba_start * block_size) - rounded_pos);