Previously, we'd panic if the 'can't fail to complete' commands that
we're polling to complete if they didn't finish after 1 second. This
is not a desirable outcome if you have a system with a lot of nvme
drives. Some may be flakey, and if they are flakey in just the right
way, the entire system can become unavailable (rather than having just
one drive offline). To prevent that, rearrange things so that we can
fail the request, just like we do other commands that might timeout.
These commands already have code to cope with these commands failing,
so we fail the command in a way that this code can be used.