nvme_disk: Perform the new lba_count computation only once.

As suggested by korli. No functional change.
This commit is contained in:
Augustin Cavalier
2020-05-21 00:40:52 -04:00
parent 3966c60139
commit 550e8532f8
@@ -753,16 +753,16 @@ nvme_disk_io(void* cookie, io_request* request)
nvme_request.lba_count = 0; nvme_request.lba_count = 0;
for (int i = 0; i < nvme_request.iovec_count; i++) { for (int i = 0; i < nvme_request.iovec_count; i++) {
int32 vec_lba_count = (nvme_request.iovecs[i].size / block_size); int32 new_lba_count = nvme_request.lba_count
if (nvme_request.lba_count > 0 + (nvme_request.iovecs[i].size / block_size);
&& (nvme_request.lba_count + vec_lba_count) > max_io_blocks) { if (nvme_request.lba_count > 0 && new_lba_count > max_io_blocks) {
// We already have a nonzero length, and adding this vec would // We already have a nonzero length, and adding this vec would
// make us go over (or we already are over.) Stop adding. // make us go over (or we already are over.) Stop adding.
nvme_request.iovec_count = i; nvme_request.iovec_count = i;
break; break;
} }
nvme_request.lba_count += vec_lba_count; nvme_request.lba_count = new_lba_count;
} }
status = do_nvme_io_request(handle->info, &nvme_request); status = do_nvme_io_request(handle->info, &nvme_request);