Page MenuHomeFreeBSD

bhyve: refactor NVMe IO command handling
ClosedPublic

Authored by chuck on May 18 2020, 1:41 PM.

Details

Summary

This refactors the NVMe I/O command processing function to make adding
new commands easier. The main change is to move command specific
processing (i.e. Read/Write) to separate functions for each NVMe I/O
command and leave the common per-command processing in the existing
pci_nvme_handle_io_cmd() function.

While here, add checks for some common errors (invalid Namespace ID,
invalid opcode, LBA out of range).

Add myself to the Copyright holders

Test Plan

Ran fio and proprietary storage validation tool in a Linux guest

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.