Hello,
I've developed this driver as an OSv learning exercise and want to solicit some feedback. It uses only basic capabilities of the NVMe interface and can be improved much further. However, all the basic functionality is in place and it runs IO happily in my QEMU.
I wouldn't consider it production quality yet, so I won't submit it for integration. I would like to people to try it nonetheless. I especially interested in seeing it working with NVMe 1.2 compliant hardware if available.
Instructions to test it under QEMU.
1. build OSv from my nvme branch [1]
2. Run ./scripts/run.py -VE -e "./zpool.so create data /dev/nvme1; ./zpool.so status -v"
scripts/run.py in this branch updated to create NVMe drive when -E flag is used. I also build and run debug image - it spits quite a lot of debug output to the screen.
Have fun !
[1]
https://github.com/imp/osv/tree/nvme