Re: [LSF/MM?BFP TOPIC] Block-layer device resets

Hannes Reinecke
2026-02-02T23:10:17Z

On 2/2/26 18:27, Bart Van Assche wrote:
> On 2/1/26 9:06 AM, Hannes Reinecke wrote:
>> While we could easily terminate the controller, the specification
>> also requires us to terminate all outstanding commands.
> What specification is the above referring to?
>
> Regarding terminating outstanding commands, doesn't how to do this
> depend on the storage protocol? Isn't the recommended procedure for
> NVMe to delete and re-create all I/O submission and completion queues?
> This procedure doesn't require support in the block layer for aborting
> individual commands.
>
Sure, all drivers/subsystems implement a similar mechanism. But this is
pretty much implementation specific, and typically wrapped into the
device teardown path.
But that typically also involves tearing down and re-creating the device
node which doesn't lend itself for some configurations.

This proposal is to ensure that all I/O is flushed from the device
without having to reconfigure anything; typical use-case would be
when this device is used as a backing device for a nvmet namespace.