On 4/3/23 21:56, Bart Van Assche wrote: > On 4/2/23 14:49, Tomas Henzl wrote: >> On 3/31/23 20:48, Bart Van Assche wrote: >>> I'm interested in failing future I/O from inside sd_shutdown() because >>> it would allow me to remove the I/O quiescing code from the UFS driver >>> shutdown callback. >> I'm aware of this, other drivers do have similar code and so it would >> help elsewhere as well. The patch as it is doesn't however ensure that >> there isn't for example an I/O started before sd.shutdown which may >> arrive in a driver after his shutdown has been called. Because of that I >> haven't used this as an argument in the discussion here. > > Has it been considered to call blk_mq_freeze_queue() and > blk_mq_unfreeze_queue() to wait for I/O that started earlier? > > Has it been considered to set QUEUE_FLAG_DYING to make future SCSI > commands fail? See also blk_mq_destroy_queue(). I haven't been considering anything from above. I just had noticed on a system timeouts when in kexec and wanted to have that fixed and for this case it is sufficient when the blocking is only close to 100% (and the patch is simple). I, like you, see the benefit of moving a bit of functionality from LLD to scsi layer but my patch wasn't accepted and I doubt that something more complex could be. > > Thanks, > > Bart. >