I'm imminently going to merge #966, and when that's in ... the driver-ish morass in FuzzCtz has the same issue as I outlined in #1174: it sets up an NVMe controller and sets up some queues and stuff, but doesn't actually do disk I/O. which means there's no I/O during the random migrations, no I/O during controller resets, a whole bunch of interesting state space is missed.
I think the same idea as #1174 applies here: we can just be a poll-mode driver watching completion queue heads and doing whatever needs doing with completions as stuff changes. bonus: we can spin on doorbell buffer heads and make sure those are reasonable!
I'm imminently going to merge #966, and when that's in ... the driver-ish morass in
FuzzCtzhas the same issue as I outlined in #1174: it sets up an NVMe controller and sets up some queues and stuff, but doesn't actually do disk I/O. which means there's no I/O during the random migrations, no I/O during controller resets, a whole bunch of interesting state space is missed.I think the same idea as #1174 applies here: we can just be a poll-mode driver watching completion queue heads and doing whatever needs doing with completions as stuff changes. bonus: we can spin on doorbell buffer heads and make sure those are reasonable!