Hi Jianchao, I think that's an additional reason to rewrite NVMe error handling ...Nonesense. Block timeout handling runs in a work queue precicesly so handlers can actually do useful work in line with the notification.
I have to agree with Keith on this one, there is absolutely no reason to force this constraint on the error handler. If we want to teardown stuff to guarantee that we can free the request safely we may very well need to block on queue flushing.